const は再代入不可なのに、scores[2] = 44; のように再代入できるのはなぜですか?

const は配列全体を差し替えることはできませんが、各要素に関しては再代入可能です。
2021年12月14日
ユーザー

いつも分かりやすい説明でありがたいです。感謝しております。

const x = 20;
x = 10;

だと定数に代入できずエラーとなりますよね。

const scores = [80, 90, 40];
scores = [10, 30, 40];

も試すとエラーでした。

const scores = [80, 90, 40];
scores[2] = 44;

がエラーにならないのは、定数 scores に直接代入ではなく「定数 scores の配列のインデックス 2 に代入」だからエラーにならずに OK という解釈で合っていますか?

「定数でも配列の各要素には代入できる」仕様だという理解で OK でしょうか?
ご教授くださいませ。

また、定数でも各要素には代入できる場合、他の Web で使うプログラム言語( PHP や Ruby ぐらいしか存じないのですが他にもあれば教えてください)でも そういう仕様なのでしょうか?

どうかよろしくお願いします。

この回答を見るにはプレミアムプランへの登録が必要です

プレミアムプランとは?

このレッスンの質問と回答(4)