javascript - 事前定義されたクラス変換の継承に関する Babel の問題
曾经蜡笔没有小新
曾经蜡笔没有小新 2017-05-19 10:30:16
0
1
539

ES6 を使用して Array を継承するクラスを作成し、プッシュ メソッドをオーバーライドしましたが、babel を使用して ES5 に変換した後、呼び出されたメソッドがまだ元のプッシュ メソッドであることがわかりました。

.babelrc: リーリー

ES6コンパイル前のコード: リーリー

ES5babel によってコンパイルされたコード: リーリー

実際には、ROUTE クラス インスタンスのメソッドが実行されるとき、_createClass メソッドのビジネス ロジック コードはまったく呼び出されず、プッシュ メソッドがオーバーライドされない限り、Array のプッシュ メソッドのみが実行されます。コンストラクター。

バベルのバージョン:

リーリー

曾经蜡笔没有小新
曾经蜡笔没有小新

全員に返信(1)
我想大声告诉你

部分的なサポート
ES5 エンジンの制限により、HTMLElement などのクラスはサブクラス化できますが、Date、Array、Error などの多くのクラスはサブクラス化できないため、組み込みのサブクラス化可能性はケースバイケースで評価する必要があります。

ブラウザエンジンの制限のため、BabelはDate、Array、Errorなどの一部の組み込みクラスのサブクラスをサポートしていないため、独自のニーズに応じて必要な型を定義してください

参考: https://babeljs.io/learn-es20...

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート