ホームページ > 記事 > ウェブフロントエンド > JQueryのキーワードletの意味は何ですか
jquery では、let は変数を宣言するためのキーワードです。let キーワードを使用すると、スコープがブロック スコープに制限された変数、ステートメント、または式を宣言できます。 let で宣言された変数はスコープ内でプロモートされず、コンパイル時に初期化されます。let はグローバルに (トップレベルのスコープ内で) 宣言された場合、ウィンドウ オブジェクトのプロパティを作成しません。
このチュートリアルの動作環境: Windows7 システム、jquery3.6.0 バージョン、Dell G3 コンピューター。
jquery では、 let は変数を宣言するキーワードです。
let キーワードはブロック スコープのローカル変数を宣言し、値に初期化できます (オプション)。構文:
let name1 [= value1] [, name2 [= value2]] [, ..., nameN [= valueN];
Parameters
nameN: 宣言される 1 つ以上の変数の名前は、正当な識別子である必要があります。
valueN: オプションで、変数の初期値を指定します。これには、任意の正規表現を使用できます。
例:
let x = 1; if (x === 1) { let x = 2; console.log(x); // expected output: 2 } console.log(x); // expected output: 1
説明:
let を使用すると、スコープが制限付き ブロックスコープ内の変数、ステートメント、または式。 var キーワードとは異なり、var で宣言された変数のスコープはグローバルまたは関数ブロック全体です。 var と let のもう 1 つの重要な違いは、let で宣言された変数はスコープ内でプロモートされず、コンパイル時に初期化されることです (以下の一時的なデッド ゾーンを参照)。
const と同様に、let はグローバルに (トップレベルのスコープ内で) 宣言された場合、ウィンドウ オブジェクトのプロパティを作成しません。
ここから let を使用する理由を学ぶことができます。
let 変数を使用するスコープの先頭で宣言すると、多くの問題を回避できますが、読みやすさに影響する可能性があります。
var とは異なり、let は完全な式ではなくステートメントの始まりにすぎません。これは、コード ブロックの本体として個別の let 宣言を使用できないことを意味します (宣言された変数にはアクセスできないため、これは当然のことです)。
if (true) let a = 1; // SyntaxError: Lexical declaration cannot appear in a single-statement context
スコープ ルール
let で宣言された変数スコープは、それが宣言されているブロックまたはサブブロック内にのみ存在します。これは var と似ています。 2 つの主な違いは、var で宣言された変数のスコープが、それを囲んでいる関数全体であることです。
function varTest() { var x = 1; { var x = 2; // same variable! console.log(x); // 2 } console.log(x); // 2}function letTest() { let x = 1; { let x = 2; // different variable console.log(x); // 2 } console.log(x); // 1} letTest(); varTest();
グローバル スコープでは、let はグローバル オブジェクトにプロパティを作成しないという点で var とは異なります。例:
var x = 'global'; let y = 'global'; console.log(this.x); // "global" console.log(this.y); // undefined
重複した宣言
同じ関数またはブロック スコープ内で同じ変数の宣言を繰り返すと、SyntaxError がスローされます。 。
if (x) { let foo; let foo; // SyntaxError thrown. }
このエラーは、同じブロック スコープであるため、switch ステートメントでもトリガーされます。
let x = 1; switch(x) { case 0: let foo; break; case 1: let foo; // SyntaxError for redeclaration. break; }
ただし、case 句にネストされたブロックは、新しいブロック スコープの字句環境を作成し、エラーの Appeal 繰り返しステートメントは生成されないことに注意することが重要です。
let x = 1; switch(x) { case 0: { let foo; break; } case 1: { let foo; break; } }
【推奨学習: jQuery ビデオ チュートリアル 、Web フロントエンド ビデオ ]
以上がJQueryのキーワードletの意味は何ですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。