GrundtypenWeitere Typen werden in ts unterstützt let age: Zahl = 10 // Zahl let firstName: string = "Vorname" // String let Nachname: string = "Nachname" // String let isMary: boolean = true // boolean let unde: undefiniert = undefiniert // undefiniert let nu: null = null // null
Bei der Wertezuweisung muss man sich an den definierten Datentyp halten, sonst kommt es zu folgender Fehlermeldung
jeder TypManchmal können wir den Typ einer Variable nicht bestimmen. Wir können sie als beliebige Wenn wir einem beliebigen Typ einen Wert zuweisen, können wir ihm jeden beliebigen Wert zuweisen, ohne dass ein Fehler gemeldet wird. let isAny:any='jeder Typ beliebig' istAny=520 istAny=true istAny=null
Eigenschaften jeglicher Art
let userName: any = "Benutzername"; // Sie können auf jede Eigenschaft zugreifen console.log(userName.name); console.log(Benutzername.Name.Vorname); // Sie können jede Methode aufrufen userName.setName('David'); Benutzername.setName('David').sayHello(); BenutzerName.name.setFirstName('David'); ArraysWir können den Typ der Elemente im Array angeben let ages: Zahl[] = [5, 20, 13, 14] let-Namen: Zeichenfolge[] = ['Liang Chen', 'Luffy', 'Ming Shiyin', 'Li Yangyong'] Array-ähnlich: Klassenarrays verfügen nicht über die Methoden, die Arrays haben. Tsc kann die beiden automatisch identifizieren. let Argumente = [555,555,55] Funktion lei(){ let arr:Anzahl=Argumente } TupelIm Grunde ähnlich einem Array, aber der Typ kann mehrere sein let arr:[Zahl,Zeichenfolge,Boolescher Wert]=[520,'Wert',true] Beim Zuweisen von Werten müssen wir die Reihenfolge der Typen einhalten. Mehr Elemente sind besser als weniger let arr:[Zahl,Zeichenfolge,Boolescher Wert]=[520,'Wert',true] arr.push('b') // OK arr.push(4) // OK arr.push(true) // OK console.log(arr) let arr:[Zahl,Zeichenfolge]=[520,'Zeichenfolge'] arr.push('b') // OK arr.push(4) // OK arr.push(true) // Nein console.log(arr) Schnittstelle
Wirkung:
Schnittstellenpunkt Benutzername:Zeichenfolge|Zahl Passwort:Nummer } // Zu diesem Zeitpunkt analysiert die Ausführung von tsc den entsprechenden js-Code nicht, da dieser Typ für ts eindeutig ist und nur Einschränkungen anzeigt Schnittstellenpunkt Benutzername:Zeichenfolge|Zahl Passwort:Nummer } let-Wert:Punkt={ Benutzername: '[email protected]', Passwort:123456 } let val:Punkt={ Benutzername:55555, Passwort:123456 } // Zu diesem Zeitpunkt sind beide erfüllt und tsc wird ausgeführt // Es erscheint nur der folgende Code, ohne jegliche Einschränkungen js var Wert = { Benutzername: '[email protected]', Passwort: 123456 }; var val = { Benutzername: 55555, Passwort: 123456 }; Optionale Attribute Beim Erstellen einer Variablen vom Schnittstellentyp „IPerson“ müssen die in der Schnittstelle deklarierten Attribute auch bei der Zuweisung eines Werts an die Variable vorhanden sein, da andernfalls ein Fehler gemeldet wird. Wir können eine Eigenschaft jedoch als optional festlegen und beim Erstellen einer Variablen einen Wert zuweisen Schnittstellenpunkt Benutzername:Zeichenfolge|Nummer Passwort:Nummer, E-Mail?:Zeichenfolge } let-Wert:Punkt={ Benutzername: '[email protected]', Passwort:123456 } let val:Punkt={ Benutzername:55555, Passwort:123456 } Nur-Lese-Attribut Schnittstellenpunkt Benutzername:Zeichenfolge|Zahl Passwort:Nummer, E-Mail?:Zeichenfolge, schreibgeschützte Adresse: Zeichenfolge } let-Wert:Punkt={ Benutzername: '[email protected]', Passwort:123456, Adresse: „Baoding“ } let val:Punkt={ Benutzername:55555, Passwort:123456, Adresse: „Peking“ } Wert.Passwort=65975222 Wert.Adresse = "kkk" FunktionFunktionen in ts können Rückgabewerttypen definieren const Wert=():Zahl=>{ Rückgabe 1 } const val=():string=>{ Rückgabe 1 } Typ SelbstabzugWenn wir eine Variable definieren, ohne einen Typ zuzuweisen, wird dieser entsprechend dem Wert abgeleitet. let-Wert = 5555 Wert='Zeichenfolge' Union-Typ (wählen Sie einen oder mehrere aus)let-Wert:Zeichenfolge|Zahl Wert = "Nicht verwendet" Wert=520 Wert=true Typbehauptung: Funktion get(Daten:Zeichenfolge|Zahl):Zahl{ const str = Daten als Zeichenfolge wenn(str.Länge){ return str.length }anders { const num = Daten als Zahl returniere num.toString().length } } console.log(get('Speichern')); Konsole.log(get(520));
Typschutz: Funktion get(Daten:Zeichenfolge|Zahl):Zahl{ wenn(Datentyp==='Zeichenfolge'){ returniere Datenlänge }anders { gibt data.toString().length zurück } } console.log(get('Speichern')); Konsole.log(get(520)); KlasseKlasse: Klasse, ES6-Syntax, ist die objektorientierte Förderung von js, Klasse ist nur syntaktischer Zucker, die zugrunde liegende Implementierung basiert immer noch auf Funktionen und Prototypen
Die Zugriffsebene von Mitgliedern einer Klasse kann durch drei Modifikatoren gesteuert werden:
Klasse Person { öffentlicher Name:Zeichenfolge geschütztes Alter:Nummer private Adresse: Zeichenfolge Konstruktor(Name:Zeichenfolge,Alter:Nummer,Adresse:Zeichenfolge){ dieser.name=Name this.age=Alter this.address=Adresse } sprechen(){ console.log(`Person:${dieser.Name}---${dieses.Alter}---${diese.Adresse}`) } } const Children = neue Person('Kinder',20,'Kinder') Kinder.sprechen() //Kann normal ausgeben Klasse Person { öffentlicher Name:Zeichenfolge geschütztes Alter:Nummer private Adresse: Zeichenfolge Konstruktor(Name:Zeichenfolge,Alter:Nummer,Adresse:Zeichenfolge){ dieser.name=Name this.age=Alter this.address=Adresse } sprechen(){ console.log(`Person:${dieser.Name}---${dieses.Alter}---${diese.Adresse}`) } } Klasse Kind erweitert Person { sagen(){ Konsole.log(`Kind:${this.name}---${this.age}`) } } // const Children = neue Person('Kinder',20,'Kinder') // Kinder.sprechen() const children = new child('Neues Kind',20,'Neues Kind') Kinder.sagen() Es meldet auch einen Fehler beim Ausführen Klasse Person { öffentlicher Name:Zeichenfolge geschütztes Alter:Nummer private Adresse: Zeichenfolge Konstruktor(Name:Zeichenfolge,Alter:Nummer,Adresse:Zeichenfolge){ dieser.name=Name this.age=Alter this.address=Adresse } sprechen(){ console.log(`Person:${dieser.Name}---${dieses.Alter}---${diese.Adresse}`) } } Klasse Kind erweitert Person { sagen(){ Konsole.log(`Kind:${this.name}---${this.age}`) } } // const Children = neue Person('Kinder',20,'Kinder') // Kinder.sprechen() const children = new child('Neues Kind',20,'Neues Kind') Kinder.sagen() Klasse Person { öffentlicher Name:Zeichenfolge geschütztes Alter:Nummer private Adresse: Zeichenfolge Konstruktor(Name:Zeichenfolge,Alter:Nummer,Adresse:Zeichenfolge){ dieser.name=Name this.age=Alter this.address=Adresse } sprechen(){ console.log(`Person:${dieser.Name}---${dieses.Alter}---${diese.Adresse}`) } } Klasse Kind erweitert Person { sagen(){ Konsole.log(`Kind:${this.name}---${this.age}`) } } const Children = neue Person('Kinder',20,'Kinder') Kinder.sprechen() console.log(Kinder.Adresse); console.log(Kinder.Alter); // const children = new child('Neues Kind', 20, 'Neues Kind') // kinder.sagen() aufzählenDer Aufzählungstyp wird in Szenarien verwendet, in denen der Wert auf einen bestimmten Bereich beschränkt ist. enum Woche { SUNDAY = 'Sonntag', MONDAY = 'Montag', TUESDAY = 'Dienstag', WEDNESDAY = 'Mittwoch', THURSDAY = 'Donnerstag', FRIDAY = 'Freitag', SAMSTAG = 'Samstag' } Funktion getProgramme(Datum: Woche): Zeichenfolge { if (Datum === Woche.SONNTAG) { zurück 'Sonntags Freizeit und Unterhaltung' } sonst wenn (Datum === Woche.MONTAG) { zurück 'Blogbeitrag am Montag' } sonst wenn (Datum === Woche.DIENSTAG) { Rückkehr 'Dienstagsprint' } sonst wenn (Datum === Woche.MITTWOCH) { Rückkehr „Am Mittwoch weiterkämpfen“ } sonst wenn (Datum === Woche.DONNERSTAG) { zurück 'Neuer Artikel am Donnerstag' } sonst wenn (Datum === Woche.FREITAG) { Rückkehr „Bereit, sich am Freitag auszuruhen“ } anders { Rückkehr 'Schlaf am Samstag' } } console.log(getProgramme(Woche.DONNERSTAG)); Dies ist das Ende dieses Artikels zum Verständnis von TypeScript-Datentypen. Weitere Informationen zu TypeScript-Datentypen finden Sie in den vorherigen Artikeln von 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, dass jeder 123WORDPRESS.COM in Zukunft unterstützen wird! Das könnte Sie auch interessieren:
|
<<: Schritte zur Linux-Bridge-Methode zum Überbrücken zweier virtueller VirtualBox-Netzwerke
>>: So erstellen Sie schnell MySQL Master-Slave mit mysqlreplicate
Nach dem Upgrade von MySQL auf Version 5.7 wurde ...
Dieser Artikel stellt ein möglichst einfaches Fra...
Ich habe lange damit gekämpft und nach einiger Suc...
Wir müssen darauf achten, dass die Eigenschaften ...
Inhaltsverzeichnis 1. Lernen Sie Teleport kennen ...
Xiaobai lernte Vue kennen, dann lernte er Webpack...
Vorbereitung Windows Server 2008 R2 Enterprise (2...
Vorwort Dieser Artikel beschreibt eine allgemeine...
Zunächst müssen wir wissen, was ein Zustandsmanag...
Überblick Dieser Artikel stellt die in Spieleclie...
Inhaltsverzeichnis 1. Der magische Erweiterungsop...
Kapseln Sie eine Navigationsleistenkomponente in ...
In diesem Artikelbeispiel wird der spezifische JS...
1. Commonjs Commonjs ist ein benutzerdefiniertes ...
Ein Index ist eine sortierte Datenstruktur! Die F...