React の const とは何ですか?

coldplay.xixi
リリース: 2020-11-27 16:25:17
オリジナル
12577 人が閲覧しました

React の

const は次のとおりです: 1. const で宣言された変数は変更できない値です; 2. const のスコープは let コマンドと同じです; 3. const コマンドで宣言された定数は昇格されません; 4. const 宣言 let のような定数は繰り返し宣言できません; 5. const は読み取り専用の定数を宣言します。

React の const とは何ですか?

このチュートリアルの動作環境: Windows7 システム、React17 バージョンこの方法は、すべてのブランドのコンピューターに適しています。 React の

const は:

1. Const は読み取り専用の定数を宣言します。定数の値は、一度宣言すると変更できません。

const PI = 3.1415;
PI // 3.1415
PI = 3;
// TypeError: Assignment to constant variable.
ログイン後にコピー

上記のコードは、定数の値を変更するとエラーが発生することを示しています。

2. const で宣言された変数は変更できない値です。これは、const 変数が宣言されたらすぐに初期化する必要があり、後で代入できるようにしておくことはできないことを意味します。

const foo;
// SyntaxError: Missing initializer in const declaration
ログイン後にコピー

上記のコードは、const の場合、値を割り当てずに宣言しただけの場合、エラーが報告されることを示しています。

3. const のスコープは let コマンドのスコープと同じで、宣言が置かれているブロックレベルのスコープ内でのみ有効です。

if (true) {
const MAX = 5;
}
MAX // Uncaught ReferenceError: MAX is not defined
ログイン後にコピー

4. const コマンドで宣言された定数は昇格されず、一時的なデッド ゾーンもあり、宣言された位置の後でのみ使用できます。

if (true) {
console.log(MAX); // ReferenceError
const MAX = 5;
}
ログイン後にコピー

上記のコードは、定数 MAX が宣言される前に呼び出され、エラーが報告されます。

5. const で宣言した定数は let のように繰り返し宣言することはできません。

var message = "Hello!";
let age = 25;
// 以下两行都会报错
const message = "Goodbye!";
const age = 30;
ログイン後にコピー

6. 複合型変数の場合、変数名はデータを指すのではなく、データが配置されているアドレスを指します。 const コマンドは、変数名が指すアドレスが変更されないことを保証するだけで、そのアドレスのデータが変更されないことは保証されないため、オブジェクトを定数として宣言する場合は十分に注意する必要があります。

const foo = {};
foo.prop = 123;
foo.prop
// 123
foo = {}; // TypeError: "foo" is read-only
ログイン後にコピー

上記のコードでは、定数 foo はオブジェクトを指すアドレスを格納します。不変なのはこのアドレスのみです。つまり、foo が別のアドレスを指すことはできませんが、オブジェクト自体は変更可能であるため、新しいプロパティをオブジェクトに追加することはできます。

これは別の例です。

const a = [];
a.push('Hello'); // 可执行
a.length = 0; // 可执行
a = ['Dave']; // 报错
ログイン後にコピー

上記のコードでは、定数 a は配列です。配列自体は書き込み可能ですが、別の配列を a に代入するとエラーが報告されます。

7. 本当にオブジェクトをフリーズしたい場合は、Object.freeze メソッドを使用する必要があります。

const foo = Object.freeze({});
// 常规模式时,下面一行不起作用;
// 严格模式时,该行会报错
foo.prop = 123;
ログイン後にコピー

上記のコードでは、定数 foo は凍結されたオブジェクトを指しているため、新しい属性の追加は機能せず、厳密モードではエラーが報告されます。

8. オブジェクト自体をフリーズするだけでなく、オブジェクトのプロパティもフリーズする必要があります。以下はオブジェクトを完全にフリーズする関数です。

var constantize = (obj) => {
Object.freeze(obj);
Object.keys(obj).forEach( (key, value) => {
if ( typeof obj[key] === 'object' ) {
constantize( obj[key] );
}
});
};
ログイン後にコピー

ES5 では、変数を宣言する方法が var コマンドと function コマンドの 2 つだけです。 let および const コマンドの追加に加えて、ES6 には変数を宣言するための 2 つの方法もあります: import コマンドと class コマンドです。したがって、ES6 には変数を宣言する方法が合計 6 つあります。

関連する無料学習の推奨事項: javascript (ビデオ)

以上がReact の const とは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート