ES6 の基本を開始する (新しい let 変数と const 変数)

目次

1. ES6 の概要

1. ES6のコンセプト

2. ES6 を使用する理由

2、変数にしましょう

1.let はブロックレベルのスコープです

2.letには変数プロモーションがありません

 3.「一時的なデッドゾーン」

 4. 重複したステートメントは許可されません

 5. まとめ

3、const変数

1. const にはブロックスコープがあります

2. const宣言定数を割り当てる必要があります

3. 定数の割り当ては変更できません

4. let、const、var の違い


1. ES6 の概要

1. ES6のコンセプト

ESの正式名称はECMAScriptで、ECMA国際標準化機構が策定したスクリプト言語の標準仕様です。

ES6 は歴史的な用語であるだけでなく、一般的なリファレンスでもあり、ES2015、ES2016、ES2017 などを含む、バージョン 5.1 以降の JavaScript の次世代標準を意味しますが、ES2015 は正式名称であり、特に言語を指します。その年にリリースされた正式バージョンが標準です。

2. ES6 を使用する理由

それぞれの規格の誕生は言語の改良と機能の強化を意味します。JavaScript 言語自体にもいくつかの不満な点があります。

- 変数ホイスティング機能により、プログラム実行時の予測不可能性が高まります。

- 構文が緩すぎるため、同じ機能を実現するのに、異なる人が異なるコードを作成する可能性があります。

2、変数にしましょう

1.let はブロックレベルのスコープです

			 let str = "abc";
			 if(true){
			 	let str="123";
				console.log("if:",str);
			 }
			 console.log("全局:",str);

let で定義した値を if で使用した場合、出力は定義された値のまま、グローバルに定義された出力もグローバルに定義された値のままになります。同じ変数が定義されていますが、let はブロック要素として定義されているため、出力は価値観は互いに干渉しません。

2.letには変数プロモーションがありません


             console.log(i);
			 let i=1;

Let は var のようにスコープ内の変数をプロモートしません。また、let で宣言された変数もプロモートされないため、構文エラーがスローされます。

 3.「一時的なデッドゾーン」

            var i=1;
			 if(true){
				 i=2;
				 let i=3;
			 }

 ブロックレベルのスコープに let コマンドがある限り、宣言された変数はこの領域に「バインド」され、外部の影響を受けなくなります。

 4. 重複したステートメントは許可されません

 let a=1;
 let a=3;

ブロック スコープで変数を繰り返し宣言すると、エラーが直接報告されます。

 5. まとめ

-- let キーワードは、ブロックレベルの変数を宣言するために使用されます。

-- {} 宣言のスコープがブロックレベルであるのが特徴ですが、var 変数にはこの機能がありません。

-- ループ変数がグローバル変数をプログラミングできないようにします。

-- let キーワードには変数の巻き上げがありません。

-- let キーワードには、一時的なデッド ゾーンの特性があります。(使用前に宣言)

3、const変数

const には let とほとんど同じプロパティがあります。

1. const にはブロックスコープがあります

var a=1;
if(true){
	const a=2;
	console.log(a);
}

    出力は 2 でなければなりません 

2. const宣言定数を割り当てる必要があります

if(true){
	const a;
	console.log(a);
}

 const 宣言に初期化子がない場合、直接エラーが報告されます。

3.定数の割り当ては変更できません

const person = {};
person.name ="张三";
person.age=18;	  
person = {};

オブジェクト自体は可変であるため、属性を追加できますが、アドレスは変更できず、定数変数が割り当てられます。

4. let、const、var の違い 

- var で宣言された変数は、そのステートメントが配置されている関数内にスコープが設定され、変数の昇格という現象が発生します。

- let を使用して宣言された変数は、ステートメントが配置されているコード ブロックのスコープを持ち、変数の昇格はありません。

- const を使用して定数を宣言します。定数の値は、以降のコードで変更できません。

- let および const を使用して宣言された変数は、トップレベルのオブジェクトに属さず、未定義を返します。

おすすめ

転載: blog.csdn.net/qq_65715980/article/details/125741568