Hvad er TypeScript Interface vs Type?

Hvad Er Typescript Interface Vs Type



TypeScript understøtter brugerdefinerede typer, som kan defineres ved at bruge enten ' interface ' eller ' type '. En grænseflade kan implementeres af en klasse eller et objekt, hvorimod et typealias kun kan bruges til at skabe et nyt navn til en eksisterende type eller til at definere en forening af typer. Selvom typer og grænseflader ofte er udskiftelige, er der visse forskelle i deres funktionalitet og syntaks, der gør dem mere passende til bestemte scenarier.

Denne blog vil beskrive TypeScript-grænsefladen og typen og deres forskel.







Hvad er TypeScript Interface vs Type?

Interface ' og ' type ” bruges til at definere brugerdefinerede typer i TypeScript. Men der er nogle forskelle i deres funktionalitet og syntaks. Hovedforskellen mellem en grænseflade og en type er, at en grænseflade definerer en ny type, mens et typealias ikke gør det.



En grænseflade kan implementeres af en klasse eller et objekt, mens typer kan definere mere komplekse typer ved hjælp af funktioner som fagforeninger og skæringspunkter. Generelt bruges grænseflader mere almindeligt til at definere objektformer og API'er, mens typer er mere almindeligt brugt til at definere komplekse datatyper og hjælpetyper. Lad os forstå begge disse separat.



Hvad er en TypeScript-grænseflade?

En TypeScript-grænseflade er en teknik til at definere formen på et TypeScript-objekt. Det er oprettet ved hjælp af søgeordet ' interface ” og den specificerer et sæt attributter og metoder, som et objekt kræver for at blive klassificeret som af den type. Det svarer til en klasse i objektorienteret programmering; den definerer dog ikke nogen implementering. Grænseflader bruges hovedsageligt til typekontrol og sikring af, at et objekt er i overensstemmelse med en bestemt struktur.





Før du fortsætter, skal du huske på, at for at udføre en TypeScript-fil, skal den transpileres til en JavaScript-fil og derefter køre JavaScript-koden på terminalen ved hjælp af de givne kommandoer:

tsc filnavn.ts
node filnavn.js


Eksempel



Opret en grænseflade med navnet 'Bruger', der definerer tre attributter og en metode ' få information() ”:

interface bruger {
fornavn: streng;
efternavn: streng;
alder: antal;
få information ( ) : ugyldig;
}


Opret en klasse ' Studerende ”, der er nedarvet med en grænseflade. Klassen definerer dens attributter, en konstruktør, der vil tildele værdierne til attributterne, og en metode 'getInfo()', der viser værdierne i forhold til attributterne:

klasse Elev implementerer Bruger {
fornavn: streng;
efternavn: streng;
alder: antal;

konstruktør ( fornavn: streng, efternavn: streng, alder: nummer ) {
dette.fornavn = fornavn;
dette.efternavn = efternavn;
denne.alder = alder;
}
få information ( ) : ugyldig {
console.log ( 'Studentinformation:' )
console.log ( '- Navn: ' + dette.fornavn + ' ' + dette.efternavn ) ;
console.log ( '- Alder: ' + denne.alder ) ;
}
}


Opret et objekt af ' Studerende ' som hedder ' std ' af ' Bruger ” skriv ved at kalde konstruktøren med nøgleordet “ny” og kald derefter getInfo()-metoden for at udskrive dataene på konsollen:

const std: Bruger = ny elev ( 'Flagermus' , 'Steve' , 17 ) ;
std.getInfo ( ) ;


Produktion

Hvad er en TypeScript-type?

TypeScript-typer bruges for det meste til at skabe aliaser for eksisterende typer såvel som til at skabe mere komplicerede typer. Det repræsenterer en bestemt form eller struktur af data. Det kan defineres/deklareres med ' type ” nøgleord. TypeScripts typer kan bruges til at gøre kode mere forståelig og reducere gentagelse/duplikering.

Eksempel

Først skal du definere en type ' Bruger ' bruger ' type ' søgeord angivet med fem egenskaber, en af ​​dem er en valgfri attribut, der er ' telefon ”:

type Bruger = {
fornavn: streng;
efternavn: streng;
alder: antal;
email: streng;
telefon?: streng;
} ;


Definer en funktion ved navn ' getFuldt Navn ', som tager en parameter af typen ' Bruger ” og udskriver data, der består af personens oplysninger, herunder ” navn ', ' alder ', ' e-mail ' og ' telefonnummer ”:

fungere få information ( person: Bruger ) : ugyldig {
console.log ( 'Brugeroplysninger:' )
console.log ( '- Navn: ' + person.fornavn + ' ' + person.efternavn ) ;
console.log ( '- Alder: ' + person.alder ) ;
console.log ( '- E-mail: ' + person.e-mail ) ;
console.log ( '-Telefon #: ' + person.telefon ) ;
}


Opret nu et objekt ' person ' af typen ' Bruger ” med nøgleværdi-par:

const person: Bruger = {
fornavn: 'Mily' ,
efternavn: 'Micheal' ,
alder: 28 ,
e-mail: 'mili124@yahoo.com' ,
telefon: '086-34581734'
} ;


Udskriv til sidst brugeroplysningerne ved at kalde funktionen getInfo():

console.log ( få information ( person ) ) ;


Produktion


Det handlede om TypeScript-grænsefladen og typen.

Konklusion

I TypeScript, ' interface ' og ' type ' bruges til at definere brugerdefinerede typer. En grænseflade kan implementeres af en klasse eller et objekt, mens typer kan definere mere komplekse typer ved hjælp af funktioner som fagforeninger og skæringspunkter. Dette er de kraftfulde funktioner, der kan hjælpe med at skrive mere organiseret og skalerbar kode. Denne blog beskrev TypeScript-grænsefladen og typen og deres forskel.