ts知识

1、ES5、ES6是脚本语言规范,javascript是基于ES5规范的,typescript是基于ES6规范的。
2、typescript优势
支持ES6规范(指出未来将会成为客户端脚本语言的主流语法)
强大的IDE支持(类型检查、语法提示、重构)
Angular2开发语言
3、多行字符串。
js中换行需要在断行出添加加号,而ts只需要在整个字符串外加(也就是数字1前边哪个按键上的反撇号),直接在里边换行即可;
4、字符串模板。
表达式${ },字符串和表达式混合需要使用反撇号;
5、自动拆分字符串。
6、可选参数function test(a:string,b?:string) ?: 是可选参数,可以不指定,但必须放到必选参数后边;
7、函数新特性
Rest and Spread操作符 (...args)
用来声明任意数量的方法参数
//这里的...args就是Rest and Spread操作符,这里在调用的时候可以带 任意数量的参数
function func1(...args) {
args.forEach(function(arg) {
console.log(arg);
})
}
generator函数 (ES6的特性,可能很多浏览器还不支持)
控制函数执行过程,手工暂停和恢复代码执行
function* doSomething(){ //function* 声明了generator函数
console.log("start");
yield; // 断点
console.log("finish");
}
var func1 = doSomething();
func1.next();
func1.next();

 func1(1, 2, 3);  //输出 1,2,3
 func1(5, 7, 8, 9,10); //输出 5, 7, 8, 9,10

8、析构表达式
function getStock() {
return {
code: "IBM";
price: {
price1: 100;
price2: 200;
}
}
}
var {code, price: {price2}} = getStock(); //这里就是析构表达式,此处的属性名要相同

9、箭头表达式(用来声明匿名函数,消除传统匿名函数的this指针问题)
var sum - arg1 => arg2 + arg3;

10、forEach(), for in 和for of
var myArray = [1,2,3,4];
myArray.desc = "descs"; // 此条在ts中显示编译错误,但转换成js是没有错误的
myArray.forEach(value => console.log(value)); // 1,2,3,4 这里的循环不可以中断

for (var n in myArray) {
console.log(n);
} //返回0,1,2,3,desc 返回的是属性名,数字的属性名是其下标

for (var n of myArray) {
console.log(n); //输出的是1,2,3,4,此循环可以加break;
}

11、面向对象
类 (和java类似)

你可能感兴趣的:(ts知识)