javascriptのtimesっぽい[…Array(5)].map(_ => console.log(_))が動かない原因

javascriptのtimesっぽい[…Array(5)].map(_ => console.log(_))が動かない原因

LINEで送る
Pocket

javascriptでrubyのtimesっぽいことをしたい時に、よく使われるテクニック。

動かない場合は、babel設定をチェックしてみてください。

スプレッド構文を使い時に利用するプラグイン、「@babel/plugin-transform-spread」のlooseをfalseにすると動きます。

https://babeljs.io/docs/en/babel-plugin-transform-spread#loose

Array(5)を宣言すると

[undefined, undefined, undefined, undefined, undefined]

こんな配列が作られます。

looseをtrueにするとundefinedは無視されてしまうのでループされません。

`loose: false` にすることで影響が出そうなら、lodashのtimesを使いましょう。

LINEで送る
Pocket

フロントエンド開発でお困りのことはありませんか?

フロントエンドの開発支援を行っています。

・Reactの開発をお願いしたい

・コーディング作業を依頼したい

・javascriptライブラリを作って欲しい。

上記以外にも何かありましたらお気軽にお問い合わせください。

コメントを残す