TypeScript 的类型系统
本章是 TypeScript 类型系统的总体介绍。
TypeScript 继承了 JavaScript 的类型,在这个基础上,定义了一套自己的类型系统。
基本类型
概述
JavaScript 语言(注意,不是 TypeScript)将值分成8种类型。
- boolean
- string
- number
- bigint
- symbol
- object
- undefined
- null
TypeScript 继承了 JavaScript 的类型设计,以上8种类型可以看作 TypeScript 的基本类型。
注意,上面所有类型的名称都是小写字母,首字母大写的Number
、String
、Boolean
等在 JavaScript 语言中都是内置对象,而不是类型名称。
另外,undefined 和 null 既可以作为值,也可以作为类型,取决于在哪里使用它们。
这8种基本类型是 TypeScript 类型系统的基础,复杂类型由它们组合而成。
以下是它们的简单介绍。
boolean 类型
boolean
类型只包含true
和false
两个布尔值。
const x:boolean = true;
const y:boolean = false;
上面示例中,变量x
和y
就属于 boolean 类型。
string 类型
string
类型包含所有字符串。
const x:string = 'hello';
const y:string = `${x} world`;
上面示例中,普通字符串和模板字符串都属于 string 类型。
number 类型
number
类型包含所有整数和浮点数。
const x:number = 123;
const y:number = 3.14;
const z:number = 0xffff;
上面示例中,整数、浮点数和非十进制数都属于 number 类型。