letは変数の上書き(破壊処理)が可能なため、constの使用をメインとしたいが、複数回の処理のためにletを使わざるをえない場合の対処法について。
"TypeError: Assignment to constant variable."
エラー内容:定数には値を代入できません。。
上記のようなエラーが発生し、constをletに変更しなくてはならなくなった場合に、メソッドチェーンを使うことで変数の宣言を変えることなく解決できる。
##対処事例 ある変数の各要素をmapやfilterなどで複数回処理する場合に、個別に記述する場合は`let`を使う必要がある。
letを使っている場合
arr = [1,2,3,4]
let _arr = arr.map( elem => elem * 10)
_arr = _arr.filter( elem => elem % 20 == 0 )
console.log(_arr)
//出力
20
40
↓ メソッドチェーン
メソッドチェーン
arr = [1,2,3,4]
const _arr = arr.map( elem => elem * 10)
.filter( elem => elem % 20 == 0 )
console.log(_arr)
//出力
20
40
メソッドチェーンで1つの処理で記述すればconstで宣言してもエラーにならない。
チェーン化することを、チェイニング(chaining)という。