TypeScript-Grundsyntax

Ein TypeScript-Programm besteht aus den folgenden Teilen:

  • Module
  • Funktionen
  • Variablen
  • Anweisungen und Ausdrücke
  • Kommentare

Erstes TypeScript-Programm

Wir können das folgende TypeScript-Programm verwenden, um "Hello World" auszugeben:

Code der Datei Example.ts:

const hello : string = "Hello World!" console.log(hello)

Ausprobieren »

Der obige Code wird zuerst mit demtsc-Befehl kompiliert:

tsc Example.ts

Man erhält den folgenden js-Code:

Code der Datei Example.js:

var hello = "Hello World!"; console.log(hello);

Schließlich verwenden wir den Befehl node, um diesen js-Code auszuführen.

$ node Example.js
Hello World

Der gesamte Prozess ist in der folgenden Abbildung dargestellt:

Wir können mehrere ts-Dateien gleichzeitig kompilieren:

tsc file1.ts file2.ts file3.ts

Die häufig verwendeten Kompilierungsparameter von tsc sind in der folgenden Tabelle aufgeführt:

Nein. Beschreibung der Kompilierungsparameter
1.

--help

Hilfeinformationen anzeigen

2.

--module

Erweiterungsmodule laden

3.

--target

ECMA-Version festlegen

4.

--declaration

Zusätzlich eine Datei mit der Erweiterung .d.ts generieren.

tsc ts-hw.ts --declaration

Der obige Befehl erzeugt zwei Dateien: ts-hw.d.ts und ts-hw.js.

5.

--removeComments

Kommentare aus Dateien entfernen

6.

--out

Mehrere Dateien kompilieren und in einer einzigen Ausgabedatei zusammenführen

7.

--sourcemap

Eine Sourcemap-Datei (.map) generieren.

Eine Sourcemap ist eine Informationsdatei, die die Zuordnung entsprechender Positionen zwischen Quellcode und kompiliertem Code speichert.

8.

--module noImplicitAny

Einen Fehler melden, wenn bei Ausdrücken und Deklarationen ein impliziter any-Typ vorhanden ist.

9.

--watch

Den Compiler im Watch-Modus ausführen. Er überwacht die Ausgabedateien und kompiliert sie erneut, wenn sie sich ändern.


Reservierte Schlüsselwörter in TypeScript

Die reservierten Schlüsselwörter von TypeScript sind in der folgenden Tabelle aufgeführt:

SchlüsselwortBeschreibung
abstractWird verwendet, um abstrakte Klassen oder abstrakte Methoden zu definieren.
anyRepräsentiert den Typ any und deaktiviert die Typprüfung.
asTypzusicherung, wird verwendet, um einen Typ in einen anderen umzuwandeln.
awaitWird in async-Funktionen verwendet, um die Codeausführung anzuhalten, bis das Promise aufgelöst wird.
booleanRepräsentiert den Typ boolean.
breakVerlässt eine Schleife oder eine switch-Anweisung.
caseWird für Verzweigungen in einer switch-Anweisung verwendet.
catchWird verwendet, um Ausnahmen abzufangen.
classWird verwendet, um eine Klasse zu definieren.
constDefiniert eine konstante Variable.
continueÜberspringt die aktuelle Schleifeniteration und fährt mit der nächsten fort.
debuggerStartet den Debugger und pausiert die Codeausführung.
declareDeklariert eine Variable oder ein Modul, wird normalerweise in Typdeklarationsdateien verwendet.
defaultDefiniert den default-Zweig einer switch-Anweisung.
deleteLöscht die Eigenschaft eines Objekts oder ein Element eines Arrays.
doVerwendet indo...whileSchleifen.
elseDefiniert den else-Teil in einer bedingten Anweisung.
enumDefiniert einen enum-Typ.
exportWird verwendet, um Variablen, Funktionen oder Klassen aus einem Modul zu exportieren.
extendsWird für die Klassenvererbung verwendet und gibt an, dass eine Klasse von einer anderen Klasse erbt.
falseBoolescher Wertfalse。
finallyDefinierttry...catchder abschließende Ausführungsblock in der Anweisung.
forVerwendet inforSchleifen.
fromWird in Modul-Import-Anweisungen verwendet, um die Quelle des Moduls anzugeben.
functionDefiniert eine Funktion.
getWird für die Getter-Methode eines Objekts verwendet.
ifWird für bedingte Prüfungen verwendet.
implementsWird verwendet, damit eine Klasse eine Schnittstelle implementiert.
importWird verwendet, um Inhalte aus einem Modul zu importieren.
inWird verwendet, um zu prüfen, ob ein Objekt eine angegebene Eigenschaft enthält, oder verwendet infor...inSchleifen.
inferWird verwendet, um Typen in bedingten Typen abzuleiten.
instanceofPrüft, ob ein Objekt eine Instanz der angegebenen Klasse ist.
interfaceWird verwendet, um eine Schnittstelle zu definieren.
letDefiniert eine blockgebundene Variable.
moduleDefiniert ein Modul (verwendet in früheren Versionen von TypeScript).
namespaceDefiniert einen Namensraum (verwendet in früheren Versionen von TypeScript).
newErzeugt eine Instanz einer Klasse.
nullRepräsentiert einen Nullwert.
numberRepräsentiert den Typ number.
objectRepräsentiert einen nicht-primitiven Typ.
ofVerwendet infor...ofSchleifen.
packageWird im Modulsystem verwendet, um Pakete zu identifizieren.
privateWird als Zugriffsmodifizierer für Klassenmember verwendet und kennzeichnet private.
protectedWird als Zugriffsmodifizierer für Klassenmember verwendet und kennzeichnet protected.
publicWird als Zugriffsmodifizierer für Klassenmember verwendet und kennzeichnet public.
readonlyKennzeichnet eine schreibgeschützte Eigenschaft.
requireWird verwendet, um CommonJS-Module zu importieren.
returnBeendet eine Funktion und kann einen Wert zurückgeben.
setWird für die Setter-Methode eines Objekts verwendet.
stringRepräsentiert den String-Typ.
superWird verwendet, um die Methode oder den Konstruktor einer Elternklasse aufzurufen.
switchWird in switch-Anweisungen verwendet.
symbolRepräsentiert den Symbol-Typ.
thisVerweist auf die Instanz der aktuellen Klasse oder des aktuellen Objekts.
throwLöst eine Ausnahme aus.
tryWird in Anweisungen zur Ausnahmebehandlung verwendettry...catch。
trueBoolescher Werttrue。
typeWird verwendet, um einen Typalias zu definieren.
typeofErmittelt den Typ einer Variablen oder eines Ausdrucks.
undefinedRepräsentiert einen undefinierten Wert.
uniqueVerwendet fürsymbolder eindeutige Bezeichner des Typs.
varWird zum Deklarieren von Variablen verwendet (nicht mehr empfohlen).
voidStellt den Typ ohne Rückgabewert dar.
whileVerwendet inwhileSchleifen.
withWird verwendet, um einen Gültigkeitsbereich zu erstellen, in dem Verweise auf das Objekt weggelassen werden können (nicht empfohlen).
yieldWird in Generatorfunktionen verwendet, um die Ausführung des Generators anzuhalten und fortzusetzen.

