JavaScript的类型分为两种:原始数据类型和对象类型。
- 原始数据类型:布尔值、数值、字符串、
null
、undefined
以及ES6中的新类型Symbol
和BigInt
。
布尔值
let isDone: boolean = true
let createdByNewBoolean: boolean = new Boolean(1) // 使用构造函数Boolean创造的对象不是布尔值
数值
let decLiteral: number = 6
let hexLiteral: number = 0xf00d
let binaryLiteral: number = 0b1010 // es6中二进制表示法 输出10
let octalLiteral: number = 0o744 // es6中八进制表示法 输出484
let notANumber: number = NaN
let infinityNumber: number = Infinity
字符串
let myName: string = 'Bob'
let myAge: number = 22
空值
JavaScript没有空值(Void)的概念,在TypeScript中,可以用 void
表示没有任何返回值的函数:
function alertName(): void {
alert('My name is Tom')
}
声明一个void
类型的变量没有什么用,因为你只能将它赋值为 undefined
和 null
:
let unusable: void = undefined
Null 和 Undefined
在TypeScript中可以使用 null
和 undefined
来定义这两个原始数据类型:
let u: undefined = undefined
let n: null = null
与 void
的区别是,undefined
和 null
是所有类型的子类型。也就是说 undefined
类型的变量,可以赋值给 number
类型的变量:
let num: number = undefined
let u:undefined
let num1: number = u
let u1: void
let num2: number = u // 报错,Type 'void' is not assignable to type 'number'