week10 - stayjay/wp109b GitHub Wiki

class Circle {
  constructor(r) {
    this.r = r
  }
  area() {
    return 3.14*this.r*this.r;
  }
}

var c1 = new Circle(1)
console.log("c1.r=%d", c1.r);
console.log("c1.area()=%d", c1.area());
var c2 = new Circle(2)
console.log("c2.area()=%d", c2.area());

結果

c1.r=1
c1.area()=3
c2.area()=12

JavaScript語言中因為在設計上並不是以類別為基礎的物件導向,設計上不一樣,

所以 this 的指向的是目前呼叫函式或方法的擁有者(owner)物件,也就是說它與函式如何被呼叫或調用有關, 雖然是同一函式的呼叫,因為不同的物件呼叫,也有可能是不同的 this 值。 使用關鍵字class創建一個類。

class

始終添加一個名為 的方法constructor(): 句法

class ClassName {
  constructor() { ... }

JavaScript 類不是對象。

它是JavaScript 對象的模板。 }

筆記文章和程式碼均引用JavaScript