JavaScript変数の宣言とデータの割り当て


識別子と変数


通常、変数を変更可能な内容として解釈すれば、変数と識別子は混用されます.ここには何のデータがありますか.識別子は、データを識別するための名前、すなわち変数名です.

データわりあて

var a=10;
デフォルトの変数宣言.
変更可能なデータを書き出します.このデータの識別子はaです.
最終的に、変数はデータを変更できる空間またはコンテナです.

変数領域とデータ領域を別々に考える
値10は、メモリ内のある場所@5004に格納されます.
識別子aが指定された変数領域アドレス@1003に@5004を代入する.

1π𔣤不変値


「変数」と「定数」を区別する性質は可変です.できれば変数、なければ定数です.
変数と定数を区別する可変ターゲットは、変数領域メモリです.重要なのは、他のデータを一度のデータ割り当ての変数空間に再割り当てることができるかどうかです.
不変性を区別する場合、変更可能なターゲットはデータ領域メモリです.
var a = 'abc'
a= a+ 'def'

var b=5
var c=5
b= 7

新しい文字列「abcdef」を作成し、既存の「abc」を「abcdef」に置き換えるのではなく、変数aに格納します.上の図では、@1003の識別子aの変数値は@5005となる.
bの値を5から7に変更すると、以前に保存した7が見つかった場合は再利用し、ない場合は新しい値を作成してbに保存します.bの値は@5007です.
これにより、文字列値は作成した値を一度に変更することはできません.数値値も同様です.変更は新規操作のみで行います.これが不変値の性質です.ゴミが収集されない限り、一度に作成された値は永遠に変わりません.

2」可変値


デフォルトのデータは変更されません.もしそうであれば、すべての参照データは可変値のようです.
var obj1 = {
	a:1,
	b: 'bbb'
};

基本型データとの違いは「オブジェクトの変数(Property)領域」が独立して存在することである.
オブジェクトに必要な独立した領域は可変領域であり、データ領域は既存のメモリ領域を利用します.
データ領域に格納されているすべての値は変更されません.
ただし、変数には任意の数の他の値を入力できます.この部分のためです.
参照データは、通常、可変値と呼ばれます.