TypeScript 的基础类型

TypeScript 支持与 JavaScript 几乎相同的数据类型,此外还提供了实用的枚举类型方便我们使用

布尔值

let isDone: boolean = false

数字

let decLiteral: number = 6
let hexLiteral: number = 0xf00d
let binaryLiteral: number = 0b1010
let octalLiteral: number = 0o744

字符串

let name: string = "bob"
let sentence: string = `Hello, my name is ${ name }.`

数组

有两种方式可以定义数组,第一种,可以在元素类型后面接上 []

let list: number[] = [1, 2, 3]

第二种方式是使用数组泛型,Array<元素类型>:

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

元组 Tuple

元组类型允许表示一个已知元素数量和类型的数组,各元素的类型不必相同

let x: [string, number]
x = ['hello', 10] // OK
x = [10, 'hello'] // Error

枚举

enum 类型是对 JavaScript 标准数据类型的一个补充,使用枚举类型可以为一组数值赋予友好的名字

enum Color { Red, Green, Blue }

let c: Color = Color.Green
console.log(c) // 1

let s: string = Color[1]
console.log(s) // Green

默认情况下,从 0 开始为元素编号,也可以手动的指定编号起始值

enum Color { Red = 1, Green, Blue }
let c: Color = Color.Green

或者,全部都采用手动赋值:

enum Color { Red = 1, Green = 2, Blue = 4 }
let c: Color = Color.Green

Any

有时候,想要为那些在编程阶段还不清楚类型的变量指定一个类型,这种情况下,我们不希望类型检查器对这些值进行检查,那么我们可以使用 any 类型来标记这些变量:

let notSure: any = 4
notSure = "maybe a string instead"
notSure = false // okay, definitely a boolean

Void

void 类型表示没有任何类型,声明一个 void 类型的变量没有什么大用,因为你只能为它赋予 undefined 和 null:

let unusable: void = undefined

Null 和 Undefined

TypeScript 里,undefined 和 null 两者各自有自己的类型分别叫做 undefined 和 null,它们的本身的类型用处不是很大:

let u: undefined = undefined
let n: null = null

Never

never 类型表示的是那些永不存在的值的类型

// 返回never的函数必须存在无法达到的终点
function error(message: string): never {
    throw new Error(message)
}

// 返回never的函数必须存在无法达到的终点
function infiniteLoop(): never {
    while (true) {
    }
}

Object

object 表示除 number,string,boolean,symbol,null 或 undefined 之外的类型

let o: object
o = { name: 'John Han', age: 18 }

本文转载自 https://www.tslang.cn/docs/handbook/basic-types.html 并进行整理

除特殊说明外本人博客均属原创,转载请注明出处:http://blog.johnhan.cn/blog_1051.html
鄂ICP备17018604号-1  鄂公网安备42060702000030号