1. 简介
TS 是 JS 的超集,所以 JS 基础的类型都包含在内。
起步安装:npm install typescript -g
运行:tsc 文件名
官网:TypeScript中文网 · TypeScript------JavaScript的超集
2. 基础类型
基础类型包括:
- Boolean
- Number
- String
- Null
- Undefined
- Symbol
- BigInt
2.1. 字符串类型
字符串是通过 string 定义的
可以使用 ES6 中的模板字符串
typescript
let str:string = "Hello World"; // 普通声明
let str1:string = `hello${str}`; // 模板字符串
2.2. 数字类型
支持十六进制、八进制、二进制、NaN、Infinity
typescript
// 数字类型
let notANumber: number = NaN;//Nan
let num: number = 123;//普通数字
let infinityNumber: number = Infinity;//无穷大
let decimal: number = 6;//十进制
let hex: number = 0xf00d;//十六进制
let binary: number = 0b1010;//二进制
let octal: number = 0o744;//八进制
2.3. 布尔类型
注意:使用构造函数 Boolean 创造的对象不是布尔值,返回的是一个对象,需要使用 Boolean
typescript
let createdBoolean: Boolean = new Boolean(1); //通过new关键字创建的布尔值
let booleand: boolean = true //可以直接使用布尔值
let booleand2: boolean = Boolean(1) //也可以通过函数返回布尔值
2.4. 空值类型
js 中没有空值(void) 的概念,在 TS 中可以用 void 表示没有任何返回值的函数。
void 类型的用法,主要用在我们不希望调用者关心函数返回值的情况下,比如通常的异步回调函数。
void 也可以定义 unidfined 和 null 类型。但在严格模式下将 null 赋值给 void 类型会报错,不推荐这么使用
javascript
function voidFn(): void {
console.log('test void')
}
let u: void = undefined
let n: void = null;
2.5. Null和undefined类型
ini
let u1: undefined = undefined;
let n1: null = null;
2.5.1. void、undefined、null 区别
undefined 和 null 是所有类型的子类型,可以复制给任意类型的变量,void 类型不可分配给其他类型。