JavaScriptでDateオブジェクトのクローンを作成する

以下のいずれかで新たなDateオブジェクトを生成できる。 結果は同じ。 const start = new Date() // クローン方法1 const end = new Date(start.getTime()) // クローン方法2 const end = new Date(start.valueOf()) > JavaScr ...

Babel 7.4.0で非推奨になった@babel/polyfillを使わず、core-js@3で環境構築する

@babel/polyfillのページにBabel 7.4.0から非推奨になったと書かれている。 > As of Babel 7.4.0, this package has been deprecated この記事ではwebpack4でBabel7.4を ...

シャローコピー(shallow copy)とディープコピー(deep copy)の違い

変更前後の値を比較する際に、ディープコピーが使われる。 例えば、商品の管理画面を作成しているとする。 商品名や説明、金額を変更できるが、管理画面を使っている人は変更前はどんな値だったか確認しながら変更したいと思う。変更前の値と変更後の値を比較するには、変更前の値をどこかに保持しておかねばならない。そこでディープコピーが使われる。 ここでシャローコピーを使うと、 ...

JavaScript axiosをasync、awaitとtry、catch、finallyで制御する

HTTP通信ライブラリのaxiosを使って、 APIをasync、awaitで制御するコードを書いていく。 [[toc]] webpackでbabel7 + webpack-dev-server + json-serverの環境構築 Promiseやasync、`aw ...

JavaScript dayjsはMoment.jsの代替になるか?

JavaScriptの日付操作には罠が多く、業務では日付操作を簡単かつ安全に操作するライブラリが使われる。日付操作のライブラリの中でもMoment.js(Star数40,601)はよく知られているが、ファイルサイズが大きくパフォーマンス改善の妨げになることがある。 そこでこの記事ではより軽量で ...