コード日進月歩

しんくうの技術的な小話、メモ、つれづれ、など

JavaScript

JavaScriptのデフォルト引数はundefinedを渡した場合でもデフォルト引数を入れてくれる

なるほど、と思ったのでメモ 前提 この仕様はECMA2015からの仕様です、IE11などでは動かない話なのでお気をつけください。 今回着目したいコード 引数に何も設定されていないときに代わりの値として入るデフォルト引数を書く場合の関数を考える function tes…

JavaScriptの二重のアロー演算子を使ったカリー化がわかりにくいので分解して理解する

読んでいてたまにわからなくなるタイミングがあるので記憶を呼び起こすためのメモ カリー化とは Wikipedia曰く以下のようなことをカリー化としている。 カリー化 (currying, カリー化された=curried) とは、複数の引数をとる関数を、引数が「もとの関数の最…

JavaScriptのDestructuring(分割代入)に関してざっくりまとめる

便利だけど名前がふわっとしているので雑にまとめる 今回取り上げるもの JavaScriptにおいて Destructuring assignment と呼ばれるもの、日本語では分割代入と訳したり、ままカタカナ語でデストラクチャリングという。大きくこの機能には「配列を対象にした…

JavaScriptのスプレッド構文(...)についてざっとまとめる

ドットドットドットとかトリプルドットとか、ググる場合の初見殺しであるスプレッド構文に関してまとめる スプレッド構文とは 変数名の前にドット3つで表現する構文 ... というものをスプレッド構文という。なお、functionの引数に...を付けて表現するものは…

JavaScriptのアロー関数に関してざっくりまとめる

アロー関数の勘所に関して再確認も含めてメモ 基本の文法 即時returnのアロー関数 before x = function(z){ return z + 100; } console.log(x(20)) after x = (z) => z + 100 console.log(x(20)) 複数処理をする場合のアロー関数 returnをしっかり明示する必…

JavaScriptの変数宣言がletがなぜ良いのかをざっくりまとめる

varはやめろ、という背景にあるものをしっかり説明できないのでざっくり書く TL;DR スコープの管理がletのほうがより区切られているのでそちらを使うべき letのスコープとvarのスコープ varはブロック({})で囲んだ中でも作用する 例えば以下のようなコードが…