序言
這篇文章主要講解面試中的一個問題 - ES6中的class語法的實現(xiàn)?
ECMAScript 6 實現(xiàn)了class,class是一個語法糖,使得js的編碼更清晰、更人性化、風(fēng)格更接近面向?qū)ο蟮母杏X;也使 IDE 、編譯期類型檢查器、代碼風(fēng)格檢查器等工具更方便地檢測代碼語法,做靜態(tài)分析。同樣的,這給沒有類就缺點什么的軟件開發(fā)工程師一個更低的門檻去接觸js。
ES6 class 的 ES5 代碼實現(xiàn)
JavaScript語言的傳統(tǒng)方法是通過構(gòu)造函數(shù)定義并生成新對象,這種寫法和傳統(tǒng)的面向?qū)ο笳Z言差異較大。所以,ES6引入了Class這個概念作為對象的模板。
constructor
效果:ES6創(chuàng)建一個class會默認添加constructor方法,并在new調(diào)用時自動調(diào)用該方法。
ES5:
function Person(name, age) { this.name = name; this.age = age; } Person.prototype.toString = function () { return '(' + this.name + ',' + this.age + ')'; } var p = new Person('Mia', 18); console.log(p);// Person { name: 'Mia', age: 18 }
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機、免備案服務(wù)器”等云主機租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。