1 ts 的安装
var flag:boolean =true; flag = false; flag = 123; // hellworld.ts:6:7 - error TS2322: Type ‘123‘ is not assignable to type ‘boolean‘. console.log(flag);
var num:number = 123; num=‘123‘; // hellworld.ts:8:3 - error TS2322: Type ‘"123"‘ is not assignable to type ‘number‘. console.log(num);
var str:string = ‘123‘; // str=‘123‘; console.log(str);
// 第一种 var arr:number[]= [1,2 ,3] // var arr:number[]= [1,‘2‘ ,3] hellworld.ts:15:25 - error TS2322: Type ‘string‘ is not assignable to type ‘number‘. ? // 第二种 (元祖类型也属于是数组类型,数组类型定义的一种,泛型的一种写法,泛型泛指一类型) var arr2:Array<number>= [1,2 ,3] ? // 第三种 var arr3:any[] = [1,‘2‘,3 , true] // any 放啥都行
/* enum 枚举名{ (枚举名首字母必须大写) 标识符[= 整型常数], 标识符[= 整型常数], ... 标识符[= 整型常数], } **/ enum Flag {success = 1, error = 0} let S:Flag =Flag.success let t:Flag = Flag.error console.log(s,t) // 1,0 ? enum Car {bwm , honda, jeep=3,toyota} let j:Car=Car.jeep let t:Car = Car.toyota let b:Car = Car.bwm console.log(j) // 3 console.log(t) // 4 console.log(b) // 0 // 注意: 下标从零开始,但是如果其中一个被赋值了,后一个会按照前一个的值来输出,第三个被赋值3,但是它的下标是2,后一个就变成了4,而不是3
var box:any = doucument.getElementById(‘#box‘); // 原生js获取dom对象是用的最多的
// 在ts中如果声明一个类型没有赋值的话就会报错,如果就是不想赋值可以使用undefined var num:number console.log(num); // 报错 ver numu:nudefined console.log(numu); // 正常 ? // 如果有值就使用number类型,没值就用undefined 可以用这种写法 var num1:number | undefined
function get():void{ console.log(‘我没有返回值‘) }
var a:never; a=(()=>{ throw new Error(‘这是一个错误‘) })()
function get():number{ // 这样就会报错返回的类型不对,里边必须返回是数字,其他类型跟这个相似用法 return ‘1233‘ } ? // 函数表达式 var fun2=function ():number{ return 123; } console.log(fun2()) // 123
function getInfo(name:string,age:number):string{ return ‘${name} ------ ${age}‘ } console.log(getInfo(‘boo‘, 12)) // boo-----12 // 括号里面是定义传递参数的类型,括号后边定义函数返回值的类型(传参必须和定义的类型一致,不然会报错) ? // 方法的可选参数 function getInfo(name:string,age?:number):string{ return age?‘${name} ------ ${age}‘:‘${name} ------ 年龄保密‘ } console.log(getInfo(‘boo‘, 18)) // boo-----18 console.log(getInfo(‘boo‘)) // boo-----年龄保密 ? // 注意可选参数必须配置到参数的最后面 // 错误写法 function getInfo(name?:string,age:number):string{ return age?‘${name} ------ ${age}‘:‘${name} ------ 年龄保密‘ } console.log(getInfo(‘boo‘, 18)) // boo-----18
原文:https://www.cnblogs.com/zxbky/p/13413013.html