ホームページ  >  記事  >  ウェブフロントエンド  >  JQueryのキーワードletの意味は何ですか

JQueryのキーワードletの意味は何ですか

青灯夜游
青灯夜游オリジナル
2022-07-28 16:18:022612ブラウズ

jquery では、let は変数を宣言するためのキーワードです。let キーワードを使用すると、スコープがブロック スコープに制限された変数、ステートメント、または式を宣言できます。 let で宣言された変数はスコープ内でプロモートされず、コンパイル時に初期化されます。let はグローバルに (トップレベルのスコープ内で) 宣言された場合、ウィンドウ オブジェクトのプロパティを作成しません。

JQueryのキーワード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

JQueryのキーワードletの意味は何ですか

説明:

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();

JQueryのキーワードletの意味は何ですか

グローバル スコープでは、let はグローバル オブジェクトにプロパティを作成しないという点で var とは異なります。例:

var x = 'global';
let y = 'global';
console.log(this.x); // "global"
console.log(this.y); // undefined

JQueryのキーワードletの意味は何ですか

重複した宣言

同じ関数またはブロック スコープ内で同じ変数の宣言を繰り返すと、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;
}

JQueryのキーワードletの意味は何ですか

ただし、case 句にネストされたブロックは、新しいブロック スコープの字句環境を作成し、エラーの Appeal 繰り返しステートメントは生成されないことに注意することが重要です。

let x = 1;

switch(x) {
  case 0: {
    let foo;
    break;
  }
  case 1: {
    let foo;
    break;
  }
}

【推奨学習: jQuery ビデオ チュートリアル Web フロントエンド ビデオ ]

以上がJQueryのキーワードletの意味は何ですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。