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ブラウザではスペースの表示が異なります
目次1. 結論から始めましょう2. キーの役割2.1 例2.2 上記の例を修正する2.3 例を再度修...
HTML 初心者は、ファイルを正しく参照する方法という問題によく遭遇します。たとえば、HTML ペー...
目次序文1. Mixin とは何ですか? 2. Mixin はいつ使用すればよいですか? 3. Mi...
MySQL データベースには増分バックアップ メカニズムはありませんが、マスター データベース内のす...
土曜日、本番サーバー上の Redis サーバーが利用できなくなり、エラー メッセージは次のようになり...
序文フロントエンド開発では、目的のコンテンツを取得するためにループをトラバースする必要がある状況に頻...
<br />この記事では、XHTMLとXHTMLの基礎知識について簡単に紹介します。 X...
序文最近、仕事で問題が発生しました。 Centos7 システムでは MySQL にリモート接続できな...
背景 - オンラインアラートオンライン サーバーがアラームを発し、ディスク使用率 disk.util...
目次1. 糖衣構文とは何ですか? 2. VUE の構文糖とは何ですか? 1. 最も一般的な構文シュガ...
この間、私は docker を勉強していたのですが、nginx をデプロイするときに行き詰まりました...
1. Nginx ロードバランシングの実装原理1. Nginxはリバースプロキシを通じて負荷分散を実...
目次1. プロセスとスレッドの概念2. ブラウザの原則3. 同期と非同期4. 実行スタックとタスクキ...
この記事では、指定された赤い封筒の順序と金額を実装するためのjsの具体的なコードを共有します。具体的...
以下のように表示されます。 def test_write(self): フィールド=[] field...