一.布尔值
eg:
let hello : boolean = ture;
二.数字
eg:
let dec : number = 6(十进制);
let hex : number = 0Xf00d(十六进制);
let oct : numbr = 0o744(八进制);
let bin : number = 0b1010(二进制);
三.字符串
eg1:
let name1 : string = 'littleCute';
eg2:
let name2 : string = 'LiHua';
let age : number = 18;
let detail : string = `my name is ${name2},and i am ${ age +2 } years old`;
四.数组
eg1:
let list1 : number[] = [1,2,3];
eg2:(数组范型)
let list2 : Array<number> = [4,5,6];
五.元组
1.如何定义:
eg:
let data : [number,string] ;
x = [ 6 , 'hello' ] // ok
x = [ 'bye' , 'hello' ] //error
2.当访问一个已知索引的元素,会得到正确的类型:
eg:
console.log( x[0].substr(1) ); //error because number is not have 'substr';
console.log( x[1].substr(1) ); //ok
3.当访问一个越界的元素,会使用联合类型替代:
eg:
x[3] = 'Lily'; //ok 字符串可以复制给你定义的那个可以存放字符串和数字的数组
x[6] = ture; // error 你定义的数组么有布尔类型
六.枚举
eg1:(一般情况下从0开始编号)
enum Color {red,blue,green};
let c : Color = Color.green;
eg2:(我们也可以改变编号的开始节点)
enum Color { red = 1 , blue , green }
eg3:(我们也可以全部手动赋值)
enum Color { red = 3 , blue = 7 , green = 13 }
eg4:(我们可以通过枚举的值得到他的名字)
enum Color { red = 3 , blue , geen }
let color : string = Color[5];
console.log(color); // 打印出来是green
七.Any(用于不确定你定义的变量的类型)
eg1:
let a : any = 4; // ok
a = 'it is a string'; //ok
a = true; //ok
eg2:
let list : any[] = [1, ture , 'lily']; //ok
list[1] = 100;//ok
八.void(函数没有返回值的数据,通常是void类型)
eg1:
function swimming(){
var a : string = 'swim';
console.log(a);
}
eg2:(声明void类型只可以赋值null/undifined)
let b : void = null/undifined
九.null and undifined
null 和 undifined 本身没有什么用处,只能定义自身
十.never
是永不存在的值
十一.object
表示除了string,number,boolean,symbol,null和undifined之外的类型