定数として指定されたモジュール(またはオブジェクト)をnode.jsで変更できるのはなぜですか?例えば定数JSの変更を許可するJS
が、これは許可されています
const EXPRESS = require('express');
EXPRESS.someProperty = 'some value';
しかし、これではありません。
const MYCONST = '123';
MYCONST = '456';
定数として指定されたモジュール(またはオブジェクト)をnode.jsで変更できるのはなぜですか?例えば定数JSの変更を許可するJS
が、これは許可されています
const EXPRESS = require('express');
EXPRESS.someProperty = 'some value';
しかし、これではありません。
const MYCONST = '123';
MYCONST = '456';
const
あなたがいないどのような基準点を基準自体を変えることができないことを意味します。ドキュメントから
const a = { name: 'tom' };
// you cannot change the reference (point a to something else)
a = 5; // this is an error
// but you can change the value stored at that reference with no problem
a.name = 'bob';
:
CONST宣言は、値への読み取り専用の参照を作成します。 は、保持している値が不変であるという意味ではなく、変数 の識別子を再割り当てすることはできません。例えば、内容がコンテンツである である場合、これはオブジェクト自体が依然として変更可能であることを意味する。
これはノード固有ではなく、Javascript仕様の一部です。参照EXPRESS
は定数です。const
を使用して宣言すると、参照を再割り当てすることはできません。
const EXPRESS = require('express');
EXPRESS = 'something else';
も
のconstは、このようにあなたがオブジェクト自体を変更することができ、オブジェクトが不変になるために作るものではありませんが、
https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Statements/const
その参照にすべての良い別のオブジェクトを割り当てることはできません失敗します答え。説明の人に感謝します。 – Azevedo