[學習筆記][javascript]話說Class

Athem
2 min readFeb 1, 2020

--

如果是學過物件導向語言的人,學class應該是很容易上手。這邊筆記學到的東西。希望本篇能給寫過物件導向一點幫助。

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

結論

我覺得挺好理解的,寫法不同而已。

--

--