数据类型
基础数据类型
const myName: string = 'Tom';
const age: number = 24;
const male: boolean = false;
const undef: undefined = undefined;
const nul: null = null;
数组
const arr1: number[] = [1, 2, 3];
const arr2: Array<number> = [1, 2, 3];
const arr3: [string, number, boolean] = ['Tom', 12, true];
const arr4: [string, number?, boolean?] = ['Tom'];
const arr5: [name: string, age: number, male: boolean] = ['Tom', 12, true];
const arr6: [name: string, age: number, male?: boolean] = ['Tom', 12];
对象
const obj1: object = { myName, age, male };
interface IDescription {
readonly name: string;
age: number;
male?: boolean;
}
const obj2: IDescription = { name: myName, age, male };
其他数据类型
// bigint
const bigintVar1: bigint = 9007199254740991n;
const bigintVar2: bigint = BigInt(9007199254740991);
// symbol
const symbolVar: symbol = Symbol('unique');
// Set 和 WeakSet
const mySet: Set<number> = new Set([1, 2, 3]);
const myWeakSet: WeakSet<symbol | object> = new WeakSet([Symbol('unique'), { count: 100 }]);
// Map 和 WeakMap
const myMap: Map<string, number> = new Map([
['school', 1],
['school2', 2]
]);
const myWeakMap: WeakMap<number[], string> = new WeakMap([
[[1, 2, 3], 'foo'],
[[4, 5, 6], 'bar']
]);