1. 数据类型

string

  1. let name:string = 'test'
  2. let hi = `hello world ${name}`

number

  1. let a:number = 6;//还可以表示16进制

Array

  1. let list:number[] = [1,2,3]
  2. let list:Array<number>=[1,2,3]

元组

  1. let tuple:[string,number]=["str",1]

枚举

  1. enum Color{
  2. Red=1,
  3. Green,
  4. Blue
  5. }
  6. let c:Color = Color.Red
  7. let colorName:string = Color[1]

any

是任何类型,当不希望进行类型检查的时候使用。

void

空值,没有任何类型

null和undefined

目前使用来看,null表示没有对象,undefined表示缺少值。null和undefined是所有类型的子类。

never

类型断言

通过类型断言这种方式可以告诉编译器,“相信我,我知道自己在干什么”。

  1. let str:any = "test"
  2. let n:number = (<string>str).length//强制转换
  3. //as 语法
  4. let n:number = (str as string).length//强制转换

2 变量声明

变量解构

  1. let arr:[number,number] =[1,2]
  2. let [f,s]=arr// f==1,s==2
  3. let arr=[1,2,3,4]
  4. let [f,...res]=arr //f==1, res=[2,3,4]
  5. //对象解构
  6. let obj={a:'test',b:1,c:'test2'}
  7. let [f,...r]=obj;//f==test,r=={b:1,c:'test2'}
  8. let {a:newName1,b:newName2}=obj;//等价 let newName1=o.a;let newName2=o.b
  9. //对象结构指定类型
  10. let {a,b}:{a:string,b:number}=obj

展开

  1. let obj={a:'test',b:1,c:'test2'}
  2. let t = {...obj,t1:'ss'}