// 原始类型 let bool: boolean = true; let num: number | undefined | null = 123; let str: string = 'abc'; // str = 123; // TS2322: Type 'number' is not assignable to type 'string'.
// 数组 let arr1: number[] = [1, 2, 3]; let arr2: Array<number | string> = [1, 2, 3, '666'];
// 元组 let tuple: [number, string] = [0, '1'];
// 函数 let add = (x: number, y:number) => x + y; let compute: (x: number, y: number) => number; compute = (a, b) => a + b;
// symbol let s1: symbol = Symbol(); let s2 = Symbol(); console.log(s1 === s2);
// undefined, null let un: undefined = undefined; let nu: null = null; num = undefined; // TS2322: Type 'undefined' is not assignable to type 'number'. num = null; // TS2322: Type 'null' is not assignable to type 'number'.
// void let noReturn = () => {};
// any let x; x = 1; x = []; x = () => {}
// never let error = () => { throw new Error('error'); } let endless = () => { while(true) {} }