ホームページ > 記事 > ウェブフロントエンド > var は es6 の新機能ですか?
var は es6 の新機能ではありません。var キーワードを使用して変数を宣言できます。宣言された変数は、グローバル変数とトップレベル変数の両方です。初期化することも、値を割り当てないこともできます。初期化された割り当ては任意のタイプにすることができます。値が割り当てられていない場合は、それがデフォルト値になります。
このチュートリアルの動作環境: Windows 10 システム、ECMAScript バージョン 6.0、Dell G3 コンピューター。
var キーワードを使用して変数を宣言します。変数は初期化することも、割り当てないこともできます。初期化された割り当ては任意のタイプにすることができます。割り当てられていない場合は、デフォルト値は未定義です var 宣言は通常、グローバル スコープ内にあり、ウィンドウのプロパティとして追加されます (関数内で宣言されたものは例外で、関数スコープです)。
var
var で宣言された変数は、グローバル変数とトップレベル変数の両方です (ブラウザ環境では、トップレベルのオブジェクトが参照します)ウィンドウ オブジェクトに、ノード内はグローバル オブジェクトを参照します)
var life を使用する変数は変数プロモーションの対象となる可能性があります
var の使用変数宣言に対して複数の操作を実行できます。後で宣言された変数は前の変数宣言を上書きします
関数内で変数を宣言するために var を使用する場合、変数はローカルです。var の場合、は関数内で使用されず、変数が変更されます。 globalです。
letと比較して、letはes6
letの新機能です。
は es6 の新しいコマンドで、変数を宣言するために使用されます。
は使用法が var と似ていますが、宣言された変数はのみ有効ですlet コマンドが配置されているコード ブロック内ではなく、変数の昇格があり、ブロック レベルのスコープ内に let コマンドがある限り、この領域は外部の影響を受けなくなります。
## let を使用して変数を宣言する前に、その変数は利用できません。これは誰もがよく言うことです。 一時的なデッドゾーン (let は同じスコープ内での繰り返しの宣言を許可しないため、関数内でパラメーターを再宣言することはできません) )<script> /* *1.使用var 声明变量,可以保存任意数据类型的值, * Undefined、Null、Number、String、Symbol、Boolean、Object 7种类型 *2.在同一代码块位置: * var userName; userName="marshal" * var userName="marshal" 是完全等价有效的 * var 可以以逗号分隔,定义多个变量,分号结束 * var userName,userAge,userAddress; */ var userName="marshal";//var userName;userName="marshal"; console.log(userName); </script>開発者ツールを使用して次の図を表示します:
var スコープの説明
スコープ: 実行時、コード領域内の変数、オブジェクト、関数、およびその他のリソースへのアクセスの可視性。 JavaScript は、グローバルとローカルの 2 つのタイプに分類されます。これは Script タグと同じレベルにあり、グローバルとして理解できます。ブラウザでは、これらは Windows オブジェクトと呼ばれるため、var を使用して定義されたグローバル変数と関数はすべて window オブジェクトのプロパティとメソッドです。 Local は、関数内など、{} 中括弧内で定義され、ローカル スコープで定義されます。一般に、関数の外からアクセスすることはできませんが、クロージャによって解決できます (これについては後で詳しく説明します)。
<script> /* * 1.定义函数localVariable * 2.在函数内部使用var 声明变量userName,并设置值为marshal * */ function localVariable(){ var userName="marshal"; console.log("函数内部访问"+userName);//输出函数内部访问marshal } localVariable(); console.log("函数外部访问"+userName); //报错:UncaughtReferenceError: userName is not defined </script>関数 localVariable() が呼び出された後、内部関数内で var を使用して宣言された変数とオブジェクトが破棄されるため、次のエラーが報告されます: UncaughtReferenceError: userName is not generatedIf var関数内では省略されており、グローバル変数です。サンプルコードは次のとおりです:
<script> /* * 1.定义函数localVariable * 2.在函数内部省去var关键字 * 3.注不建议省去var 关键字,局部的全局变量很难维护,容易埋坑 */ function localVariable(){ userName="marshal"; console.log("函数内部访问"+userName); } localVariable();//函数调用后,userName变为全局变量,可使用window对象访问。 console.log("函数外部访问"+window.userName); </script>
[関連する推奨事項: javascript ビデオ チュートリアル
,ウェブ フロントエンド]
以上がvar は es6 の新機能ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。