傳統的類定義和ES6的類定義

2022-09-19 03:12:13 字數 658 閱讀 6885

上述**是傳統的通過function來定義類

es5類繼承 注意:靜態方法無法繼承

2.原型鏈的繼承,用空函式來接收並傳遞父類原型中的方法,不會把父類不必要的屬性值一起傳遞出去,同時又是重新建立了乙個新物件,而不是通過簡單賦值而與父類原型繫結在一起

(cat.prototype = new animal()與cat.prototype =animal.prototype 結合。前者會把age和voice一起傳給cat原型中的_prop_。後者則不能獨立重寫cat原型中的speak方法,因與animal原型繫結在一起,如果修改了cat原型的speak方法animal原型中的speak也會修改,這樣就變成只能new cat並在cat例項中手動修改speak方法了)

上述**是es6的類定義方法,在es6中有了class這個語法糖便可以更好的定義類並理解

es6類繼承 注意:同樣無法繼承靜態方法

es6 定義靜態類 ES6中類的靜態方法有哪些作用

以前看過的es6的東西,又忘了,再總結下 類相當於例項的原型,所有在類中定義的方法,都會被例項繼承。如果在乙個方法前,加上static關鍵字,就表示該方法不會被例項繼承,而是直接通過類來呼叫,這就稱為 靜態方法 class foo static classmethod return hello fo...

js ES5和ES6定義類的區別

以下是es5標準裡定義類的方法 function point x,y point.prototype.tostring function var point new point 1,2 上面這樣用建構函式和原型混合的方法定義類,是為了每次new新例項時可以共享方法,不用建立function新例項。所...

es6 定義靜態類 es6中靜態變數

最近剛看react,什麼是靜態方法不太懂,就我目前所理解的說一下,如有不對望不吝賜教 首先說一下react的單向資料流。呼叫了hello這個元件,跟普通的函式呼叫差不多,name jhon 是它的實參,在定義hello元件這裡 class hello extends react.component ...