変数は、プログラミングの基本的な構成要素であり、データコンテナとして機能します。 JavaScriptは、変数を宣言する3つの方法を提供しています:var
、let
、およびconst
。一見似ていますが、目的と行動が異なります。この記事では、それらの区別を調査し、適切な使用法を明確にするための実用的な例を提供します。
javaScript変数進化 ES6(ECMAScript 2015)の前に、
は、可変宣言の唯一の方法でした。ただし、その関数の範囲と巻き上げの動作は、しばしば予期しないバグにつながりました。 ES6はおよびvar
を導入し、開発者にさまざまな動作をより細かく制御することで、よりクリーンでエラーが発生しやすいコードが少なくなります。
let
const
1。
var
は、JavaScriptの元の変数宣言です。 それは機能スコープされているため、そのアクセシビリティは内部で定義されている関数に限定されています。 重要なのは、ブロックスコープがないため、ループ内の問題や条件付きステートメント内の問題を引き起こす可能性があります。
keyvar
特性:
var
関数範囲:
<code class="language-javascript">function example() { var message = "Hello, world!"; console.log(message); // Accessible here } // console.log(message); // ReferenceError: message is not defined</code>
var
undefined
<code class="language-javascript">console.log(name); // undefined var name = "John";</code>
<code class="language-javascript">var age = 25; var age = 30; // No error console.log(age); // 30</code>
が好まれます。
var
2。 :柔軟な近代的なアプローチlet
const
を導入しました。 それはに似ていますが、その落とし穴の多くを回避します。
let
key
let
var
ブロックスコープ:ブロック、ステートメント、または式内でのみアクセスできます。
let
<code class="language-javascript">if (true) { let greeting = "Hi!"; console.log(greeting); // Accessible here } // console.log(greeting); // ReferenceError: greeting is not defined</code>
var
let
<code class="language-javascript">console.log(color); // ReferenceError: Cannot access 'color' before initialization let color = "blue";</code>
<code class="language-javascript">let score = 10; // let score = 20; // SyntaxError: Identifier 'score' has already been declared</code>
は、再割り当てされてはならない変数用に設計されています。 のように、それはブロックスコープであり、ホイストしません。let
特性:
const
let
<code class="language-javascript">function example() {
var message = "Hello, world!";
console.log(message); // Accessible here
}
// console.log(message); // ReferenceError: message is not defined</code>
再割り当ては許可されていません:
<code class="language-javascript">console.log(name); // undefined
var name = "John";</code>
参照自体が不可能である間、
:const
<code class="language-javascript">var age = 25;
var age = 30; // No error
console.log(age); // 30</code>
const
比較表
機能
scope
関数
block
block
ホイスト
yes(未定義)
no
no
再declaration
はい
no
no
再割り当て
はい
はい
no
Feature | var |
let |
const |
---|---|---|---|
Scope | Function | Block | Block |
Hoisting | Yes (undefined) | No | No |
Re-declaration | Yes | No | No |
Re-assignment | Yes | Yes | No |
const
必要に応じてlet
var
およびは、優れた機能を提供します。let
const
、
、およびvar
のニュアンスを理解することは、クリーンで効率的で、エラーのないJavaScriptを書くために不可欠です。 優先順位let
および必要な場合にのみconst
を使用すると、コードの品質と読みやすさが大幅に向上します。 const
過去に安全に追いやることができます。let
以上がJavaScriptの変数の理解:const、varの説明。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。