どうもダメ人間です。
今回は、古い()コードを改修する際によく見かけ、「お、これはES2015にすべきか、このままでいいのか、、」窓際すぎて誰にも質問できないため、自分で悩んで自分で回答してみた、の回である。(窓際とは)
let、const、varの定義
表にまとめてみたら、一目瞭然だった!
これまでの苦悩が綺麗さっぱりです。
再宣言、再代入は置いといて。
スコープですね。。(確信。。)
出会った時に書き換えるべきかどうかの問題について
これまでの自分は「え、varも便利やん、、全然ええやん、、古いからって使わないのかわいそう! 文化の喪失、、etc」などと考えていた。
しかし、諸行無常。常に変化。の世界。
更新しなくては遅いのだ。(もうすでに遅い)
ので、三年前に本気でかき分けていただいたこの方の結論を元に
ほぼ全部constで定義できる
オブジェクトや配列の値の変更は再代入にはならないため。
プリミティブ型を再代入したい場合はlet
varはもう使わない
https://qiita.com/cheez921/items/7b57835cb76e70dd0fc4
このダメ人間、これからは自信を持って「もうvarは使わない」とここに宣言する(フラグ)
ありがとう。みんな。(誰や)
結論
自分的にvarは捨てがたいものの、最大のデメリットである「すり抜け」(スコープが効かない)のために、使わないのがいいのかもしれないでござる。
ありがとうでござったvar。
大好きでござったvar。
これからはconstを使わせていただくでござる。(るろ剣で移った)
眠くて読めてない、理解浅い部分があるので、気が向いたら追記するでござる。
参考にした記事
な、なんとこのかた、二年前の元日にこの記事を書かれているのですね。。
ダメ人間も息が長く、向上心のあるアンテナのようなエンジニアになりたいものです
色々な記事があるので安定の公式ドキュメントをば。