TypeScript
1.安装
npm i -g typescript
or
yarn add -g typescript
2. 数据类型
- 布尔
let isDone : boolean = false;
- 数字
let num: number = 1;
- 字符串
let str: string = ‘abc’;
- 数组
let arr:number[] = [1,3,4];// 指定数组元素的具体类型定义
let arr:Array<number> = [1,2,3] // 数组泛型式定义
let arr:any=["a",1,false] // any类型,不约束数组中每一项的类型
- 元祖Tuple
let arr: [string,number];
arr = [‘a’,2] // 元祖允许一个已知元素数量和类型的数组,各元素类型可以不相同
6、枚举enum – 定义一些有名字的数字常量,例如标识符,状态等,不赋值的时候,默认为索引值
enum Direction {
Up = 1,
Down= 2,
Left = 3,
Right = 4
}
console.log(Direction.Up)
const enum Directions { // 常数枚举
Up,
Down,
Left,
Right
}
declare enum Enum { // 外部枚举,描述已经存在的枚举类型的形状
A = 1,
B,
C = 2
}
7、 任意类型(any)可以给变量知道任意类型,string/boolean/number都可以
let temp:any="any"
8、null和undefined 其他(never类型)的子类型
let num:number | undefined; // 已定义未赋值
let num:number| undefinde | null
2. 函数定义
// 方式一,指定返回类型
function run():string {
return "run"
}
// 匿名函数
let fn = function():string {
return 123
}
// 传参
function fn(a:string,b:number):string { // 定义方法,参数需要全部都传递
return a+b;
}
fn("abc",1); // 调用方法
// 没有返回值的方法
function fn():void{ // void表示方法没有返回任何类型
console.log('fn')
}
// 方法可选参数
function fn(a:string,b?:number):string { // 定义方法,参数b可传可不传,'?'表示非必选
return a+b;
}