






线上编译器:


本地编译器

npm install -g typescript


生成hello.js

IDE建立项目




勾选


旧的

新的




整个模板会被切分成一个数组


错误提醒

void说明不需要返回值

自定义类型:



带默认值的参数一定要声明在最后面
针对对象的析构表达式:

ES5

ES6写法



别名






不影响析构表达式
针对数组拆出本地变量:








用来声明匿名函数,消除传统匿名函数的this指针问题











break关键字在forEach里是不支持的,forEach不循环desc属性


for in循环的是键


for in循环值


不打印属性


可以用在数组,map,字符串上



类的示例化:

类的控制符:

public是默认的,在类的内部和外部都可以访问

private是类的私有属性,只能在类的内部访问,外部访问不了

类的内部可以访问

protected可以在类的内部,和子类访问,类的外部也不能访问
在js里,类的继承都是通过prototype的
类的构造函数(只有在实例化的时候会被调用,而且只会调用1次):



实例化时必须传递参数,构造函数的写法,下面会提示报错

在构造函数里,public是声明了一个属性

这里没有public,没有声明name属性,打会报错
类的继承:extends


可以新增属性和方法
super关键字:
用途1:调父类的构造函数:




调用父类其他方法




私有方法调用不了doWork

用来指定数组只能放person里的类型,数字2的时候会报错
作为方法的类型声明:



多传少传都会报错
用接口声明方法(implements-实现):

当声明的类要实现一个接口,他必须要实现这个接口的方法,否则会报错


在typescript里,模块就是文件,一个文件就是一个模块
在模块内部由export,import关键字支撑


语法提示只有pro1

回车后自动补全


一个模块既可以import也可以export




报错



js框架的类型定义文件

类型定义文件的下载
