Javascriptの変数は?



変数とは何か、なぜ必要なのか。


1.変数


式10+20があると仮定すると、JavaScriptエンジンは10と20、および結果値30をメモリに格納します.
ただし、生成された値にアクセスするには、メモリ領域に直接アクセスするしかありません.ただし、JavaScriptでは、開発者がメモリを直接制御することはできません.
したがって、変数と命名して、値を格納するために必要なメモリ領域自体またはその空間を識別します.
let result = 10 + 20;
上記のように、変数宣言キーを使用して式に名前を付けると、式が生成した結果値がメモリアドレスの名前にアクセスできます.これにより、変数に値が格納され、割り当てとして表示されます.上記の手順では、式の値30が変数に割り当てられる.
console.log(result);
前述したように,変数名を用いて保存した値を検索することを参照と呼ぶ.前述したように、JavaScriptエンジンは、変数名と記憶されているメモリアドレスを介してメモリ空間にアクセスし、記憶値を返します.

2.識別子


識別子とは、値を識別できる一意の名前であり、変数名もその識別子であってもよい.
識別子は、メモリ領域に格納されている値を区別できる必要があります.したがって、値を格納するメモリアドレスを覚えておく必要があります.
識別子には特定の命名規則があり、特殊文字以外の文字、数字、参照()、ドル記号($)を含めることができますが、数字で始まることはできません.JavaScript内部で事前に定義されたキーワード(break、for、if、else functionなど)も含めることができます.または、保持語(キーワードを含む、後で使用可能なキーワード)も識別子の名前として使用できません.

3.変数宣言と変数エスケープ

console.log(sum); // undefined

var sum;
参照変数のコードが変数宣言文の前にある場合、JavaScriptコードは1行1行の順序で実行されるため、参照変数の部分が変数宣言より先にあると判断してエラーが発生する可能性がありますが、undefinedが出力されます.
これは、変数宣言が最初に実行時ではなく前の段階で実行されるためです.JAvascriptエンジンは、ソースコードを順次実行する前に、ソースコードを評価し、ソースコードを実行する準備をします.
このとき、変数宣言を含むすべての宣言がソースコードに検索され、最初に実行されます.
すなわちjavascriptエンジンは、ソースコードの任意の場所に変数宣言などの宣言があるかどうかにかかわらず、まず他のコードを実行します.したがって、宣言がどこにあるかにかかわらず、変数を参照できます.
このように,宣言がコードの先端に引き上げられるように,動作のJavaScript固有の特徴をエスケープ現象と呼ぶ.

4.割当値


変数に値を割り当てる場合は、値付け演算子(=)を使用します.
let sum; // 변수 선언

sum = 20 + 30; // 값의 할당

let sum = 20 + 30; // 선언과 할당을 동시에 해줄수 있다.
以上のように、変数の宣言と割り当てを単独で行ってもよいし、同時に行ってもよい.この方法は動作が全く同じだ.
JavaScriptエンジンが変数宣言と割当てを1つの文に簡略化しても、宣言と割当てを2つの文に分けて実行するという意味です.
ただし、変数宣言は、まずソースコードの実行時の実行時より前に実行され、値の割り当てはソースコードの順序実行時の実行時に実行されることに注意してください.

5.値の再割り当て


再割り当てとは、割り当てられた値の変数に新しい値を再割り当てすることです.
var number = 20; // 변수의 선언과 값의 할당

number = 30; // 값의 재할당
値を変数に再割り当てするとnumber変数の値が再割り当ての値に変更されます.このプロセスでは、以前に割り当てられた20という変数が示すメモリアドレスの値を上書きするのではなく、新しいメモリアドレスが作成されます.
出典:浦項製鉄https://poiemaweb.com/