es6 の 6 つの変数定義方法とは何ですか
es6 で変数を定義する 6 つの方法: 1. キーワード var を使用して変数を定義します。構文は「var 変数名 = 値;」です。 2. キーワード関数を使用して変数を定義します。 3.キーワード const を使用して変数を定義します (構文 "const 変数名 = value;"; 4. キーワード let を使用して変数を定義します (構文 "let 変数名 = value;")。 5. キーワード import を使用して定義します変数; 6. キーワード class を使用して変数を定義します。
このチュートリアルの動作環境: Windows 7 システム、ECMAScript バージョン 6、Dell G3 コンピューター。
es6 変数を宣言する 6 つの方法
es5 では、変数を宣言する 2 つの方法、つまり var と function のみを提供します。
ES6 let および const コマンドの追加に加えて、変数を宣言するには、import コマンドと class コマンドという 2 つの方法があります。
つまり、ES6 には変数を宣言するための方法が合計 6 つあります 、つまり var / function / let / const / import / class
##(1) var command
var a ; //undefined var b = 1;
- var で宣言された変数スコープは、global または function level です。 。
- var で定義された変数は変更可能です。初期化されていない場合は、unknown が出力され、エラーは報告されません。
- var で宣言された変数はウィンドウ上にあります。let または const を使用して変数を宣言してください。この変数はウィンドウ上には配置されません。
- 多くの言語にはブロック レベルのスコープがありますが、JS にはありません。var を使用して変数を宣言し、関数を使用して (波括弧 '{ }' を使用するとも言えます)ただし、中括弧 "{ }" は var のスコープを制限できないため、var で宣言された変数には変数の昇格の効果があります。
(2)関数コマンド
function add(a) { var sum = a + 1; return sum; }
- は、addという名前の新しい変数を宣言し、それに関数定義を割り当てます。
- { } の間のコンテンツが追加に割り当てられます。
- 関数 内のコードは、宣言されてもすぐには実行されません が、将来の使用に備えて変数に保存されるだけです。
(3) cosnt コマンド
const a; //报错,必须初始化 const b = 1; b = 2; //报错,TypeError: Assignment to constant variable.
- const は定数を定義するため、初期化する必要があります。
- const キーワードで宣言された定数の ポインタは変更できません。ここで言われているのは、定数ポインタは変更できないが、ポインタが指すメモリ空間の値は変更できるということです。 例:
const obj = {}; obj.n = 123; obj; // { n: 123 } obj = { x: 1 }; // TypeError: Assignment to constant variable.
const は、obj という名前のオブジェクトを宣言します。obj ポインタはオブジェクトを指します。オブジェクトに属性を追加するということは、オブジェクトのデータにデータを追加することを意味します。 obj に格納されているオブジェクトを指すアドレスは変更されていないため、正常に実行できますが、obj を再割り当てする操作により、obj を指すポインタが変更されるため、操作は失敗し、エラーがスローされます。基本型のデータは直接スタックに格納され、定数名はこのアドレスのデータを直接指すため、基本型についても同様です。値が変更されると、ポインタのアドレスも変更されます。値は変更できません。
- この変数は、ブロック レベルのスコープを持つグローバル変数、またはモジュール内のグローバル変数です。
- 変数が宣言時に 1 回だけ割り当てられ、コードの他の行で再割り当てされない場合は、const を使用する必要がありますが、変数の初期値は次のようになります。将来的に調整されます(定数変数)。
- Const 定義変数は、通常、モジュールが必要な場合、またはいくつかのグローバル定数を定義する場合に使用されます。 #定数は、そのスコープ内の他の変数または関数と同じ名前を持つことはできません。
(4) let コマンド「javascript strict モード」が必要: 'use strict';
#------変数の昇格はありませんconsole.log(a); //ReferenceError: a is not defined let a = "apple"; console.log(b); //undefined var b = "banana";
変数 b は var で宣言されており、変数の昇格があるため、スクリプトの実行を開始すると、 b はすでに存在しますが、まだ存在していません。値が割り当てられているため、出力は未定義になります。
変数 a を let で宣言した場合、変数の昇格は行われません。変数 a を宣言する前は a が存在しないため、エラーが報告されます。
重複した宣言は許可されませんlet a = 1; let a = 2; var b = 3; var b = 4; a // Identifier 'a' has already been declared b // 4ログイン後にコピー
let は 1 回のみ宣言でき、var は複数回宣言できます
ブロックレベルのスコープ(つまり、{ } 内でのみ有効です)
{ let a = 0; a // 0 } a // 报错 ReferenceError: a is not definedログイン後にコピー
let 定義が関数内で使用された後は、関数の外部には影響しません
#宣言時に変数に値を割り当てることができます。デフォルト値は未定義ですが、スクリプトの後半で変数に値を割り当てることもできます。宣言前に使用することはできません (一時的なデッド ゾーン)注let a; console.log(a); // undefined console.log(b); // ReferenceError: b is not defined let b = 1; a = 2; console.log(a); // 2ログイン後にコピー
: ES6 は、コード ブロックに let または const がある場合、コード ブロックはブロックの先頭からこれらのコマンドで宣言された変数までの閉じたスコープを形成することを明確に規定しています。コード ブロック内で、変数 PI を宣言する前に使用すると、エラーが発生します。
var PI = "a"; if(true){ console.log(PI); // ReferenceError: PI is not defined const PI = "3.1415926"; }
(5) import コマンド
import はファイルの読み込みに使用されます。中括弧内は受信内容です。 1 つまたは複数の変数名である場合、これらの変数名はインポートする変数名と同じである必要があります。
举个栗子:你想要导入action.js文件中的某一个变量,这个变量里保存了一段代码块,所以你要写成:import { Button } from 'action'
,这个时候,你就从action.js中获取到了一个叫 Button 的变量,既然获取到了,你就可以对Button里的代码猥琐欲为了
如果想为输入的变量重新取一个名字,import
命令要使用as关键字,将输入的变量重命名,比如:
import { NewButton as Button } from 'action.js';
上面的代码表示从action.js文件中,获取一个变量名称叫做Button的代码段,然后你又声明了一个变量 NewButton ,将 Button 保存在 NewButton
(6) class命令
在es5中我们是使用构造函数实例化出来一个对象,那么构造函数与普通的函数有什么区别呢?其实没有区别,无非就是函数名称用首字母大写来加以区分,这个不用对说对es5有了解的朋友都应该知道。
但是es5的这种方式给人的感觉还是不够严谨,于是在es6中就换成了class,就是把es5中的function换成了class,有这个单词就代表是个构造函数,然后呢对象还是new出来的,这一点并没有变化。
类的使用
从里面的代码我们可以看到除了function变成了class以外,其它的跟es5一样
class Coder{ name(val){ console.log(val); }} let shuang= new Coder;shuang.name('shuang');
类的传参
在es6中的对象的属性都是写在constructor里面,方法都是在原型身上。在这里面的代码用constructor约定了两个参数,然后用add()方法把参数相加,这个地方跟以前不太一样,所以需要多注意一下。
class Coder{ name(val){ console.log(val); return val; } constructor(a,b){ this.a=a; this.b=b; } add(){ return this.a+this.b; }} let shuang=new Coder(1,2);console.log(shuang.add());
class的继承
class的继承就是用extends
class shuang extends Coder{ } let shuang=new shuang;shuang.name('Angel爽');
声明一个shuang的新类,用extends继承了Coder,调用里面的name方法,发现也是可以输出的。
学习总结:
一、用关键字var声明变量
1、var声明的全局对象是顶级对象(window)的属性;
2、用var在函数外声明的对象为全局变量,在函数内声明的对象为局部变量;
3、用var可以对同一对象重复声明和赋值;
4、用var声明的对象具有变量提升的作用(声明提前,赋值不提前);
二、用关键字function声明变量
1、用function声明的函数对象具有变量提升的作用(声明提前,赋值不提前);
2、function声明的函数对象是顶级对象(window)的属性;
三、用关键字let声明变量
1、用let声明的变量在块级作用域内有效;
2、let声明的变量不存在变量提升;
3、let声明的变量存在暂时性死区(即同一个块级作用域中,在let声明该变量的语句之前,该变量已经存在,但是不能使用);
4、在同一个作用域内,对于let声明的变量不能重复声明。
四、用关键字const声明变量
1、const命令声明的值一旦声明,就不能再次改变;
2、const声明变量时,必须立即初始化,否则会报错(因为值一旦声明不可改变);
3、const声明的变量不存在变量提升;
4、const声明的变量存在暂时性死区;
5、const声明的变量只在块级作用域内有效;
6、const变量在同一个作用域内不能重复声明。
五、关于变量提升
1、只有声明本身会被提升,而赋值操作不会被提升。
2、变量会提升到其所在函数的最上面,而不是整个程序的最上面。
3、函数声明会被提升,但函数表达式不会被提升。
4、函数声明的优先级高于普通变量申明的优先级,并且函数声明和函数定义的部分一起被提升。
5、同一个变量只会声明一次,其他的会被忽略掉。
【相关推荐:javascript视频教程、web前端】
以上がes6 の 6 つの変数定義方法とは何ですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











環境変数は、アプリケーションやプログラムが実行される場所 (または環境) へのパスです。ユーザーはこれらを作成、編集、管理、削除でき、特定のプロセスの動作を管理する場合に便利です。ここでは、Windows で複数の変数を個別に編集することなく、複数の変数を同時に管理するための構成ファイルを作成する方法を説明します。環境変数でプロファイルを使用する方法 Windows 11 および 10 Windows には、ユーザー変数 (現在のユーザーに適用) とシステム変数 (グローバルに適用) の 2 つの環境変数セットがあります。ただし、PowerToys などのツールを使用すると、別の構成ファイルを作成して新しい変数と既存の変数を追加し、それらをすべて一度に管理できます。方法は次のとおりです: ステップ 1: PowerToysPowerTo をインストールする

PHP7 では Strict モードが導入され、開発者が潜在的なエラーを減らすのに役立ちます。この記事では、厳密モードとは何か、および PHP7 で厳密モードを使用してエラーを減らす方法について説明します。同時に、コード例を通じて厳密モードの適用を示します。 1.ストリクトモードとは何ですか? Strict モードは、開発者がより標準化されたコードを作成し、いくつかの一般的なエラーを減らすのに役立つ PHP7 の機能です。厳密モードでは、変数宣言、型チェック、関数呼び出しなどに厳密な制限と検出が行われます。合格
![内部エラー: 一時ディレクトリを作成できません [解決済み]](https://img.php.cn/upload/article/000/000/164/168171504798267.png?x-oss-process=image/resize,m_fill,h_207,w_330)
Windows システムでは、ユーザーは実行可能ファイル/セットアップ ファイルを使用してさまざまな種類のアプリケーションをシステムにインストールできます。最近、多くの Windows ユーザーが、実行可能ファイルを使用してアプリケーションをインストールしようとすると、システム上で INTERNALERROR:cannotCreateTemporaryDirectory というエラーが表示されると苦情を言い始めています。この問題はこれに限定されず、Windows システムにインストールされている既存のアプリケーションをユーザーが起動することもできなくなります。考えられる理由のいくつかを以下に示します。管理者権限を付与せずに実行可能ファイルを実行してインストールします。 TMP 変数に無効なパス、または異なるパスが指定されました。破損したシステム

Ajax を使用して PHP メソッドから変数を取得することは、Web 開発では一般的なシナリオであり、Ajax を使用すると、データを更新せずにページを動的に取得できます。この記事では、Ajax を使用して PHP メソッドから変数を取得する方法と、具体的なコード例を紹介します。まず、Ajax リクエストを処理し、必要な変数を返すための PHP ファイルを作成する必要があります。以下は、単純な PHP ファイル getData.php のサンプル コードです。

Pythonはそのシンプルで読みやすい構文から幅広い分野で広く使われています。プログラミングの効率を向上させ、コードがどのように機能するかを深く理解するためには、Python 構文の基本構造をマスターすることが重要です。この目的を達成するために、この記事では、Python 構文のさまざまな側面を詳しく説明した包括的なマインド マップを提供します。変数とデータ型 変数は、Python でデータを保存するために使用されるコンテナです。マインド マップには、整数、浮動小数点数、文字列、ブール値、リストなどの一般的な Python データ型が表示されます。各データ型には独自の特性と操作方法があります。演算子 演算子は、データ型に対してさまざまな操作を実行するために使用されます。マインド マップは、算術演算子、比率など、Python のさまざまな演算子の種類をカバーしています。

Java のインスタンス変数は、メソッドやコンストラクターではなく、クラスで定義された変数を指します。インスタンス変数はメンバー変数とも呼ばれ、クラスの各インスタンスにはインスタンス変数の独自のコピーがあります。インスタンス変数はオブジェクトの作成時に初期化され、その状態はオブジェクトの存続期間全体にわたって保存および維持されます。インスタンス変数定義は通常、クラスの先頭に配置され、パブリック、プライベート、プロテクト、またはデフォルトのアクセス修飾子など、任意のアクセス修飾子を使用して宣言できます。それは私たちがこれをどうしたいかによって決まります

jQuery は Web 開発で広く使用されている JavaScript ライブラリで、Web ページ要素を操作したりイベントを処理したりするためのシンプルで便利なメソッドを多数提供します。実際の開発では、変数が空かどうかを判断する必要がある場面によく遭遇します。この記事では、jQuery を使用して変数が空かどうかを判断する一般的な方法をいくつか紹介し、具体的なコード例を添付します。方法 1: if ステートメントを使用して、varstr="";if(str){co を決定します。

C の const の詳細な説明とコード例 C 言語では、const キーワードを使用して定数を定義します。これは、プログラムの実行中に変数の値を変更できないことを意味します。 const キーワードは、変数、関数パラメータ、関数の戻り値を変更するために使用できます。この記事では、C 言語での const キーワードの使用法を詳細に分析し、具体的なコード例を示します。 const 変更された変数 const を使用して変数を変更する場合、その変数は読み取り専用変数であり、値が割り当てられると変更できないことを意味します。例: 定数
