webpackとbabel-core 5.8.25
を使ってアプリを書いています。Object.assignがSafari 8.0.7で動作しないように見えるのはなぜですか?
ある時点で、この処理が行われます。
someArray.map(item => {
const updatedItem = Object.assign({}, item); // silently fails here... doesn't even continue the code
updatedItem.prop = 'something cool';
});
これは明らかに、ブラウザを打つ前にコンパイルされます。 Chromeの最新バージョンとiOS Safariの最新バージョンで動作しますが、Safari 8.0.7
では黙って失敗します(エラーはスローされません...その行を超えていません)。予想通り
これは、しかし、(lodashを使用して)動作します。
someArray.map(item => {
const updatedItem = _.extend({}, item); // the important part
updatedItem.prop = 'something cool';
});
任意のアイデア?私はこれに関してインターネットをぶち壊そうとしたが、役に立たなかった。
バベルのポリフィルをロードしていますか? 'require( 'babel-core/polyfill');' – loganfsmyth
@loganfsmyth、明示的ではありません。私はwebpackと組み合わせてbabel-loaderを使用しています(そして、私はbabel-loaderが単にbabel-coreを利用すると信じています)。これはブラウザ間の機能の違いを説明しますか? iOS 9のモバイルSafariとOSXデスクトップChromeでは、 'Object.assign'をコンパイルするとうまく動作します。 –