1. 数据类型
string
let name:string = 'test'
let hi = `hello world ${name}`
number
let a:number = 6;//还可以表示16进制
Array
let list:number[] = [1,2,3]
let list:Array<number>=[1,2,3]
元组
let tuple:[string,number]=["str",1]
枚举
enum Color{
Red=1,
Green,
Blue
}
let c:Color = Color.Red
let colorName:string = Color[1]
any
void
null和undefined
目前使用来看,null表示没有对象,undefined表示缺少值。null和undefined是所有类型的子类。
never
类型断言
通过类型断言这种方式可以告诉编译器,“相信我,我知道自己在干什么”。
let str:any = "test"
let n:number = (<string>str).length//强制转换
//as 语法
let n:number = (str as string).length//强制转换
2 变量声明
变量解构
let arr:[number,number] =[1,2]
let [f,s]=arr// f==1,s==2
let arr=[1,2,3,4]
let [f,...res]=arr //f==1, res=[2,3,4]
//对象解构
let obj={a:'test',b:1,c:'test2'}
let [f,...r]=obj;//f==test,r=={b:1,c:'test2'}
let {a:newName1,b:newName2}=obj;//等价 let newName1=o.a;let newName2=o.b
//对象结构指定类型
let {a,b}:{a:string,b:number}=obj
展开
let obj={a:'test',b:1,c:'test2'}
let t = {...obj,t1:'ss'}