在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
1,类: 类是TypeScript的核心,大部分代码都是写在类里面; 声明:class 类名{ 属性; 方法(){};} 注意:类名首字母同样大写,但是方法不需要表明类型,直接写方法名加()即可;属性也不要声明类型;直接写属性名即可; 但是可以加上访问控制符public(类外类内都可访问),protected(类内和子类里可访问),private(类内访问); 用protected和private修饰的构造函数,不能被实例化;但是用protected修饰的可以被继承; 实例化:利用new关键字; 例: class Person{ name; eat(){ console.log("eating"); } } var p1=new Person(); p1.name="zhangsna"; p1.eat(); 构造函数:constructor,每次实例化时都会调用构造函数,类外只能用new可以调用; class Person{ name; //声明属性 constructor(name : String){ //构造函数 this.name=name; } } 可以用另一种写法: class Person{ constructor(public name:String){ //注意与constructor(name : String)不同,在构造函数处使用访问控制符要明确标明,加访问控制符是声明了name属性,不加则是没有声明name属性; } eat(){ console.log(this.name); //上边不加访问控制符是不会打出name的,会报错(因为不加访问控制符就是没声明name); } } 2,类的继承:extends和 super 子类继承了父类后,就会获得父类的所有属性和方法; super的两个用法:都是调用父类的方法时用,分别是构造方法和非构造方法 当调用父类的构造方法时使用super; class Employee extends Person{ constructor (name : String ,code : String){ super(name); this.code=code; } code:String; work(){ super.eat(); //当调用父类的非构造方法时 this.doWork(); } private doWork(){ //将doWork()方法声明为private是为了在类外不能先调用,,防止不吃饭就干活,而是先让吃饭再干活; } } 3,类有时可以当作接口使用:(因为类可以创建类型) class Point{ x : number; y : number; } interface Point3d extends Point{ z : number; } let point3d : Point3d = {x : 1, y : 2 ,z : 3}; 4,javascript中的函数,可以使用函数体外部的变量;当函数这么做时,我们说它‘捕获’了该变量; let z = 100; function addToZ(x , y){ return x+y+z; } |
请发表评论