Leerraum und Zeilenumbrüche

TypeScript ignoriert Leerzeichen, Tabs und Zeilenumbrüche, die in einem Programm vorkommen.

Leerzeichen und Tabs werden normalerweise verwendet, um Code einzurücken, wodurch er leichter zu lesen und zu verstehen ist.

TypeScript ist case-sensitive

TypeScript unterscheidet zwischen Groß- und Kleinbuchstaben.

Semikolons sind optional

Jede Zeile mit Anweisungen ist eine Anweisung. Sie können Semikolons verwenden oder nicht. Semikolons sind in TypeScript optional, aber sie werden empfohlen.

Der folgende Code ist vollständig gültig:

console.log("Example")
console.log("Google");

Wenn Anweisungen in derselben Zeile geschrieben werden, müssen Semikolons verwendet werden, um sie zu trennen, andernfalls wird ein Fehler gemeldet, zum Beispiel:

console.log("Example");console.log("Google");

TypeScript-Kommentare

Kommentieren ist eine gute Angewohnheit. Obwohl viele Programmierer Kommentare hassen, wird dennoch empfohlen, dass Sie in jedem Codeabschnitt textliche Erklärungen schreiben.

Kommentare können die Lesbarkeit eines Programms verbessern.

Kommentare können einige Informationen über das Programm enthalten, wie den Autor des Codes, Beschreibungen von Funktionen usw.

Der Compiler ignoriert Kommentare.

TypeScript unterstützt zwei Arten von Kommentaren

  • Einzeilige Kommentare ( // )− Der Text nach // ist Kommentarinhalt.

  • Mehrzeilige Kommentare (/* */)− Diese Art von Kommentar kann sich über mehrere Zeilen erstrecken.

Kommentarbeispiele:

// This is a single-line comment
 
/* 
 This is a multi-line comment 
 This is a multi-line comment 
 This is a multi-line comment 
*/

TypeScript und objektorientierte Programmierung

Objektorientierte Programmierung ist eine Methode zum Verstehen und Abstrahieren der realen Welt.

TypeScript ist eine objektorientierte Programmiersprache.

Objektorientierte Programmierung hat hauptsächlich zwei Konzepte: Objekte und Klassen.

  • Objekt: Ein Objekt ist eine Instanz einer Klasse (Objekt bedeutet nicht, eine Freundin zu finden), es hat Zustand und Verhalten. Zum Beispiel ist ein Hund ein Objekt. Seine Zustände umfassen: Farbe, Name, Rasse; seine Verhaltensweisen umfassen: Schwanzwedeln, Bellen, Fressen usw.
  • Klasse: Eine Klasse ist eine Vorlage, die das Verhalten und den Zustand einer Gruppe von Objekten beschreibt.
  • Methode: Eine Methode stellt die Implementierungsschritte der Operationen einer Klasse dar.

In der folgenden Abbildung istgirl、boydie Klasse, und jede konkrete Person ist ein Objekt dieser Klasse:

TypeScript-Beispiel für objektorientierte Programmierung:

class Site { name():void { console.log("Example") } } var obj = new Site(); obj.name();

Das obige Beispiel definiert eine Klasse Site, die eine Methode name() hat. Diese Methode gibt die Zeichenkette Example im Terminal aus.

Das Schlüsselwort `new` erstellt ein Objekt der Klasse, und dieses Objekt ruft die Methode name() auf.

Der generierte JavaScript-Code nach der Kompilierung sieht wie folgt aus:

var Site = /** @class */ (function () { function Site() { } Site.prototype.name = function () { console.log("Example"); }; return Site; }()); var obj = new Site(); obj.name();

Die Ausführung des obigen JavaScript-Codes erzeugt die folgende Ausgabe:

Example
Andere Erweiterungen