babel-runtimeとbabel-polyfillの違いは、最初のものがグローバルスコープを占めていないことと後者が違います。私はバベル-ランタイムが、私はこれが何を意味するのか理解できない方が安全hovewerだと思うし、それは私に影響を与えるどのように:babel-runtimeはインスタンスメソッドでは機能しません
注:例えば、「foobarの」.INCLUDESとしてインスタンスメソッドは、(「foo」が)そのため、動作しません。既存の組み込み関数を変更する必要があります(そのためにbabel-polyfillを使用します)。
私の知る限り、インスタンスメソッドはmap, filter, reduce
のように、既存のオブジェクトで呼び出されるためです。どのような例がbabel-runtimeによって磨かれないのでしょうか? :
//1
['aa', 'bb', 'cc'].forEach(console.log);
//2
const arr = ['aa', 'bb', 'cc'];
arr.forEach(console.log);
//3
const entries = Object.entries(someObj).filter(([key, value]) => key.startsWith('hello'));
//4
const map = new Map();
//5
var s = new Set(["foo", window]);
Array.from(s);
インスタンスメソッドを正確に識別するにはどうすればよいですか?
babel-runtimeのための私のプロジェクトでbabel-polyfillを置き換えましたが、今は何が安全かは分かりません。
次に、実行時はあるケースでは動作し、他のケースでは動作しないため、常にpolyfillを使用する方が安全だと思われます。それでもバベルランタイムを使用すると、失敗する可能性があるので混乱します。とにかく詳細な答えをありがとう。 – Tomasz
IE9で動作する非常に古いアプリケーションでは、この古いブラウザで動作するように、複数の場所で(jsを使用して)パッチを適用し、ハッキングしたJavaServerFacesリッチインタフェースコンポーネントがかなり古いものです。babel-polyfillが含まれていれば、これらのJSFコンポーネントのいくつかは、polyfillが多くの、多くの(多くの)パッチにパッチを当てるため、中断されます。したがって、この場合はbabel-polyfillを使用することはできませんが、これは古いJSFコンポーネントを壊すことはないので、babel-runtimeを使用することは許容されますが、そうである場合は失敗する可能性があります。それが役に立ったら答えを受け入れるように自由に感じてください:) – dalvarezmartinez1