官方文档地址
vscode中配置自动编译.ts文件
- 在项目目录下执行
tsc --init,生成tsconfig.json文件,配置其中的output选项 - 在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开启装饰器识别
- 在全局配置文件中添加
"javascript.implicitProjectConfig.experimentalDecorators": true - 在tsconfig.js中添加
"experimentalDecorators": true
ts中的数据类型
布尔类型(boolean),数字类型(number),字符串类类型(string),数组类型(array),元组类型(tuple),枚举类型(enum),任意类型(any),null&undefined,void,never
- 数组类型
let a:number[]= [1,2,3]或者let a:Array<number>= [1,2,3] - 元组类型
let a:[number, string]元组类型就是可以放入多种类型的数组 - 枚举类型 用来将状态码等映射成单词,例如
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类,我们希望给这个类添加封闭此类的构造函数和原型