Hvad er det modsatte af Udelad i TypeScript?

Hvad Er Det Modsatte Af Udelad I Typescript



Når kun visse egenskaber af grænsefladen er nødvendige for udførelsesprocessen, bliver de uønskede egenskaber hovedårsagen til lav ydeevne, da disse nu kun optager plads. I JavaScript er der ingen måde at udelukke uønskede egenskaber for grænsefladen på tidspunktet for udførelse. Heldigvis! Dette svage punkt eller use case håndteres af TypeScript, da det giver 'Udelad' og 'Vælg' typer hjælpeprogrammer, som hjælper meget med at vælge kun specifikke egenskaber.

Denne blog vil forklare udeladelsestypen og dens modsætning i TypeScript ved at dække disse sektioner:







  • Hvad er Udelad type i TypeScript?
  • Hvad er det modsatte af Udelad type i TypeScript?

Hvad er Udelad type i TypeScript?

TypeScript 'Udelade' type genererer en ny grænseflade fra den medfølgende '' og springer over eller udelukker de egenskaber, der er angivet som 'Nøgle' . Den tager og håndterer værdier for alle resterende egenskaber og accepterer ikke værdier for de egenskaber, der videregives som 'Nøgle' . Enkelt sagt 'Udelade' Type udelukker de egenskaber, der er videregivet som 'Nøgle', og de resterende egenskaber forbliver de samme.



Syntaks
Syntaksen for Udelad type i TypeScript er angivet nedenfor:



Udelade < demoType, Nøgle1 | nøgle 2 >

Hvor 'demoType' er grænsefladen, hvis 'nøgle1' og 'nøgle 2' ejendomme vil blive tilføjet til en ny 'type' der genereres via 'Udelade' .





Et eksempel til at forstå 'Udelade' type er angivet nedenfor:

type linuxhintType = {
fNavn: streng;
lNavn: streng;
alder: antal;
}

type newType = Udelad;

const specifik: newType = {
f Navn: 'John' ,
l Navn: 'Doe'
} ;

console.log ( specific.age, specific.fName ) ;

Forklaring af ovenstående kode:



  • For det første 'type' som hedder “linuxhintType” er defineret, som indeholder flere navngivne egenskaber 'fName' , 'lnavn' , og 'alder' i det.
  • Dernæst 'Udelade' type bruges som tager “linuxhintType” som det første argument og en nøgle til 'alder' . Denne udeladelse henter alle egenskaber fra “linuxhintType” og udelukker kun egenskaben 'alder'.
  • De hentede egenskaber via typen 'Udelad' gemmes i en ny 'type' som hedder 'ny type' .
  • Derefter oprettes den nye variabel med typen annotation af 'ny type' og værdierne for de resterende egenskaber indstilles.
  • Derefter hentes de resterende og ekskluderede egenskaber ved hjælp af en ny variabel og vises på konsolvinduet til verifikation.

Efter kompileringen ser konsolvinduet sådan ud:

Konsolvinduets snapshot viser, at der er genereret en typefejl under adgang til de ekskluderede 'alder' ejendom. For yderligere forklaring på 'Udelad'-typen kan du besøge vores tilknyttede artikel

Hvad er det modsatte af Udelad type i TypeScript?

I TypeScript er det modsatte af 'Udelade' er 'Plukke' type. Denne type vælger eller vælger de specifikke egenskaber, som vil være tilgængelige, og alle resterende egenskaber, der ikke er valgt, bliver ekskluderet. Det vil sige helt modsat 'Udelade' type. Det tager de samme to argumenter af 'Type' og 'Nøgle' hvor 'Type' er grænsefladen eller klassen, hvis 'Nøgle' ejendomme er medtaget, og de resterende er undtaget. Ved flere ejendomme adskilles hver ejendom ved udnyttelse af 'Union' operatør '|'.

Syntaks
Syntaksen for Pick Type i TypeScript er angivet nedenfor:

Plukke < demoType, Nøgle1 | Nøgle 2 | nøgle 3 >

Hvor, 'demoType' er grænsefladen, klassen eller typen, hvis 'Nøgle 1' , 'Nøgle 2' , og 'Nøgle 3' ejendomme udvælges.

Lad os nu gennemgå et eksempel for bedre afklaring.

Eksempel: Valg af specifikke egenskaber

I dette tilfælde vælges de specifikke egenskaber fra grænsefladen eller klassen ved hjælp af 'Pick'-typen, og de resterende egenskaber udelukkes totalt, som vist nedenfor:

interface linuxhintInter {
fNavn: streng;
lNavn: streng;
alder: antal;
}
type newType = Vælg;
const specifik: newType = {
f Navn: 'John' ,
l Navn: 'due' , alder: 3. 4 } ;

Forklaring af ovenstående kode:

  • Først grænsefladen 'linuxhintInter' er oprettet med tre navngivne egenskaber 'fName' , 'lnavn' , og 'alder' .
  • Dernæst 'Plukke' type bruges, der tager grænsefladen som den første parameter, og 'alder' og 'fName' som den anden parameter adskilt af EU-operatøren '|' .
  • Det her 'Plukke' type definerer en ny type navngivet 'ny type' der kun omfatter 'alder' og 'fName' ejendomme og udelukker alle resterende ejendomme, dvs. 'lnavn' .
  • Indstil nu dette 'ny type' som en type for en 'specifik' variabel og prøv at ændre alle grænsefladeegenskaber. Dette vil fremkalde en fejl, fordi kun specifikke egenskaber er tilgængelige.

Efter kompilering ser konsolvinduet sådan ud:

Ovenstående snapshot viser forekomsten af ​​fejl, fordi programmet ændrer egenskaben, som ikke er inkluderet eller ikke tilgængelig i den valgte type.

Du har lært om typen, der virker i modsætning til udeladelsen i TypeScript.

Konklusion

Det modsatte af 'Udelade' type i TypeScript er 'Plukke' type, som genererer en ny type, der kun inkluderer den angivne egenskab og udelukker alle resterende egenskaber i hovedgrænsefladen. Mens 'Udelade' type i TypeScript, genererede også nye typer, men udelukker alle de angivne egenskaber og accepterer eller inkluderer de resterende egenskaber. Denne artikel har demonstreret det modsatte af Udelad type i TypeScript.