typescript
1.补充js没有的特性--类型,抽象,接口
2.严谨
安装:(如果下载失败 可能权限不够,可以右键命令提示符(cmd)管理员运行)
cnpm i typescript -g
1.类型:
变量,参数,返回值
指明类型:
1.显式申明 let a:string;
2.隐式申明 let a=12;
如果让变量什么都能装
1.不给初始值
2.显示申明any
联合类型
let a:(number,string)="12"
let a:(number,string)=12
(类型1|类型2|类型3)
元组类型 [类型1,类型2] 之后push的类型不限制
枚举-列举有限的可能性
void类型-常用的返回值 函数返回为空
null/undefined
never
2.类
新的写法
访问修饰符--public/private/protected
public 任何人都能修改
private 只有类内部能使用
protected 只有类和子类能使用
例如:private name:string;
访问修饰符怎么用?
“最小访问原则”,“属性都是private和protected,方法可以是public”
//原版
class Person{
protected name:string;
public age:number;
constructor(name:string,age:number){
this.name = name
this.age = age
}
show():void{
console.log(`姓名:${this.name} 年龄:${this.age}`)
}
}
//简写
class Person{
constructor(private name:string,private age:number){
}
show():void{
console.log(`姓名:${this.name} 年龄:${this.age}`)
}
}
let p = new Person("fanshihao",666)
p.show();
修饰符
static 静态成员--无需实例化可调用
const 只读成员--只读的 不能修改
存取器
set/get 编译不了es3 es4 主要是要用到Object.defineProperty
3.高级特性
抽象,接口s
//抽象类只能作为父级使用,不能直接被实例化
abstract class Shape{}
一些对象具有共同的特性
1.继承
2.实现接口
抽象类---只提供模板,而不自己实现(作用:规范所有的子类)
即是 多态
接口,抽象为了规范所有子类
typescript
1.类型
2.修饰符
访问修饰符
const,static
3.泛型
let arr:string[]=[]
4.抽象类,接口
推荐接口
2086

被折叠的 条评论
为什么被折叠?



