1. letキーワード1.1 基本的な使い方let は 構文構造は次のとおりです。 var1 [= 値1] [, var2 [= 値2]] [, ..., varN [= 値N]] とします。 パラメータの説明: サンプルコードは次のとおりです。 グローバルスコープでは、変数は定義されます // グローバル変数を定義する var a = 100; // var キーワードを使用する let b = 200; // let キーワードを使用する console.log(a); // 100 コンソールログ(b); // 200 グローバル変数を定義するだけでは違いがないことがわかりました。 ブロックスコープでの変数の定義 ブロックスコープの詳細については、この記事を参照してください。 // ブロックスコープで変数を定義する { var a = 100; // var キーワードを使用します let b = 200; // let キーワードを使用します } コンソールログ(a); // 100 console.log(b); // ReferenceError: b is not defined という説明の例外をスローします コード ブロック内で ES6 で提供される サンプルコードは次のとおりです。 // ループ本体を定義します for (let v = 0; v < 10; v++) { console.log("これは for ループです"); // これは for ループです * 10 } console.log(v); // 次の説明を含む例外をスローします: ReferenceError: v が定義されていません
サンプルコードは次のとおりです。 (v = 0; v < 10; v++) の場合 { v = 10とする コンソール.log(v); // 100 * 10 } 上記の結果は、2 つの v が同じスコープ内にないことを意味します。 1.2 変動昇進はないvar を使用して変数を定義すると、次のコードに示すように、いわゆる変数コミッションが発生します。 console.log(v); // 未定義 var v = 100; この値を変数宣言の前に使用し、エラーは報告されませんが、結果は未定義です。これは奇妙なロジックです。一般的なロジックによると、このように使用すると例外がスローされるはずです。 次のコードに示すように: console.log(v); // ReferenceError: 初期化前に 'v' にアクセスできませんという説明の例外がスローされます v = 100 とします。 上記のコードでは、変数は宣言される前に使用できないという説明とともに例外がスローされます。 1.3 一時的なデッドゾーンブロックレベルのスコープ内に v = 100 とします。 { console.log(v); // ReferenceError: 初期化前に 'v' にアクセスできませんという説明の例外がスローされます // この変数はブロックレベルのスコープにバインドされており、このスコープはこの変数のみを使用できます。let v = 200; }
一般的に、ブロック レベルのスコープでは、変数は let キーワードを使用して宣言されるまで使用できません。これは文法的には一時的な 1.4 重複した申告は認められない
// var を使用して変数を宣言します var a = 100; コンソールログ(a); // 100 var a = 1000; // 繰り返し宣言 console.log(a); // 1000 // let を使用して変数を宣言します。let b = 100; コンソールログ(b); // 100 let b = 1000; // 繰り返し宣言 console.log(b); // 次の説明の例外をスローします: SyntaxError: 識別子 'b' は既に宣言されています 繰り返し宣言すると、 1.5 関数との関係関数パラメータはletキーワードを使用して定義された変数と同等です。関数本体でletキーワードを再度使用して、パラメータと同じ名前の変数を再宣言すると、 // let を使用して変数を宣言します。let a = 100; // 関数を定義する function fun(b) { // let b = 10; // 次のような例外がスローされます: SyntaxError: 識別子 'b' は既に宣言されています console.log(a); // 次の説明を含む例外がスローされます: ReferenceError: 初期化前に 'a' にアクセスできません a = 200 とします。 } 楽しい(20) 2. constキーワード2.1 基本的な使い方
いわゆる定数は初期化後は不変であり、宣言時に初期化する必要があります。サンプル コードは次のとおりです。 定数a = 2 a = 3 // 例外をスローします const b // 初期化されていないため例外をスローします ただし、 定数arr = [] ar[0] = 100 console.log(arr) // [100] 定数オブジェクト = {} obj.name = '一碗の周' console.log(obj) // {name: "Yiwan Zhou"} この問題の原因は、const キーワードが実際に保証するのは変数の値を変更できないということではなく、変数が指すメモリ アドレスを変更できないということだからです。String、 しかし、複合データ型、主に 実際の開発では、var キーワードの使用を避け、代わりに JavaScript ESの新機能、letとconstキーワードについての記事はこれで終わりです。ESの新機能についてさらに詳しく知りたい方は、123WORDPRESS.COMの過去の記事を検索するか、以下の関連記事を引き続きご覧ください。今後とも123WORDPRESS.COMをよろしくお願いいたします。 以下もご興味があるかもしれません:
|
<<: クラウド CentOS で Docker リモート サービス リンクを有効にするための実装手順
>>: IE、Firefox、Chromeブラウザではスペースの表示が異なります
Docker バージョン: [root@localhost gae_proxy]# docker バ...
Vueカードのフリップカルーセル表示、フリップ時にデータを切り替えながら、参考までに、具体的な内容は...
1. flex-direction: (要素の配置方向) ※ flex-direction:row ...
通常は、最初に Dockerfile ファイルを定義し、次に docker build コマンドを使...
最近、Vue プロジェクトではデータをリアルタイムで更新する必要があります。折れ線グラフは 1 秒ご...
MySQL 4.x 以降では、全文検索 MATCH ... AGAINST モード (大文字と小文字...
目的: ステーションAをステーションBのセカンダリディレクトリとして扱うのように: http://w...
カーネル 2.6 の時代には、アクセス制御セキュリティ ポリシーのメカニズムを提供するために新しいセ...
目次jQuery の $.ajax Webpack時代の始まり約束について深く考えるネストをなくすj...
問題:あるサーバー上の PHP プログラムは、localhost アドレス経由でデータベースに接続で...
タイトル通りです。その質問は非常に奇妙です。要素の親タグはdivで、幅や高さなどの属性は設定されてい...
この文の目的は何ですか?コードをコピーコードは次のとおりです。 <link rel="...
本日、開発中に、顧客からページをキャッシュしないように要求される方法に遭遇しました。調べたところ、ペ...
注意: 3 番目の方法は XSell でのみ使用され、finalsell では使用できません。方法1...
この記事の例では、WeChatアプレットでテキストスクロールを実装するための具体的なコードを参考まで...