WHAT?
特性
- 用保留字class產生一個class。
- 可以有建構子(constructor)、屬性(properties)及方法(methods)。
- 可以繼承(extends)。
長這樣
class Person{
constructor(A) {
this.name = A
}
printName() {
console.log(`My name is ${this.name}`)
}
}
HOW?
基本用法
拿上面的例子舉例,這樣用:
const AMY = new Person('Amy')
// My name is Amy
繼承用法
寫一個給Person繼承的class:Human
class Human {
constructor() {
this.type = 'human'
}
printType = () => {
console.log(`I'm a ${this.type}`)
}
}
然後讓Person繼承Human:extends
class Person extends Human {
constructor(Name) {
super() // <======= super()後才能繼承Human
this.name = Name
this.type = 'girl' // 也可以override父層的屬性
}
printName = () => {
console.log(`My name is ${this.name}`)
}
}
最後來使用看看吧!
const Amy = new Person('Amy')
Amy.printName() // My name is Amy
Amy.printType() // I'm a girl
結論
我覺得挺好理解的,寫法不同而已。