ホームページ  >  記事  >  ウェブフロントエンド  >  var は es6 の新機能ですか?

var は es6 の新機能ですか?

WBOY
WBOYオリジナル
2022-08-18 16:46:49962ブラウズ

var は es6 の新機能ではありません。var キーワードを使用して変数を宣言できます。宣言された変数は、グローバル変数とトップレベル変数の両方です。初期化することも、値を割り当てないこともできます。初期化された割り当ては任意のタイプにすることができます。値が割り当てられていない場合は、それがデフォルト値になります。

var は es6 の新機能ですか?

このチュートリアルの動作環境: Windows 10 システム、ECMAScript バージョン 6.0、Dell G3 コンピューター。

var は es6 の新機能ではありません

var キーワードを使用して変数を宣言します。変数は初期化することも、割り当てないこともできます。初期化された割り当ては任意のタイプにすることができます。割り当てられていない場合は、デフォルト値は未定義です var 宣言は通常、グローバル スコープ内にあり、ウィンドウのプロパティとして追加されます (関数内で宣言されたものは例外で、関数スコープです)。

var

  • var で宣言された変数は、グローバル変数とトップレベル変数の両方です (ブラウザ環境では、トップレベルのオブジェクトが参照します)ウィンドウ オブジェクトに、ノード内はグローバル オブジェクトを参照します)

  • var life を使用する変数は変数プロモーションの対象となる可能性があります

  • var の使用変数宣言に対して複数の操作を実行できます。後で宣言された変数は前の変数宣言を上書きします

  • 関数内で変数を宣言するために var を使用する場合、変数はローカルです。var の場合、は関数内で使用されず、変数が変更されます。 globalです。

letと比較して、letはes6

letの新機能です。

  • は es6 の新しいコマンドで、変数を宣言するために使用されます。

  • は使用法が var と似ていますが、宣言された変数はのみ有効ですlet コマンドが配置されているコード ブロック内ではなく、変数の昇格があり、ブロック レベルのスコープ内に let コマンドがある限り、この領域は外部の影響を受けなくなります。

    ## let を使用して変数を宣言する前に、その変数は利用できません。これは誰もがよく言うことです。 一時的なデッドゾーン (let は同じスコープ内での繰り返しの宣言を許可しないため、関数内でパラメーターを再宣言することはできません) )
  • var は変数を宣言します

<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 は es6 の新機能ですか?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 generated

If var関数内では省略されており、グローバル変数です。サンプルコードは次のとおりです:

<script>
/* 
* 1.定义函数localVariable
* 2.在函数内部省去var关键字
* 3.注不建议省去var 关键字,局部的全局变量很难维护,容易埋坑
*/
function localVariable(){
userName="marshal";
console.log("函数内部访问"+userName);
}
localVariable();//函数调用后,userName变为全局变量,可使用window对象访问。
console.log("函数外部访问"+window.userName);
</script>

[関連する推奨事項: var は es6 の新機能ですか?javascript ビデオ チュートリアル

,

ウェブ フロントエンド]

以上がvar は es6 の新機能ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。