ts的优势:
支持ES6规范
强大的IDE支持(类型检测、语法提示、重构等)
Angular的开发语言
ts的新特性:
一、字符串
1、多行字符串,使用反引号``
2、字符串模板,使用表达式传入变量和方法。例如`dadad${name}dsfdsf`,同样需要反引号。这里可以用于自己开发模板数据绑定模块
3、自动拆分字符串
1 function test(template, name, age){ 2 console.log(template); 3 console.log(name); 4 console.log(age); 5 } 6 7 var myname = "zhai"; 8 9 var getAge = function(){ 10 return 12; 11 }; 12 13 test.`hello my name is ${myname}, i'm ${getAge()}`;
二、参数新特性:
1、参数类型:声明数据类型,显示声明和隐式声明 any可以任何类型。变量和方法的后面
2、默认参数:主要是方法的默认参数 test(b: string = '23'){...}
3、可选参数: function test(c?: string){ ... }
三、函数新特性:
1、Rest and Spread操作符:用来声明任意数量操作符。 test(...arg){...}
2、generator函数:控制函数的执行过程,手动暂停和恢复代码的执行
3、destructuring析构表达式:通过表达式将对象或数组拆解成任意数量的变量。解构
四、表达式与循环:
1、箭头表达式:用来声明匿名函数,消除传统匿名函数的this指针问题
2、for of循环:可以break出循环
五、面向对象特性:
1、类class:用class关键字声明一个类、类的构造函数、类的继承extends
2、泛型generic:集合的类型Array<Person>
3、接口interface:建立某种代码约定
4、注解annotation:注解为程序的元素(类、变量、方法)加上更明了的说明,这些说明信息与程序的业务逻辑无关,而是供指定的工具或框架使用的。
5、类型定义文件*.d.ts:类型定义文件用来帮助开发者在ts开发中使用已有的js库,例如jq