版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_35414779/article/details/79268612
比较文绉绉的形容typescript的一句话是,“可选静态系统,基于类的编译型语言”(其实我也不太懂这句话的深刻意思)
通俗易懂点描述它就是“js的超集,支持js的所有属性还有其他的优势”
npm安装typescript
npm i -g typescript
在命令行上,运行TypeScript编译器:
>tsc 你的typescript文件.ts
得到 你的文件名.js,然后在web页面或者node中引用它。
1.数据类型
let x:string = '1';
let y:number = 1;
let z:boolean = true;
...
这是ts的一大特性,将js(弱类型语言)转换为了像Java 一样的强类型语言。
(也解决了js的一大鸡肋)
2.元组
let x:[string,number];//可以指定数组的第一个是什么类型,第二个是什么类型
x = ['10',10]; //OK
x = [10,'10']; //Error
元组相当于约定已知的数组类型,在上面的x数组中,必须x[0]是string类型,x[1]是number类型。
3.枚举
一个枚举类型可以包含零个或者多个枚举成员。枚举成员具有一个数字值。
(没有理解枚举的概念,希望能得到指点。)
4.任意值
说到任意值,ts又是一大便利。
let arr:any[] = [1,'1',false]
console.log(let[1]); //1
在变量后面加上any声明的时候,又相当于把ts从强类型语言转换成了弱类型。变量的定义又回归了let。
不知道要定义的变量是什么类型的时候,就可以直接定义为any,这样编译检测就可以直接省略。
5.空值
个人感觉,ts就是将js不断的向Java这样的语言去转换。
空值表示没有任何类型,就像Java里面的void,表示函数不返回值。
function():void{}
表示着这个函数没有return
6.类型断言
类似大多数语言的类型转换。
let someValue: any = "this is a string";
let strLength: number = (<string>someValue).length;
待更新...
以上都是个人总结出来的,肯定也有不对的地方,欢迎交流指点,互相学习。