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ブラウザではスペースの表示が異なります
みなさんこんにちは、今日はウェブフロントエンドのHTMLを見ていたら、inputタグのtype属性が...
目次0. モジュールとは何か1.モジュールの読み込み1.1 方法1 1.2 方法2 2. 輸出と輸入...
序文このサービスは数か月前からMySQLに導入されています。私の仕事は基本的にターミナルで行われるた...
React tsxは参照用にランダムな検証コードを生成します。具体的な内容は次のとおりです。最近、t...
1. データベースとデータベースインスタンスMySQL の研究では、データベースとデータベース イン...
1. コマンドの紹介tac (cat の逆順) コマンドは、ファイルの内容を行単位で逆順に出力します...
パブリッシュ/サブスクライブとは何ですか?例を挙げてみましょう。あなたは服を買うために店に行きます。...
ul liの前のアイコン1をキャンセルしますクリア値1値を1に設定ラベル中央値1をクリアラベルの中央...
ウェブ上で証明書とキーをコピーするscp -rp -P52113 /application/ngin...
最近のプロジェクトでは、ブレークポイントからビデオの再生を再開する機能を実装する必要がありました。こ...
SQL (Structured Query Language) ステートメント、つまり構造化クエリ言...
Linux では、アプリケーションをダウンロードしてインストールすると、起動時にアプリケーション名...
Linux コンピュータには 2 つの時間があります。1 つはハードウェア時間 (BIOS に記録さ...
React Native は、プルアップとプルダウンの監視ジェスチャを実装します。詳細なコアコードは...
定義と使用法display プロパティは、要素が生成するボックスのタイプを指定します。例示するこの属...