es6中的類語法糖

es5中的類型定義

function Person(name, age){
this.name = name;
this.age = age;
}
Person.prototype.sayName = function(){
alert(this.name);
};
Person.prototype.getOlder = function(years){
this.age += years;
};

es6語法

再看看使用新語法定義的類:
class Person {
constructor(name, age){
public name = name;
public age = age;
}
sayName(){
alert(this.name);
}
getOlder(years){
this.age += years;
}
}

  • 新語法以關(guān)鍵字class 開頭,然后就是類型名,而花括號中定義的是屬性和方法。
  • 定義方法不必再使用function 關(guān)鍵字,有方法名和圓括號就可以。
  • 如果把方法命名為constructor,那它就是這個(gè)類的構(gòu)造函數(shù)(與前一個(gè)例子中的Person 函數(shù)一樣)。
  • 在這個(gè)類中定義的方法和屬性都會添加到原型上,具體來說,sayName()和getOlder()都是在Person.prototype 上定義的。
  • 在構(gòu)造函數(shù)中,public 和private 關(guān)鍵字用于創(chuàng)建對象的實(shí)例屬性。這個(gè)例子中的name 和age都是公有屬性。
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容