function sum(s:number,b:number):number{
return a+b;
}
let c:boolean = false
-
类型
// 字面量类型声明 |连接多个类型(联合类型) let b:'male' |'female'; // any表示任意类型 可以给任意变量复制 let d: any; c=d; //类型断言 let e= 'hello' let s = e as string s =<string>e; // void表示空 never表示永远不会返回结果 function fn() : void{} function fn2():never{ //用来报错的 throw new Error("报错了!"); } //对象 {}指定对象中包含哪些属性, [propName: string]:any 表示任意类型的属性 let ob1 :object; let ob2:{name:string,age?:number}; let ob3:{name: string,[propName: string]:any} //设置函数结构的类型声明 let ob4:(n1:number,n2:number)=>number; ob4 = function (n1,n2):number{ return n1+n2; } //数组 let arr: string[]; arr=["a",'b','c']; let f:number[]; let g: Array<number>; //元组,固定长度的数组 let h:[string,string] //枚举 enum Gender{ Male, Female } let i:{name:string,gender:Gender} //类型别名 type myType = 1|2|3|4|5; let m: myType; m=1;
-
配置选项
{ // tsconfig.json 是ts编译器的配置文件,ts编译器可以根据它的信息来对代码进行编译 //include 指定哪些ts文件需要被编译 **任意目录 *任意文件 "include": ["./src/**/*"], "exclude": [], //编译器配置 "compilerOptions": { // target 用来指定ts被编译为ES的版本 "target": "ESNext", // module指定要使用的模块化的规范 "module": "commonjs", //lib用来指定项目中要用的库 "lib": ["dom"], //outDir 用来指定编译后文件所在的目录 "outDir": "./dist", // 将代码合并为一个文件 "outFile": "./dist/app.js", //是否对js文件进行编译,默认为false "allowJs": false, "checkJs": false, //是否移除注释 "removeComments": false, //是否生成编译后的文件 "noEmit": false, // 当有错误时不生成编译后的文件 "noEmitOnError": true, // 所有严格检查的总开关 "strict": false, //设置编译后的文件是否使用严格模式,默认false "alwaysStrict": true, //不允许隐式 any "noImplicitAny": true, // 不允许不明确this "noImplicitThis": true, // 严格的检查空值 "strictNullChecks": true } }