以下の内容はhttps://akira2kun.hatenablog.com/entry/2021/08/02/000000より取得しました。


JavaScript:オブジェクト型の定数値にはObject.freeze()を使う

プリミティブ型(Number型やString型等)の変数は、constで定義することで変更不可にできます。
これを利用して、定数値を定義することができます。
 
【サンプルコード】
const hoge = 1;
hoge = 2;
console.log(hoge);
 
ChromeデベロッパーツールのConsoleで実行】
Uncaught TypeError: Assignment to constant variable.
at <anonymous>:2:6
 
----
 
しかし、オブジェクト型の場合、constで保持されるのは変数が指し示すアドレスであり、値は変更可能です。
そのため、定数値を定義するには適していません。
 
【サンプルコード】
const obj = {
 hoge: 1
};
obj.hoge = 2;
console.log(obj.hoge);
 
ChromeデベロッパーツールのConsoleで実行】
2
 
----
 
オブジェクト型で定数値を定義したい場合は、Object.freeze()を使う必要があります。
これを使うことで、オブジェクト型の変数が指し示す値を変更不可にすることができます。
 
【サンプルコード】
const obj = {
 hoge: 1
};
Object.freeze(obj);
obj.hoge = 2;
console.log(obj.hoge);
 
ChromeデベロッパーツールのConsoleで実行】
1




以上の内容はhttps://akira2kun.hatenablog.com/entry/2021/08/02/000000より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14