ホームページ > ウェブフロントエンド > jsチュートリアル > jsでletとvarを使って変数を定義する方法

jsでletとvarを使って変数を定義する方法

小云云
リリース: 2018-02-09 10:09:07
オリジナル
1997 人が閲覧しました

let と var はどちらも js で変数を定義できます。この記事では、js で変数を定義する let と var の違いを主に紹介します。必要な方は参考にしていただければ幸いです。みんなを助けて。

javascript strict モード

let キーワードに出会ったのは初めてですが、非常に重要な注意が必要な概念の 1 つは、たとえば次のコードが実行された場合です。 、エラーが報告されます:

let hello = 'hello world.';
console.log(hello);
ログイン後にコピー

エラー メッセージは次のとおりです:

let hello = 'hello world.';
^^^
SyntaxError: Block-scoped declarations (let, const, function, class) not yet supported outside strict mode
 ...
ログイン後にコピー

解決策は、ファイル ヘッダーに「JavaScript strict mode」ステートメントを追加することです:

'use strict';
let hello = 'hello world.';
console.log(hello);
ログイン後にコピー

let キーワードと var キーワードの類似点と相違点

宣言後に値が代入されない場合、パフォーマンスは同じです

'use strict';
(function() {
 var varTest;
 let letTest;
 console.log(varTest); //输出undefined
 console.log(letTest); //输出undefined
}());
ログイン後にコピー

宣言されていない変数を使用すると、パフォーマンスが異なります:

(function() {
 console.log(varTest); //输出undefined(注意要注释掉下面一行才能运行)
 console.log(letTest); //直接报错:ReferenceError: letTest is not defined
 var varTest = 'test var OK.';
 let letTest = 'test let OK.';
}());
ログイン後にコピー

同じ変数を繰り返し宣言すると、動作が異なります:

'use strict';
(function() {
 var varTest = 'test var OK.';
 let letTest = 'test let OK.';
 var varTest = 'varTest changed.';
 let letTest = 'letTest changed.'; //直接报错:SyntaxError: Identifier 'letTest' has already been declared
 console.log(varTest); //输出varTest changed.(注意要注释掉上面letTest变量的重复声明才能运行)
 console.log(letTest);
}());
ログイン後にコピー

変数のスコープが異なります動作

'use strict';
(function() {
 var varTest = 'test var OK.';
 let letTest = 'test let OK.';
 {
 var varTest = 'varTest changed.';
 let letTest = 'letTest changed.';
 }
 console.log(varTest); //输出"varTest changed.",内部"{}"中声明的varTest变量覆盖外部的letTest声明
 console.log(letTest); //输出"test let OK.",内部"{}"中声明的letTest和外部的letTest不是同一个变量
}());
ログイン後にコピー

関連する推奨事項:

PHP の事前定義変数の詳細な説明

JavaScript で変数を定義するにはどうすればよいですか?

JavaScriptの変数宣言と変数varの定義の異なる理解と分析について

以上がjsでletとvarを使って変数を定義する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート