ホームページ >ウェブフロントエンド >jsチュートリアル >jsでletとvarを使って変数を定義する方法
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不是同一个变量 }());
関連する推奨事項:
JavaScript で変数を定義するにはどうすればよいですか?
JavaScriptの変数宣言と変数varの定義の異なる理解と分析について
以上がjsでletとvarを使って変数を定義する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。