1- any 表示的是任意类型,一个变量设置类型为any后相当于对该变量关闭了TS的类型检测 (不建议使用)

  1. var a:any = 10 a="hello world" //变量的值可以被更改

Unknown 未知类型的值 实际上就是一个类型安全的any

Unknown 类型的变量 不能直接赋值给其他变量

2- string

  1. var s:string="hello"

3- number

  1. var n:number = 10

4- boolean

  1. var b:boolean = true

5- array 数组

  1. // var arr:number[] = [1,2]
  2. var arr:Array<number> = [1,2,3] //推荐这种
  3. //console.log(typeof arr) // object

6- object

  1. var obj:{name:string,age:number}
  2. obj:Object={name:"cheng",age:18}
  1. var obj:{name:string,age?:number} //在属性后面加上?,表示属性是可选的
  2. obj:Object={name:"cheng",age:18}

[propName:Srting]:any 表示任意类型的属性

  1. var c:{name:String,[propName:Srting]:any}
  2. c={name:"cheng",age:18}

7- array-object

  1. var list:Array<object>=[{name:"cheng"}]

8- function

  1. // 声明一个有返回值的函数
  2. function go():string{
  3. return "hello world"
  4. }
  5. // 声明没有返回值的函数
  6. function show():void{
  7. console.log("hello world")
  8. }
  9. show()

9- 元组

  1. //给数组每一个元素指定一种类型 var s:[string,number] = ["hello",1]; console.log(s);

10- 枚举类型 enum

  1. enum Skills{html,css,js}
  2. var j:Skills = Skills.html;
  3. console.log(j) // 输出下标值
  4. enum Status {
  5. success=200,
  6. error=404,
  7. serverError=500
  8. }
  9. var success:Status = Status.success
  10. console.log(success)

11- null - undefined

tips:实际上就是一个类型安全的any

  1. var num = null;
  2. num =10 //报错
  3. let x: number | null | undefined;
  4. x = 1; // 运行正确
  5. x = undefined; // 运行正确
  6. x = null; // 运行正确

12 | 或 (联合类型)

  1. let b="hello"|"world"
  2. b="hello"
  3. b="world"
  4. b="arr" // 报错
  5. let b=boolean:string
  6. b=boolean
  7. b=string
  8. b=number /报错

13-void 用来表示为空,以函数为例,就表示没有返回值的函数

  1. function fn():void{
  2. console.log(1)
  3. }


14-never 表示永远不会返回结果

  1. function fn():void{
  2. throw new Error('报错了!')
  3. }