ES6によって導入された3番目の宣言キーワードは、let:constに似ています。
使用法を見てみましょう。
const c1 = 1; const c2 = {}; const c3 = []; object.getownPropertyDescriptor(window、 "c1")// object {value:1、writable:false、列挙、列挙、設定可能:false}上記の例では、C2に値を割り当てることはできませんが、C2はオブジェクトであるためC2の内容を変更できます。例を参照してください:
c2.p1 = 1;
同様に、C3は配列であるため、C3に要素を追加することもできます。
定数を宣言することには別の問題があります。つまり、宣言と初期化は一緒になければならず、宣言後、それは初期化する必要があります。
「Strictを使用」; const c4; // contaught syntaxerror:予期しないトークン。
セミコロンを削除した場合でも、エラーを報告します。ここでは、非厳格なモードでの状況については説明しません。興味があれば、自分で試すことができます。
constによって宣言された変数は、letによって宣言された変数に似ています。違いは、constによって宣言された変数は、宣言中に値を割り当てることができ、自由に変更できないことです。そうしないと、Syntaxerror(構文エラー)を引き起こします。
const max_cat_size_kg = 3000; //正しいmax_cat_size_kg = 5000; //構文エラー(syntaxerror)max_cat_size_kg ++; //変更されていますが、構文エラーを引き起こします
もちろん、仕様設計は十分に賢明です。 constで変数を宣言した後、値を割り当てる必要があります。そうしないと、構文エラーもスローされます。
const thefairest; //それはまだ構文エラーです、あなたは不運な男です