こんにちは、友達、私は雷功です!
毎日少しずつ学習して、今日も JavaScript の基礎を学習してください。学習ノートは次のとおりです。
1. 変数の性質
メモリ:コンピュータ内でデータが保存される場所で、空間に相当します。
変数の本質: 変数は、プログラムがデータを保存するためにメモリ内に適用するスペースです。
2. let と var の類似点と相違点
2.1. 類似性
2.1.1. Let と var は両方ともキーワードです。
2.1.2. Let と var は両方とも変数を定義するために使用されます。
2.2. 相違点
2.2.1. let が変数を定義する場合、最初に変数を定義してから使用する必要があります。
2.2.2. var で定義された変数は、最初に試してから定義できます。
2.2.3. let で定義した変数名を(同じスコープ内で)繰り返すことはできません。
2.2.4. var で定義された変数名は繰り返すことができます。
3. グローバルな範囲
グローバル (関数の外) で宣言された変数にはグローバル スコープがあります。
例:
var myName=“雷工笔记”;
//此处的代码能够使用 myName
function myFunction(){
//此处的代码能够使用 myName
}
グローバル変数は、JavaScript プログラム内のどこでも使用できます。
4. 機能範囲
ローカルに (関数の外部に対して、つまり関数内で) 宣言された変数には関数スコープがあります。
例:
//此处的代码不能够使用 myName
function myFunction(){
var myName=“雷工笔记”;
//此处的代码能够使用 myName
}
//此处的代码不能够使用 myName
ローカル変数は、それが宣言されている関数内でのみ使用できます。
5. JavaScript ブロックのスコープ
var キーワードを使用して宣言された変数にはブロック スコープがありません。
ブロック {} 内で宣言された変数には、ブロックの外側からアクセスすることもできます。
例:
{
var myName="雷工笔记";
let yourName="盗墓笔记";
}
//此处可以访问myName,不可以访问yourName;
6. 変数を再宣言する
var を使用して変数を再宣言すると、問題が発生する可能性があります。
ブロック内で変数を再宣言すると、ブロック外の変数も再宣言されます。
例:
var myName="雷工笔记";
//此处myName为雷工笔记
{
var myName="盗墓笔记";
//此处myName为盗墓笔记
}
//此处myName为盗墓笔记
let を使用して変数を再宣言すると、この問題を回避できます。
ブロック内で再宣言しても、ブロックの外の変数は再宣言されません。
例:
let myName="雷工笔记";
//此处myName为雷工笔记
{
let myName="盗墓笔记";
//此处myName为盗墓笔记
}
//此处myName为雷工笔记
この理由は、実際には var にはブロックの概念がないためで、ループ内で使用すると同様の問題が発生します。
7. 追記
上記の記録から、let は var に関するいくつかの問題を解決するように見えるため、let の使用を選択する必要があることがわかります。
通常使用するソフトウェアと同じように、最新バージョンを使用することを選択する必要がありますが、結局のところ、ほとんどのアップグレードはアプリケーションをより便利にし、以前のバージョンで見つかったバグを補うために行われます。