ts学习笔记
ts 为了解决弱语言的存在
编译 tsc xxx.ts会转化为js文件
ts的语言类型
let a:number
let b:string
let c:boolean
//字面量进行类型声明
let a:number|string;
let b:10|20;
a=10
b=20
let d:any //表示任意类型
let d //隐式转换为any类型
let e:unknown //与any类似,但是不能给别人赋值
//断言
let s:string
s = e as string //进行断言后可以进行赋值
//函数
function aaa(x:number,y:number) :number{//指定返回值类型
return (x+y)
}
function aaa(x:number,y:number) :void{//指定返回值类型,返回空
}
function aaa(x:number,y:number) :never{//指定返回值类型,没有返回值
可以用来throw new err
}
//对象
let b:{name:string,age?:number}
let c:{name:number ,[propName:string]:any}//键值对,键必须为字符串,值可以为任何值
//函数
let a:(a:number ,b:number)=>number
//数组
let a:number[]
let b:Array<string>
//元组(固定长度的数组)
let a:[string,number]
//枚举
enum gende1r{
Male,
Female
}
let i:{name:string,gender:gende1r}
//类型
type aaa = 1|2|3|4|5
let a:aaa
实现类似于nodemon的功能:
tsc --init 创建配置文件 tsconfig.json
tsc -w -w表示watch的意思
"include": [ //该目录下的文件可以被编译,**表示任意目录,*表示任意文件
"./src/**/*"
],
"exclude": [ //该目录下的文件不需要被编译
// "./src/**/*"
],
"compilerOptions":{
"target": "es2016", //转换的js文件需要是哪个版本
"lib": [], //依赖的模块
"module": "commonjs", //模块化规范
"outFile": "./", //将src文件下所有的ts代码合并为一个js文件进行输出
"outDir": "./", //文件输出后的文件所在的目录
"removeComments": true, //移除注释
"noEmit": true, //不生成编译后的文件
"noEmitOnError": true, //如果有错误时编译后不生成 文件
}