ホームページ  >  記事  >  ウェブフロントエンド  >  var、let、const のさまざまな特性を区別する

var、let、const のさまざまな特性を区別する

PHPz
PHPzオリジナル
2024-02-19 17:24:06307ブラウズ

var、let、const のさまざまな特性を区別する

var、let、const のさまざまな特性を理解するには、具体的なコード例が必要です。

JavaScript では、変数を宣言する方法が数多くありますが、最も一般的な方法には次のようなものがあります。 var、let、const キーワード。どちらも変数の宣言に使用されますが、スコープと可変性に関して異なる特性があります。それらの違いについては、具体的なコード例を使用して以下で説明します。

var キーワード

まず、var キーワードの使用法を見てみましょう。これは変数を宣言するために最も早く導入された方法であり、グローバル スコープと関数スコープの特徴があります。たとえば、次のように変数を宣言できます。

var name = "Alice";

function sayHello() {
  var message = "Hello " + name;
  console.log(message);
}

sayHello(); //输出:Hello Alice
console.log(message); //报错:message未定义

上記の例では、name 変数がグローバル スコープで宣言され、sayHello 関数で参照されます。メッセージ変数は、sayHello 関数内で宣言され、関数のスコープ内でのみ有効です。関数の外でメッセージ変数を使用すると、未定義のエラーが発生します。

さらに、var で宣言された変数は再代入できます。例:

var x = 10;
console.log(x); //输出:10

x = 20;
console.log(x); //输出:20

let キーワード

let キーワードは ES6 で導入された新機能であり、var キーワードと比較して、ブロックレベルのスコープの特徴があります。 。ブロックレベルのスコープとは、変数が宣言されているブロック内 (if ステートメント、for ループ、関数などを含む) で有効であることを意味します。 let を使用して変数を宣言する例を次に示します。

let name = "Bob";

if (true) {
  let name = "Alice";
  console.log(name); //输出:Alice
}

console.log(name); //输出:Bob

上記の例では、name 変数は if ステートメント ブロック内で再宣言されており、そのブロック内でのみ有効です。 name 変数がブロックの外で参照される場合、ブロックの外の値が使用されます。

var とは異なり、let で宣言された変数は再宣言できませんが、再割り当ては可能です。例:

let x = 10;
console.log(x); //输出:10

x = 20;
console.log(x); //输出:20

const キーワード

const キーワードも ES6 で導入された新機能で、定数を宣言するために使用されます。 let と同様に、const にもブロックレベルのスコープの特性があります。違いは、const を使用して宣言された変数は宣言時に初期化する必要があり、割り当て後には変更できないことです。以下は、const を使用して定数を宣言する例です。

const PI = 3.14;
console.log(PI); //输出:3.14

PI = 3.14159; //报错:无法修改常量

上記の例では、PI は定数として宣言され、宣言時に初期化されます。後続のコードでは、定数 PI を変更できません。

const で宣言された定数は、変数値の不変性ではなく、変数参照の不変性であることに注意してください。つまり、変数がオブジェクト型または配列型の場合、そのプロパティまたは要素の値は変更できますが、値を変数に再割り当てすることはできません。

const person = { name: "Alice" };
person.name = "Bob";

console.log(person); //输出:{ name: "Bob" }

person = { name: "Alice" }; //报错:无法修改常量

上記のコード例を通じて、var、let、const の異なる特性をよりよく理解できます。 var は関数スコープを持ち再割り当て可能、let はブロックレベルスコープを持ち再割り当て可能、const はブロックレベルスコープを持ち再割り当てできません。適切な宣言の選択は、コードのニーズと設計によって異なります。

以上がvar、let、const のさまざまな特性を区別するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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