1.静的メソッド
staticで定義された関数は、そのインスタンスアクセスを許可しません
// 静态方法 static 的定义
class Point {
x: number;
y: number
constructor (x:number, y:number) {
this.x = x
this.y = y
}
getPosition () {
return `(${this.x},${this.y})`
}
static getName () {
return Point
}
}
let p = new Point(2, 3)
console.log(p) // Point { x: 2, y: 3 }
console.log(p.getPosition()) // (2,3)
console.log(Point.getName())
console.log(p.getName())
2.ES5での継承
function Parent () {
this.name = 'zfb'
}
Parent.prototype.sayName = function () {
return this.name
}
function Child (sex) {
this.sex = sex
}
Child.prototype = new Parent()
let childPerson = new Child('女')
console.log(childPerson) // Child {sex: "女"}
console.log(childPerson.sayName()) // zfb
es6では、クラスの継承にはsuper()関数が必要です