? ? ? ? 关键字:boolean
let b: boolean = false;
console.log(b);
b = true;
console.log(b);
// false
// true
? ? ? ? 关键字:number
let num: number = 1;
console.log(num);
// 1
? ? ? ? 关键字:string
let str: string = "str";
console.log(str);
let str1: string = "str1";
console.log(str1);
// str
// str1
????????关键字:Array<数字类型> 、数据类型 [ ]
let arr1: number[] = [1, 2, 3];
let arrStr: string[] = ['a', 'b'];
// 范型表示的数组
let arr2: Array<string> = ['a', 'b'];
console.log(arr1, arrStr, arr2);
// [1, 2, 3] ['a', 'b'] ['a','b']
????????关键字:没有关键字,只有定义方式 [数据类型, 数据类型 ...数据类型?]
let tuple: [string, number, boolean] = ['a', 1, false];
console.log(tuple)
// ['a', 1, false]
? ? ? ? 关键字:enum
enum Play {
UP, DOWN, LEFT, RIGHT
}
enum Play1 {
UP = 1, DOWN, LEFT, RIGHT
}
console.log(Play.UP, Play.DOWN);
// 0, 1
console.log(Play.UP, Play.DOWN);
// 1, 2
console.log(Play1.UP === 1);
// true
// 可以比较
console.log(Play1.UP === Play1.UP);
// true
// 错误实例
console.log(Play1.UP === Play.UP)
// 报错
? ? ? ? 关键字:any?
let a: any = 1;
console.log(a);
a = 'a';
console.log(a);
// 1
// a
? ? ? ? 关键字:void
function say(): void {
console.log("我什么也不返回");
}
say();
// 我什么也不返回
????????关键字:null 、?undefined
let str: string = null;
console.log(str)
// null
// 不赋值 默认是undefined
let str2: string;
console.log(str2)
// undefined
? ? ? ? 关键字:nerver 、?Object
// 从来不使用的值 never
let a: never;
let b: string = "123";
// 会报错
a = 1;
console.log(b)
// 123
let c: Object = "123";
c = [1, 2, 3];
c = ["1", "2", "3"];
c = 4;
// Object和any类型有很相似的作用,Object是所有类型的父类,可以给他赋任意值
// 但Object类型的变量只是允许你给它赋任意值,但是却不能够在它上面调用任意的方法,即便它真的有这些方法
c.toFixed(); // Error: Property 'toFixed' doesn't exist on type 'Object'.