TypeScript 专题

279 阅读2分钟

官方文档地址

www.tslang.cn/docs/handbo…

vscode中配置自动编译.ts文件

  1. 在项目目录下执行tsc --init,生成tsconfig.json文件,配置其中的output选项
  2. 在vscode中,选择项目文件夹为工作区,然后终端(T)->运行任务->监视tsconfig.json

vscode配置后无法自动编译.ts文件的问题

看到终端只执行了> Executing task: tsc -p c:\Users\Administrator.dmk-PC\Desktop\ts\tsconfig.json --watch < 然后就卡住不动了,是vscode终端配置的问题,文件->首选项->设置,搜索shell->在settings.json中编辑 添加"terminal.integrated.shell.windows": "C:\\Windows\\System32\\cmd.exe"

vscode开启装饰器识别

  1. 在全局配置文件中添加"javascript.implicitProjectConfig.experimentalDecorators": true
  2. 在tsconfig.js中添加"experimentalDecorators": true

ts中的数据类型

布尔类型(boolean),数字类型(number),字符串类类型(string),数组类型(array),元组类型(tuple),枚举类型(enum),任意类型(any),null&undefined,void,never

  1. 数组类型 let a:number[]= [1,2,3]或者let a:Array<number>= [1,2,3]
  2. 元组类型 let a:[number, string] 元组类型就是可以放入多种类型的数组
  3. 枚举类型 用来将状态码等映射成单词,例如Ajax.success= 200
enum Ajax {
    success= 200, error= 400
}

let f:Ajax= Ajax.success;
console.log(f);

ts函数与参数

//剪头函数
var a= ():string=> '123';

//可选参数使用?,且必须配置到参数序列的最后边
function getInfo(name:string, age?:number):string{
    return '123';
}

//默认参数,es6和ts都可以设置默认参数
function getInfo(name:string, age:number=30):string{
    return '123';
}

ts中的类

装饰器

装饰器是一种特殊类型的声明,本质是一个【方法】,会在【预编译】阶段执行,可以【无侵入的】修改或拓展类,方法,方法参数,属性的行为。

类装饰器

类装饰器会在预编译时当作函数被调用,其修饰的类的【构造函数】作为其唯一的参数, 如果类装饰器返回一个值,那么这个值的的构造函数会【替换掉】被装饰类原有的构造函数

//有一个Greeter类,我们希望给这个类添加封闭此类的构造函数和原型