◆ 配列を const にしたかったので代入したように配列の中身を置き換えるメソッドをつくった
◆ 中身は変わるので const にしても コピペとかで間違って代入してしまうの防げるくらいのメリットしかないかも

最近は基本全部 const で書いてますがときどき let になるものがあります
よくあるのが データを保存してる配列です

データの更新時に新しいのに完全置き換えるので代入できるよう let にする必要があります

特にそれで問題がなかったのですが あるとき その変数以外は全部 const でそれだけ let という状態になりました
こうなるとどうにか const に揃えたい!という気持ちが出てきたので const 化する方法を考えてみました

やりたいことのイメージはこんなのです
const arr = [10, 100]

function getNewValue(){
return [1, 2, 3]
}

arr = getNewValue()

// error, assign to const
最後の代入が const への代入なのでエラーになります


方法はこちら
const arr = [10, 100]
arr.length = 0
arr.push(...getNewValue())

変数 arr への再代入を禁止しても 配列の要素は可変なので いったん配列を空にして新しく置き換えたい配列の中身を追加していきます

splice を使っていったん空にせず一度に置き換えることもできます

const arr = [10, 100]
arr.splice(0, arr.length, ...getNewValue())

代入というよくある操作がこれだと わかりやすさと書きづらさに欠けるのでメソッドを追加しておきます

Array.prototype.init = function(arr = []){
this.length = 0
this.push(...arr)
}

使うときは

const arr = [10, 100]
arr.init(getNewValue())

これなら悪くはないと思えるレベルです