TypeScript错误信息列表
错误信息列表 · TypeScript中文网 · TypeScript——JavaScript的超集https://www.tslang.cn/docs/handbook/error.html
字符串新特性:
1.多行字符串:写在撇号``内
2.字符串模板:换行方便,不用拼接
3.自动拆分字符串:字符串模板调用一个方法,自动拆分
参数新特性:
1.参数类型:
在参数名称后面使用冒号来指定参数的类型,typescript是强类型语言,类型错误会报错
//string number boolean any
var age:num=13;
//void不需要返回值
function test1():void{ }
//string需要返回一个string类型的值
function test1():string{
return “”
}
//自定义参数
var zhangsan:Person = new Person();
2.默认参数:
在参数声明后面用等号来指定参数的默认值,若没有默认值,则调用函数时必须全部指定参数
function test3(a:string,b:string,c:string="jojo"){
}
3.可选参数:
在方法的参数声明后面用问号来标明此参数为可选参数
function test4(a:string,b?:string,c:string="jojo"){
}
函数新特性:
1.Rest and Spread操作符:用来声明任意数量的方法参数 function func1(...args){}
2.generator函数:控制函数的执行过程,手工暂停和恢复代码执行
3.destructuring析构表达式:通过表达式将对象或数组拆解成任意数量的变量
函数的析构表达式
var {brand,price:{price2}}=getStock();
//等价于
var stock=getStock();
var brand=stock.brand;
var price=stock.price.price2;
数组的析构表达式
var array1=[1,2,3,4];
var [number1,,,number2]=array1;
表达式和循环:
1.箭头表达式:用来声明匿名函数,消除传统匿名函数的this指针问题
var sum=(arg1,arg2)=>arg1+arg2;
//等价于
var sum = function (arg1, arg2) {
return arg1 + arg2;
};
var myArray=[1,2,3,4,5];
console.log(myArray.filter(value => value%2==0));
//等价于
console.log(myArray.filter(function (value) {
return value % 2 == 0;
}));
2.forEach( ),for in 和 for of
for(var n in myArray){
console.log(myArray[n]);
}
for(var m of myArray){
if(m>2) break;
console.log(m);
}
面向对象特性:
1.类Class:类是TypeScript的核心,使用TypeScript开发时,大部分代码都是写在类里面的。
class Person{
public name;
private name1;
protected name2;
eat(){
console.log("I am eating")
}
}
2.构造函数:有参和无参
constructor(name:string){
this.name=name;
}
3.继承:
class Employee extends Person{}
4.泛型:参数化的类型,一般用来限制集合的内容
var workers:Array<Person>=[];
5.接口:Interface 用来建立某种代码约定,使得其他开发者在调用某个方法或创建新的类时必须遵循接口所定义的代码约定
interface IPerson{
name:string;
age:number;
}
6.模块可以帮助开发者将代码分割为可重用的单元。开发者可以自己决定将模块中的哪些资源(类、方法、变量)暴露出去供外部使用,哪些资源只在模块内使用
7.注解:注解为程序的元素(类,方法,变量)加上更直观更明了的说明,这些说明信息与程序的业务逻辑无关,而是提供指定的工具或框架使用的
8.类型定义文件(*.d.ts):类型定义文件用来帮助开发者在 TypeScript中使用已有的JavaScript的工具包,如JQuery