Die Typen `Boolean`, `String` und `Number` (Grossschreibung beachten) werden von TypeScript intern verwendet und sollten nie für eigene Werte verwendet werden.
{{</hint>}}
```ts
constistWahr:boolean=true;
```
#### string
```ts
consteinString:string="Das ist ein String";
```
#### number
```ts
consteineZahl:number=12.34;
```
#### any
`any` ist ein nicht näher spezifizierter Typ.
```ts
letirgendetwas:any=0;
irgendetwas="abc";
irgendetwas=true;
```
#### null und undefined
`null` und `undefined` sind Subtypen aller anderen Typen und bezeichnen nicht vorhandene bzw. uninitialisierte Werte.
```ts
constu:undefined=undefined;
constn:null=null;
```
Das Verhalten von `null` bzw. `undefined` hängt davon ab, ob die Einstellung `strictNullChecks` gesetzt ist.
// Void
Wenn `strictNullChecks` gesetzt ist, müssen Variablen, die potentiell `null` oder `undefined` sein können, auf `null`/`undefined` getestet werden, bevor auf sie Methoden angewendet werden, welche einen vorhandenen und initialisierten Wert voraussetzen:
```ts
functiondoSomething(x:string|null){
if (x!==null){
console.log("Hello, "+x.toUpperCase());
}
}
```
Zusätzlich bietet TypeScript den `!`-Operator an, um `null`/`undefined`-Werte zu "entpacken".
```ts
functionliveDangerously(x:number|null){
console.log(x!.toFixed());
}
```
Falls `x === null` führt das zu einem Laufzeitfehler.
#### void
`void` ist der Rückgabetyp einer Funktion, die keinen Wert zurückgibt.
```ts
functionlog(msg:string):void{
console.log(msg);
}
```
#### never
// Null / Undefined: Subtypen aller anderen Typen
let u: undefined = undefined;
let n: null = null;
`never` ist der Rückgabetyp einer Funktion, die nie einen Wert zurückgeben kann.
// Never: Eine Funktion, die nie einen Wert zurückgibt
```ts
functionfail(){
returnerror("Something failed");
}
```
// String
let einString: string= "Das ist ein String";
// Zahl
let eineZahl: number = 12.34;
// Boolean
let istWahr: boolean = true;
// Datum
let einDatum: Date = new Date(2017, 7, 3);
#### Array
// Enum
enum RGB {Rot, Grün, Blau};
```ts
constcards:string[]=['Visa','MasterCard'];
// Array
let cards: string[] = ['Visa', 'MasterCard'];
// Alternative Syntax:
constcards:Array<string>=['Visa','MasterCard'];
```
// Tuple
let stateTaxRates: [string, number];
#### Tuple
Ein Tuple ist in TypeScript ein Array-Typ mit einer fixen Anzahl an Elementen mit potentiell unterschiedlichem Typ.