// 基础类型
let isDone: boolean = false;
let num: number = 20;
let str: string = "bob";
let sentence = `my age is ${num}` // 模板字符串
// 数组
let list: number[] = [1, 2, 3];
let listA: Array<number> = [1, 2, 3];
// 元组
let x: [string, number];
x = ['hello', 10] // OK
x = [10, 'hello'] // Error
枚举 enum
enum Color {Red, Green, Blue};
let c:Color = Color.Red; // 0
// 枚举可以手动赋值
enum Color {Red = 1, Green = 2, Blur = 3}
let c:Color = Color.Red // 1
void:主用于要当一个函数没有返回值时
function warnUser(): void {
console.log('this is a message')
}
never:表示永不存在的值的类型
// 返回 never 的函数必须存在无法达到的终点
function error(mess: string): never {
throw new Error(message)
}
function fail(): never {
return error('something failed')
}
function infiniteLoop(): never {
while (true) {}
}
object:非原始类型
使用 object 类型,可以更好的表示像 Object.create() 这个点API;
declare function create(o: object | null): void;
create({prop: 0}) // OK
create(null) // OKcreate(43) // error