ホームページ  >  記事  >  ウェブフロントエンド  >  JavaScriptのvar、let、constの違いは何ですか?

JavaScriptのvar、let、constの違いは何ですか?

青灯夜游
青灯夜游オリジナル
2020-12-01 09:47:213113ブラウズ

違い: 1. var 変数は関数またはグローバル スコープであり、let 変数と const 変数はブロック スコープです; 2. let 変数と const 変数は一時的なデッド ゾーンの影響を受けますが、var 変数は3. var 変数は割り当ておよび宣言できますが、letr 変数は割り当て可能ですが再宣言できません。また、const 変数は再割り当ておよび宣言できません。

JavaScriptのvar、let、constの違いは何ですか?

関連する推奨事項: 「JavaScript ビデオ チュートリアル

最新の ES6 では、新しい There が追加されたことは誰もが知っています。 let と const は変数宣言に使用される 2 つのキーワードですが、この 2 つは以前よく使用されていた var と何が違うのでしょうか?今日は見てみましょう。

1. const ステートメント

const ステートメントは、JavaScript で変数を宣言するために使用されます。変数は次の規則に従います。のブロックスコープ。

  • は「一時的なデッドゾーン」の対象となります。

  • ウィンドウ上にグローバル プロパティは作成されません。

  • 再割り当てはできません。

  • 再宣言することはできません。

  • const ステートメントで定義された変数は変更できないため、初期化する必要があります。

    const b = 2;//正确
    // const b;//错误,必须初始化 
    console.log('函数外const定义b:' + b);//有输出值
    // b = 5;
    // console.log('函数外修改const定义b:' + b);//无法输出
  • 2. var ステートメント

var ステートメントは、JavaScript で変数を宣言するために使用されます。変数は次の規則に従います:

スコープ関数スコープまたはグローバルスコープです。

  • は、一時的なデッド ゾーン (TDZ) によって制限されません。

  • ウィンドウ上に同じ名前のグローバル プロパティが作成されます。

  • は再割り当て可能です。

  • は再宣言可能です。

  • var で定義された変数は変更可能です。初期化されていない場合は、unknown が出力され、エラーは報告されません。

    var a = 1;
    // var a;//不会报错
    console.log('函数外var定义a:' + a);//可以输出a=1
    function change(){
    a = 4;
    console.log('函数内var定义a:' + a);//可以输出a=4
    }
    change();
    console.log('函数调用后var定义a为函数内部修改值:' + a);//可以输出a=4
  • 3. let ステートメント

let ステートメントは、次の規則に従って JavaScript で変数を宣言します:

ブロック スコープに属します。

  • は一時的なデッド ゾーンの対象となります。

  • ウィンドウ上にグローバル プロパティは作成されません。

  • は割り当て可能です。

  • 再宣言することはできません。

  • let はブロックレベルのスコープに属します。let が関数内で定義された後は、関数の外部には影響しません。

    let c = 3;
    console.log('函数外let定义c:' + c);//输出c=3
    function change(){
    let c = 6;
    console.log('函数内let定义c:' + c);//输出c=6
    }
    change();
    console.log('函数调用后let定义c不受函数内部定义影响:' + c);//输出c=3
  • プログラミング関連の知識について詳しくは、
プログラミング入門

をご覧ください。 !

以上がJavaScriptのvar、let、constの違いは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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