typescript-数据类型注意点

96 阅读1分钟

1.首先,ts里面规定类型的时候最好不要全部设置:any,不然就失去了ts的意义 2.ts对于字面类型可进行定义,但是改变值是不行的

let a:99
a=100//这里是不行的

let b=string|number
b="100"
b=100
//这里都是可以的

3.unkonw和any是有区别的,这里unkonw类型不能赋值另一个强制定义好类型的数据

let a:unkonw
    a=100
    a='100'
    a=true//这些都是可以的
let w:string
    a=w//这里是不行的

4.数组的类型定义

let arr=[] as any []

let arr:Arrary<number>

let arr:number[]

5.特别注意对象里面的...展开运算符和{}进行解构 6.void类型和never类型

function fnc():void{
      return undefined
}

function fnz():never{
      throw new Error('出错啦!') //这里抛出一个异常,这里的never不会出错
      while(true){} //这里的死循环也不会使函数有返回值
}

6.元组tuple,元组进行增删改,push,pop,替换这个不受类型的影响

   let:arr:[number,string,any]
   arr=[12,'12',true]
   
   let arr1:[number,string?]
   arr1=[12]//这里不会报错
   
   arr1.push[12,12]//这里的arr1=[12,12,12]

7.枚举enum,可以更好的语义化(这里使用效果很好)

   enum orderInfo {
      add:0,
      updata:1,
      delete:2
   }
   let order:number
   if(order===orderInfo.add){
      //这里进行增加操作
   }

8.类型别名

  type:Name='张三'||'李四'
  let a='王五'//这里会报错
  let a='张三'//这里是正确的