JavaScript変数の割り当て



導入
var、let、constで変数を宣言する方法の違いについてもう少し詳しく理解したいなら、これはあなたのための記事です.我々は、我々のデータのために変数を宣言するとき、我々が本当に知っていなければならないスコーピング、特徴と他の重要なことについて学びます.一歩戻って、Javascriptの変数の知識を新鮮にしましょう.
JavaScriptでは、変数名や変数として知られているデータ値/型を格納することができます.これは、開発者がデータを扱うときに我々は名前を与え、それを渡すことができます我々のコードでは、単に変数名を使用して任意の場所で簡単です.変数を宣言したいときには、三つのキーワードvar、let、constから選択するオプションがあります.それぞれが使用されるときに賛否両論がありますが、それは本当にあなたのデータがどのように動作するかにそれにダウンします.これらのキーワードのそれぞれについて、相違点を理解するために、さらに適切な宣言を使用するときに、もう少し深く掘ります.

varで変数を宣言する
ES 6(現代のJavaScript)に導入される前に、変数を宣言する1つの方法だけがあったvar また、定数を宣言する他の方法もありませんでした.しかし、幸運にも変数を宣言するための構文はすべて似ています.同じ構文を持っていても重要な違いがあります.
で宣言する変数var ブロックスコープを持たないbody スコープ.我々がMDNの定義をとるならば.
MDN :「VARで宣言された変数のスコープは、現在の実行コンテキストとそのクロージャです.これは、その中で宣言された関数と関数の中で宣言された関数、または関数の外で宣言された変数の場合、グローバルです.」
どのように深く入れ子にされた変数であっても、関数内で宣言された場合、その関数の範囲内にとどまることになります.
var x = 'xyz';
var name = 'oscar';
var age = 25;
var data = [];

// can be declared in a single line statement too
var name = 'oscar', age = 25, data = [];
関数の外部で変数を宣言することを決めた場合、varglobalObject . コンソール上でコンソールにアクセスすることもできますが、コンソールでは変数をグローバルに宣言し、globalThis そのようなオブジェクト.
var x = 2; // global variable

function greet(str) {
   const name = str; // body scoped variable

   return "Hello" + name
}

console.log(globalThis.x); // output 2
宣言したときに変数名を重複させることができますvar と厳しいモードでも任意のエラーをトリガしません.

letで変数を宣言する
最新のJavaScriptでは、let ブロックスコープを持っているキーワードは、globalObject グローバル宣言.
例えば
let name = 'oscar';
let i = 0;
let o; 
あなたの宣言にどんな値も割り当てないならばlet 変数はまだ宣言されますが、undefined . 変数の意味value . また、複数の変数をlet 文.
let a = 0,b = 12,c = 4;
間の主な違いvar and let の力はscope . ここでは、両方のアクションで見ての例です.
var x = 'global';
let y = 'global';

console.log(this.x); // "global"
console.log(this.y); // undefined
let 他方の変数は、他のキーワードとは異なり、その値を変更することができますconst これは、すでに宣言したときに変更しようとした場合にエラーを与えます.それで、あなたのデータがダイナミックであるということを知っているならば、時々我々が我々の変数を宣言した方法のために非常に難しい点であるあなたの将来のバグからあなたを救うことができます.

constで変数を宣言する
と宣言するときの大きな違いではないことが重要ですconst が宣言された後に値を変更できない場合、再割り当てできない場合、TypeError . しかし、ちょうどlet キーワード、世界的に宣言されたとき、それはwindow 違うvar 変数.しかし、その宣言されたときに初期化する必要がありますconst 将来的には、なぜあなたがすぐにそれを初期化する必要があるかを理解できます.
const name = 'oscar';
const age = 25;

In one approach, we use const only for values that must not change. In the other, we use const for any value that does not happen to change. I prefer the former approach in my own code.

David Flanagan



結論
この記事の最後までに、どのようにコードのすべての行で何が起こっているのかを理解し、理解することができました.それはあなたのコードが完全に動作する方法を理解することは非常に重要です、それはあなたがより良い開発者になるのを助けるだけでなく、あなたがより効率的で作業しているツールを使用するのに役立つこともできます.
これらの記事は、主により良いプログラマ、作家になるための個人的な使用のために意図され、私のプログラミングスキルを成長させる.あなたが私と他を助けるためになされるべきであると思うどんなフィードバックまたは訂正も落すこと自由に感じてください.これまで貼り付けてくれてありがとう!