以前剛接觸程式設計時就聽得最多的就是物件導向程式設計,但後來工作後能通過物件導向程式設計的少之又少,現在企業裡的開發做的都是業務邏輯,牽扯到的多半是業務**。最近做了個編輯器的功能,裡面使用了物件導向程式設計的思想,讓我頗有感觸,所以學好class作為基礎還是很重要的。
class
people
//等同於
class
people
}
constructor預設返回例項物件(this),在乙個類中只能有乙個名為 constructor 的方法 ,否則會報錯
class
people
static peopleproperty =
"吃吃喝喝"
}
子類可以繼承父類的靜態屬性和靜態方法,而例項不可以,例項可以使用父類的公共屬性和公共方法,相當於class所建立的類的公共屬性和方法都掛載到它的protoytype上
class
child
extends
people
//繼承父類的靜態屬性,但不能修改
static childproperty =
super
.peopleproperty
constructor
(name, age)
sleep()
}let child =
newchild
('小紅',18
);
1.子類用extends關鍵字繼承
2.super()只能用在子類的建構函式之中,使用super,子類可以呼叫父類的屬性和方法
3.父類的子類的constructor中必須呼叫super,因為子類沒有this指向,而是繼承父類的this。
console.
log(object.
keys
(people.prototype));
//==>
class中的屬性和方法是不可以列舉的,而es5中是可以列舉的
object.
assign
(people.prototype,
,getaddress()
}); console.
log(people.prototype)
es6中class類的使用
在es5中我們是使用建構函式例項化出來乙個物件,那麼建構函式與普通的函式有什麼區別呢?其實沒有區別,無非就是函式名稱用首字母大寫來加以區分,這個不用對說對es5有了解的朋友都應該知道。但是es5的這種方式給人的感覺還是不夠嚴謹,於是在es6中就換成了class,就是把es5中的function換成了...
理解ES6中class語法
function point result point.prototype.add function var num new point add 建立例項並呼叫add方法 console.log num 列印這個方法的返回值1.宣告類 class point add let num new poin...
ES6中的class類詳解
目錄 一 class簡介 二 靜態方法和靜態屬性 2.1 靜態方法 2.2 靜態屬性 三 class繼承extends 四 class的取值函式getter和存值函式setter 五 super關鍵字 六 注意事項 傳統的js只有物件的概念,沒有class類的概念,因為js是基於原型的物件導向語言,...