- 看透JavaScript:原理、方法與實(shí)踐
- 韓路彪
- 451字
- 2020-11-28 15:50:49
第9章 類
9.1 新類型class
ES2015中最大的改變應(yīng)該就是啟用了class關(guān)鍵字,即類的概念。注意,ES本身是基于對(duì)象的語(yǔ)言,雖然啟用了類的概念,但是依然不是基于類的語(yǔ)言而是基于對(duì)象的語(yǔ)言,這一點(diǎn)在ES2015標(biāo)準(zhǔn)中有明確的說(shuō)明。
Even though ECMAScript includes syntax for class definitions, ECMAScript objects are not fundamentally class-based such as those in C++, Smalltalk, or Java.
從這里可以看出ES并不是基于類的語(yǔ)言,另外,ES2015中也明確指出了ES是基于對(duì)象的語(yǔ)言。
ECMAScript is object-based: basic language and host facilities are provided by objects, and an ECMAScript program is a cluster of communicating objects. In ECMAScript, an object is a collection of zero or more properties.
因此,雖然ES2015中啟用了class的概念,但是ES的本質(zhì)并沒(méi)有發(fā)生變化,依然是基于對(duì)象的語(yǔ)言而不是基于類的語(yǔ)言,使用class主要是為了方便操作。雖然,對(duì)于class所做的事情使用原先的閉包和prototype等組合也可以完成,但是那樣要比直接使用class操作麻煩很多,看起來(lái)也不夠清晰,并且直接使用class時(shí)采用的是底層語(yǔ)言(例如c、c++)的開發(fā)功能,效率更高,因此在瀏覽器支持的情況下應(yīng)該盡量使用內(nèi)置的class。
基于對(duì)象的語(yǔ)言和基于類的語(yǔ)言存在本質(zhì)區(qū)別,例如在基于對(duì)象的語(yǔ)言中創(chuàng)建出來(lái)的實(shí)例對(duì)象可以自己直接添加刪除屬性,也可以添加、刪除或者修改已有的方法屬性,這在基于類的語(yǔ)言中是不可以的。
推薦閱讀
- Learning Microsoft Windows Server 2012 Dynamic Access Control
- 程序員修煉之道:程序設(shè)計(jì)入門30講
- Apache ZooKeeper Essentials
- 摩登創(chuàng)客:與智能手機(jī)和平板電腦共舞
- C# 從入門到項(xiàng)目實(shí)踐(超值版)
- HTML5+CSS3+JavaScript Web開發(fā)案例教程(在線實(shí)訓(xùn)版)
- Learn React with TypeScript 3
- Visual C++開發(fā)入行真功夫
- 一塊面包板玩轉(zhuǎn)Arduino編程
- 區(qū)塊鏈架構(gòu)之美:從比特幣、以太坊、超級(jí)賬本看區(qū)塊鏈架構(gòu)設(shè)計(jì)
- HTML+CSS+JavaScript網(wǎng)頁(yè)制作:從入門到精通(第4版)
- 超簡(jiǎn)單:用Python讓Excel飛起來(lái)(實(shí)戰(zhàn)150例)
- 黑莓(BlackBerry)開發(fā)從入門到精通
- R語(yǔ)言與網(wǎng)站分析
- Java項(xiàng)目驅(qū)動(dòng)開發(fā)教程