typescript 02 数据类型

---恢复内容开始---

1.数据类型

ts为了使代码更加规范并利于维护,增加了类型校验

提供了以下几种类型

布尔类型 boolean

数字类型 number 

字符串类型 string

数组类型 array

元组类型 tuple

枚举类型 enum

任意类型 any

null

undefined

void

never

 

2.

在js中,我们可以书写这样的代码:

var a = true
a = '123' //改变变量类型

但是ts不允许这么修改数据类型,必须指定类型

var flag:boolean = true

其余同理。

 

3.定义数组

两种方式

1) 定义数组,为数组内的元素指定类型

var arr :number[] = [1,2,3,4]//指定为数字类型 

2) 第二种方法

var arr2:Array<number> = [1,2,3]

 

4. 元组类型(tuple)

元组属于数组的一种

元组类型内的元素可以是不同类型的

必须为每个位置的元素指定类型

let arr4: [number, string] = [123, '123']

 

5.枚举类型(enum)

 enum 枚举名{

标识符[= 整型常数],

...

}

enum Flag {
  success = 1,
  err = 2
}
//使用方法
let s:Flag = Flag.success
console.log(s)//1
//没有整型常数,则默认设置为从0开始
 

常用于表示状态码等用途

 

6.任意类型(any)

 任意为某一个类型

let a:any = 123
a = '123'

任意类型类似于原js中的变量声明

 当我们需要操作dom对象时,需要为其设置为any类型

 

7.null与undefined 

是‘其他类型’(never)的子类型

上述情况如何处理呢?

var num:number | undefined

// 未赋值前为undefined

 

对于空类型null

空类型一旦被定义就只能为空,这种情况下

可以声明

var num:number | null | undefined

// 某一变量可能有3种状态

 

8.void类型

ts中的void 表示没有任何类型,通常用于定义方法的时候方法没有返回值

// 方法没有返回值
function run(): void {
  console.log('run')
}

如果方法有返回值,那么理应返回什么类型就在冒号后写什么类型

 

 9、never类型

表示其他类型,包含null,undefined。意思是从不会出现的值

这意味着声明never类型的变量只能被never类型的值所赋值

var b: never
b = 123 //报错
var b: never
b = (() => {
  throw new Error('wrong')
})()

 

posted on 2019-11-01 10:26  Tanqurey  阅读(132)  评论(0编辑  收藏  举报