-
TypeScript 通过 类型批注 提供静态类型以在编译时启动类型检查。
基本批注类型是number、bool、string。而弱或动态类型是any。 -
typescript 使用
作用 | 语句 |
---|---|
全局安装 | npm install -g typescript |
查看版本 | tsc -v |
- TypeScript 数据类型:
数据类型 | 使用 |
---|---|
boolean | let isDone: boolean = false; |
number | let decLiteral: number = 6; |
string | let name: string = "bob"; |
数组 | 第一种,可以在元素类型后面接上[]:let list: number[] = [1, 2, 3]; ;第二种方式是使用数组泛型,Array<元素类型>:let list: Array<number> = [1, 2, 3]; |
元组 Tuple | 允许表示一个已知元素数量和类型的数组,各元素的类型不必相同。let x: [string, number]; |
枚举 enum | enum Color {Red, Green, Blue}; let c: Color = Color.Green; |
any | let notSure: any = 4; let list: any[] = [1, true, "free"]; |
void | function warnUser(): void { alert("This is my warning message");} ;只能为它赋予undefined和null:let unusable: void = undefined; |
undefined | let u: undefined = undefined; |
null | let n: null = null; 默认情况下null和undefined是所有类型的子类型。 就是说你可以把null和undefined赋值给number类型的变量。然而,当你指定了--strictNullChecks标记,null和undefined只能赋值给void和它们各自,这能避免很多常见的问题。 也许在某处你想传入一个string或null或undefined,你可以使用联合类型string |
联合类型 | let union: number | string | boolean |
交叉类型 | let result = <T & U>{}; |
字符串字面量类型 | type Easing = "ease-in" | "ease-out" | "ease-in-out"; |
-
在参数名后面,冒号前面添加一个问号,则表明该参数是可选的。
function buildName(firstName: string, lastName?: string):string {}
-
github 例子地址:https://github.com/cag2050/typescript_demo
-
d.ts就是TypedDefinition 类型定义文件,用来定义类型信息以及接口规范。
想要在ts使用js里面的方法,不一定要有类型定义。
但如果没有类型定义文件, 你在编码的过程中,编辑器不会给你方法的提示,你想找API的时候也没有对应的文档。