2
這裏是simple plunker example涉及類的繼承,具有墊片和巴貝爾選項被設置爲stage: 0, loose: 'all'
:巴貝爾protoToAssign「變壓器和ES6類繼承
class Hello {
static address = ', world!';
greeting = 'Hello';
constructor() {
this.greet();
}
greet() {
document.write(this.greeting + Hello.address);
}
}
class Hi extends Hello {
greeting = 'Hi';
constructor() {
super();
}
}
new Hi().greet();
顯然,它的作品,因爲它應該在IE5.5 +。
Babel spec.protoToAssign
變壓器對於針對傳統瀏覽器的ES6/ES7轉換後的OOP代碼有利(或不希望)有什麼情況?
太好了,謝謝,我明白了。靜態屬性是依賴於'__proto__'的Babel類實現中唯一的東西嗎?我最近偶然發現了[這篇文章](http://ricostacruz.com/til/babel-ie-class-inheritance.html),它聲稱'super'依賴於'Object.getPrototypeOf',因此會在老的時候失敗IE瀏覽器,但它不是我的經驗,也沒有遇到'Object.getPrototypeOf'在傳譯代碼。 – estus
這一切都涵蓋在Babel的[警告](http://babeljs.io/docs/advanced/caveats/)頁面中,請參閱關於類的章節。如果您需要支持IE <= 8,您可能需要啓用「鬆散模式」。 – loganfsmyth
當然,謝謝,我已經在上面的示例中啓用了鬆散模式。 – estus