TS基础知识(新手入门)

TS就是添加了类型系统的 js ;适用于任何规模js的超集,他可以编译成纯javascript;typeScript可以在任何浏览器、任何计算机和任何操作系统上运行
简单来说TS就是在JS的基础上加上了一个强制认证的数据类型


TS如何使用

简单来说就是在变量后面加上:数据类型来进行类型声明,当变量的类型固定后,只能赋值同类型的数据,一旦数据类型改变,就会报错

let msg:string = "文本" // 正确方式
msg = 123   //错误提示  Type 'number' is not assignable to type 'string' 

一、TS的数据类型

1.数据类型

1.1string 字符串类型

let text:string = '123'

1.2number 数字类型

let text:number = 123

1.3boolean 布尔值类型

let text:boolean = true  //只能是true或者是false

1.4undefined类型

let text:undefined =undefined

1.5 null类型

let text:null = null

1.6 symbol类型

作为Es6里新增的基本数据类型,symbol的作用就是代表唯一值,不会重复,通常可以用来作为当对象的属性名

let text: symbol = Symbol(); // 不需要通过new关键字

1.7Array 数组类型

数组类型一般有两种书写方式

  // 方式1: let 数组变量名:数据类型[] = [a,b]
  let arr: number[]= [1, 2, 3, 4]
  
  // 方式2: let 数组变量名:Array<类型> = [a,b]
  let arr: Array<number>= [1, 2, 3, 4]
  // 数组内的数据类型需要和前面定义的类型保持一致,前面是string,数组里面就全是字符串,前面是number,数组里面就全是数字

1.8object 对象类型

let obj:object
obj = {
    
    
    a:1,
    b:2
}
console.log(obj) // {a:1,b:2}

1.9 tupel 元组类型

TS中数组元素类型必须一致,如果需要不同元素,可以使用元组。
声明时,需要制定元素的个数,声明时,需要为每个元素设置类型

let arr: [string, number, undefined] = ['text', 123, undefined]
console.log(arr)   // [ 'text', 123, undefined ]
arr = ['123',123,null]  // error:Type 'null' is not assignable to type 'undefined'
//元组内的数据的类型必须严格按照定义的标准,顺序不能颠倒

1.10 enum 枚举类型

enum msg  {
    
    
    num1, // 如果没有定义,从0开始
    num2,  // 如果现在定义num2= 10,下面打印msg.num3 = 11,从10开始递增
    num3
}
console.log(msg) //  { '0': 'num1', '1': 'num2', '2': 'num3', num1: 0, num2: 1, num3: 2 }
console.log(msg.num1) // 0
console.log(msg[0])  // num1
//使用枚举
let one:msg = msg.num1
console.log(one)  // 0

可以看出来,TS在枚举enum的时候对属性做了反向映射

1.11 any类型

当数据定义为any类型的时候,相当于没有启用TS的类型检测,代表任意类型
any可以赋予任意类型的值

let anyVal: any
anyVal = 5 // number
anyVal = 'str' // string
anyVal = true
anyVal = Symbol()
//以上赋值都是可以正常编译,不会报错

1.12 void类型

当函数没有返回值的时候,可以定义为void类型

  // 没有返回值
  function show(): void {
    
    
    console.log(1)
  }
//有返回值的函数根据返回值类型,定义类型
 function show(): string {
    
     
    return 'str'
  }
  console.log(show()) // str

1.13 never类型

never代表不存在的值的类型,一般用于抛出异常

// 抛出异常
function show(): never {
    
    
    throw new Error('err')
  }

猜你喜欢

转载自blog.csdn.net/hello_woman/article/details/128255682