LoginSignup
0
0

More than 3 years have passed since last update.

【JS】メソッドチェーンで変数の宣言をletからconstに変更する。Assignment to constant variableの対処法。

Posted at

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)という。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0