糖語法

語法糖是一種語法,使得語言更容易理解和更具有可讀性,它使語言相對(duì)我們來說變得更"甜"。這也意味著ES6的一些"新"的特點(diǎn)并不是真的新,只是試圖簡化語法而已,讓我們編程更容易。這樣就無需使用老式的取巧的方法編寫你的代碼,而是可以一種更簡單的方式來編寫代碼,那就是使用糖語法。

javascript并不像其他面向?qū)ο笳Z言一樣支持類這個(gè)概念,相反js使用functionprototype模擬類的概念。

下面是創(chuàng)建類的新語法,類似JAVA代碼:

class Project {
  constructor(name) {
    this.name = name;
  }
 
  start() {
    return "Project " + this.name + " starting";
  }
}
 
var project = new Project("Journal");
project.start(); // "Project Journal starting"

你在這個(gè)類中定義的所有方法都被加入這個(gè)類的原型prototype中。

既然JS不支持類,那么它支持繼承嗎?

是的,JS中繼承是通過prototype實(shí)現(xiàn)。下面是WebProject子類繼承Project類的代碼:

class WebProject extends Project {
  constructor(name, technologies) {
    super(name);
    this.technologies = technologies;
  }
 
  info() {
    return this.name + " uses " + arrayToString(this.technology);
  }
}
 
function arrayToString(param) {
  // ... some implementation
}

var webJournal = new WebProject("FrontEnd Journal", "javascript");
webJournal.start(); // "FrontEnd Journal starting"
webJournal.info(); // "FrontEnd Journal uses javascript"

注意到在WebProject 構(gòu)造器中,調(diào)用了Project的構(gòu)造器,這樣可以使用它的屬性和方法。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 178,983評(píng)論 25 709
  • 1. Java基礎(chǔ)部分 基礎(chǔ)部分的順序:基本語法,類相關(guān)的語法,內(nèi)部類的語法,繼承相關(guān)的語法,異常的語法,線程的語...
    子非魚_t_閱讀 34,652評(píng)論 18 399
  • 官方中文版原文鏈接 感謝社區(qū)中各位的大力支持,譯者再次奉上一點(diǎn)點(diǎn)福利:阿里云產(chǎn)品券,享受所有官網(wǎng)優(yōu)惠,并抽取幸運(yùn)大...
    HetfieldJoe閱讀 3,079評(píng)論 4 14
  • 我猜 秋天是被秋風(fēng)熏枯的 秋風(fēng)一到 我的臉就開始蛻皮了 我想 哪一年秋天 皮不再褪去 我就會(huì)老去 那年的冬日的暖陽...
    偷了塊磚閱讀 162評(píng)論 0 0
  • 冬日午后的陽光透過高大的玻璃窗,將房間曬得暖洋洋的,今天的我(小S)泡上一壺菊香普洱,坐到窗臺(tái)上,邀請(qǐng)十年后的我(...
    三毛地閱讀 384評(píng)論 0 0

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