ホームページ >ウェブフロントエンド >jsチュートリアル >Javascriptのlet、const、varの違いは何ですか?

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

WBOY
WBOYオリジナル
2024-08-13 19:03:51998ブラウズ

let, const , var difference in Javascript?

JavaScript では、let、const、var を使用して変数を宣言しますが、これらは次の 3 つの点で異なります。

1.スコープ
2.再割り当て
3.吊り上げ

1.範囲:

var は関数スコープであるため、関数内の任意の場所で var 変数にアクセスします。関数の外でアクセスしようとすると、未定義のエラーが表示されます
例:-

function demo(){
  if(true){
    var n = 3;
  }
  console.log(n)
}
console.log(n) //ReferenceError: n is not defined
demo();

letconst はブロックであり、スコープ内でのみアクセスできることを意味します。そうでない場合は、未定義のエラーが表示されます
例:-

function demo(){
  if(true){
    let n = 3;
    const m = 5;
     console.log(n) // 3
     console.log(m) // 5
  }
  console.log(n) //ReferenceError: n is not defined
  console.log(m) //ReferenceError: n is not defined
}
console.log(n) //ReferenceError: n is not defined
console.log(m) //ReferenceError: n is not defined
demo();

2.再割り当て

  • var: スコープ内で再割り当ておよび再宣言できます。
  • let: 再割り当ては可能ですが、そのスコープ内で再宣言することはできません。
  • const: 再割り当てまたは再宣言はできません。変数自体は不変ですが、const に割り当てられたオブジェクトと配列は変更できます。 .

3.吊り上げ

  • var は巻き上げられます。つまり、宣言前からアクセス可能ですが、コードが変数が初期化される行に到達するまで、その値は未定義になります。
  • let もホイストされますが、var とは異なり、「一時的なデッド ゾーン」のため、宣言前にアクセスすることはできません。
  • const で宣言された 変数もホイストされますが、宣言時に初期化する必要があり、再割り当てすることはできません。ただし、変数がオブジェクトまたは配列の場合、その内容は変更できます (配列への項目の追加または削除など)。
// var example
console.log(a); // undefined (due to hoisting)
var a = 10;
console.log(a); // 10

// let example
console.log(b); // ReferenceError: Cannot access 'b' before initialization
let b = 20;
console.log(b); // 20

// const example
const c = 30;
c = 40; // TypeError: Assignment to constant variable

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

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