一、TS概述
TS 是 JS 的超集,在编译的过程中就可以纠正错误,用于解决大型项目的代码复杂性。支持强类型、静态类型,支持模块、接口和泛型,最终被编译成 JS 代码,给浏览器使用。
TS 能在开发时帮助我们检测代码中类型定义的问题,大大增强了代码的可阅读性和可维护性。
二、TypeScript 的安装
1、安装
npm install -g typescript
2、验证
tsc -v
三、基础类型:Boolean、Number、String、null
、undefined
以及 ES6 的 Symbol。
1.字符串类型
let a: string = '123'
//普通声明
//也可以使用es6的字符串模板
let str: string = `dddd${a}`
2.数字类型
支持十六进制、十进制、八进制和二进制;
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;//八进制s
3.布尔类型
let booleand: boolean = true //可以直接使用布尔值
let booleand2: boolean = Boolean(1) //也可以通过函数返回布尔值
4.空值类型
JavaScript 没有空值(Void)的概念,在 TypeScript 中,可以用 void
表示没有任何返回值的函数
function voidFn(): void {
console.log('test void')
}
void也可以定义undefined 和 null类型
let u: void = undefined
let n: void = null;
5.Null和undefined类型
let u: undefined = undefined;//定义undefined
let n: null = null;//定义null
void 和 undefined 和 null 最大的区别
与 void
的区别是,undefined
和 null
是所有类型的子类型。也就是说 undefined
类型的变量,可以赋值给 string 类型的变量
//这样写会报错 void类型不可以分给其他类型
let test: void = undefined
let num2: string = "1"
num2 = test
//这样是没问题的
let test: null = null
let num2: string = "1"
num2 = test
//或者这样的
let test: undefined = undefined
let num2: string = "1"
num2 = test