Wat is het tegenovergestelde van weglaten in TypeScript?

Wat Is Het Tegenovergestelde Van Weglaten In Typescript



Wanneer alleen bepaalde eigenschappen van de interface nodig zijn voor het uitvoeringsproces, worden de niet-vereiste eigenschappen de belangrijkste oorzaak van lage prestaties, omdat deze nu alleen maar ruimte in beslag nemen. In JavaScript is er geen manier om onnodige eigenschappen van de interface uit te sluiten op het moment van uitvoering. Gelukkig! Dit zwakke punt of gebruiksscenario wordt afgehandeld door TypeScript omdat het hulpprogramma's van het type 'Omit' en 'Pick' biedt, wat veel helpt bij het selecteren van alleen specifieke eigenschappen.

In deze blog wordt het weglatingstype en het tegenovergestelde ervan in TypeScript uitgelegd door deze secties te behandelen:







  • Wat is weggelaten type in TypeScript?
  • Wat is het tegenovergestelde van Type weglaten in TypeScript?

Wat is weggelaten type in TypeScript?

Het typoscript 'Weglaten' type genereert een nieuwe interface van het opgegeven bestand “” en slaat de eigenschappen over die worden opgegeven als 'Sleutel' . Het neemt en verwerkt waarden voor alle overige eigenschappen en accepteert geen waarden voor de eigenschappen die worden doorgegeven als 'Sleutel' . In eenvoudige bewoordingen: de 'Weglaten' Type sluit de eigenschappen uit die worden doorgegeven als “Sleutel” en de overige eigenschappen blijven hetzelfde.



Syntaxis
De syntaxis voor het weglaten van type in TypeScript wordt hieronder vermeld:



Weglaten < demoType, Sleutel1 | sleutel2 >

Waar “demoType” is de interface waarvan 'sleutel1' En “sleutel2” eigenschappen worden toegevoegd aan een nieuw 'type' die wordt gegenereerd via 'Weglaten' .





Een voorbeeld om het te begrijpen 'Weglaten' soort staat hieronder vermeld:

type linuxhintType = {
fNaam: tekenreeks;
lNaam: tekenreeks;
leeftijd: aantal;
}

type newType = Weglaten;

const specifiek: newType = {
fNaam: 'John' ,
lNaam: 'Doe'
} ;

console.log ( specifiek.leeftijd, specifiek.fName ) ;

Verklaring van de bovenstaande code:



  • Eerst de 'type' genaamd “linuxhintType” is gedefinieerd, die meerdere genoemde eigenschappen bevat “fNaam” , “lNaam” , En 'leeftijd' in het.
  • Vervolgens de 'Weglaten' type wordt gebruikt dat duurt “linuxhintType” als het eerste argument en een sleutel van 'leeftijd' . Met deze weglating worden alle eigenschappen opgehaald “linuxhintType” en sluit alleen de eigenschap 'leeftijd' uit.
  • De via het type “Omit” opgehaalde eigenschappen worden opgeslagen in een nieuw 'type' genaamd 'nieuw type' .
  • Vervolgens wordt de nieuwe variabele gemaakt met typeannotatie van 'nieuw type' en de waarden voor de overige eigenschappen worden ingesteld.
  • Daarna worden met behulp van een nieuwe variabele de resterende en uitgesloten eigenschappen opgehaald en ter verificatie in het consolevenster weergegeven.

Na de compilatie ziet het consolevenster er als volgt uit:

De momentopname van het consolevenster laat zien dat er een typefout is gegenereerd tijdens het openen van het uitgesloten bestand 'leeftijd' eigendom. Voor meer uitleg over het type “weglaten” kunt u terecht bij onze bijbehorende artikel

Wat is het tegenovergestelde van Type weglaten in TypeScript?

In TypeScript is het tegenovergestelde van de 'Weglaten' is de “Kies” type. Dit type selecteert of kiest de specifieke eigenschappen die beschikbaar zullen zijn en alle resterende eigenschappen die niet worden gekozen, worden uitgesloten. Dat wil zeggen: volkomen tegengesteld aan de 'Weglaten' type. Er zijn dezelfde twee argumenten nodig 'Type' En 'Sleutel' waar 'Type' is de interface of klasse waarvan 'Sleutel' eigendommen zijn inbegrepen en de overige zijn uitgesloten. In het geval van meerdere eigendommen wordt elk eigendom gescheiden door het gebruik van 'Unie' exploitant “|”.

Syntaxis
De syntaxis voor Pick Type in TypeScript wordt hieronder vermeld:

Kies < demoType, Sleutel1 | Sleutel2 | sleutel3 >

Waar, “demoType” is de interface, klasse of type waarvan 'Sleutel1' , “Sleutel2” , En “Sleutel3” eigenschappen worden gekozen.

Laten we nu een voorbeeld bekijken voor een betere verduidelijking.

Voorbeeld: specifieke eigenschappen selecteren

In dit geval worden de specifieke eigenschappen van de interface of klasse geselecteerd met behulp van het type “Kiesen” en worden de overige eigenschappen volledig uitgesloten, zoals hieronder weergegeven:

interface linuxhintInter {
fNaam: tekenreeks;
lNaam: tekenreeks;
leeftijd: aantal;
}
type newType = Kiezen;
const specifiek: newType = {
fNaam: 'John' ,
lNaam: 'hindoe' , leeftijd: 3. 4 } ;

Verklaring van de bovenstaande code:

  • Ten eerste de interface 'linuxhintInter' is gemaakt met drie eigenschappen genaamd “fNaam” , “lNaam” , En 'leeftijd' .
  • Vervolgens de “Kies” type wordt gebruikt dat de interface als eerste parameter gebruikt, en 'leeftijd' En “fNaam” als de tweede parameter, gescheiden door de Union-operator “|” .
  • Dit “Kies” type definieert een nieuw type met de naam 'nieuw type' dat omvat alleen 'leeftijd' En “fNaam” eigenschappen en sluit alle overige eigenschappen uit, d.w.z. “lNaam” .
  • Stel dit nu in 'nieuw type' als type voor een “specifieke” variabele en probeer alle interface-eigenschappen te wijzigen. Dit veroorzaakt een fout omdat alleen specifieke eigenschappen beschikbaar zijn.

Na compilatie ziet het consolevenster er als volgt uit:

De bovenstaande momentopname toont het optreden van een fout omdat het programma de eigenschap wijzigt die niet is opgenomen of niet beschikbaar is in het geselecteerde type.

Je hebt geleerd over het type dat in het tegenovergestelde werkt van het weglaten in TypeScript.

Conclusie

Het tegenovergestelde van de 'Weglaten' type in TypeScript is de “Kies” type, dat een nieuw type genereert dat alleen de opgegeven eigenschap bevat en alle overige eigenschappen van de hoofdinterface uitsluit. Terwijl de 'Weglaten' type in TypeScript, genereert ook nieuwe typen, maar sluit alle opgegeven eigenschappen uit en accepteert of neemt de overige eigenschappen op. Dit artikel heeft het tegenovergestelde aangetoond van het weglaten van type in TypeScript.