letコマンドに似constのコマンドは、単に宣言してみましょう変数を、constの宣言定数を。
我々constが読み取り専用の定数を宣言します。一度宣言、定数の値を変更することはできません。
従来の書き込み:
constのPI = 3.333 ;
console.log(PI);
constの指示に従って、与えられた状況:
最初の@:一定の値に変更するために、一度与えられている不変の定数constのEndステートメント、 constのにPIを= 3.333; PI = 3; はconsole.log(PI); //エラー、キャッチされない例外TypeError:定数変数への代入 。
CONST楽しいです= {};
楽しいです= {};
console.log(楽しい); //报错;定数変数への代入
CONST = [];
= [];
console.log(A)。
// 2番目:constのは一度宣言し、それは、すぐに初期化後の割り当てに残っていないする必要があります。
CONST; にconsole.log(A); //エラー、CONSTで宣言の欠落イニシャライザ 第//:ブロックレベルの範囲として、ブロックレベルのアクション内でのみ変数ように又は前記閉鎖CONSTコードブロックパッケージ。 {(真の)IF ; CONST = M. 4 } にconsole.log(M); //エラーMが定義されていない 変数宣言CONST変数が持ち上げ存在しない://四 IF(trueに){ にconsole.log(A ); //エラー。 ''の前に初期化アクセスできない = 10のconst Aを; } //第五:変数の再宣言ではない "!こんにちは" VARメッセージ=を、 聞かせて年齢= 25; constのメッセージ= "!さようなら"。 constの年齢= 30;
console.log(メッセージ); //エラー;識別子「というメッセージ」は既にされていると宣言します console.log(年齢); //报错;識別子の年齢 'は既に宣言されています
エッセンス:
ルアンYifengにより教師は、言っているconst
、実際には保証されない変数の値が変化しなくてもよいが、格納されたデータの可変ポイントのメモリアドレスが変更されてはなりません。単純なデータ型(数値、文字列、ブール値)のために、その値をメモリアドレスに格納される変数によって指し示さ、定することに等しいです。しかしながら、複合型データ(主にオブジェクトおよび配列)、変数メモリアドレスは、実際のデータへのポインタのみを保存するために尖っ、const
ポインタのみが保証されている(すなわち、別の固定アドレスを指すは常に)、固定、それはデータ構造を指し示すように変数ではない、それは完全に制御することができません。したがって、定数として宣言されたオブジェクトは、非常に慎重でなければなりません。
以下の状況でエラーをCONSTありません
人=定数{}; //オブジェクト宣言 PERSON.NAME = 'WZXを' ; //追加オブジェクトプロパティ person.age = 24 ; にconsole.log(PERSON.NAME); // CONST数 = []; //アレイを宣言する number.push( 4,5 ); //配列の追加 はconsole.log(数);
出力:
あなたがオブジェクト自体を凍結する場合は、Object.freeze()メソッドを使用することができます。
CONST人= Object.freeze({})。 person.name = "wzx" 。 console.log(person.name)。// 未定義