如果我将它作为整个模块的内容导入,为什么可以重新分配给const?它应该像这样工作吗?我认为const应该是不可变的。
例如:
// constants.js
export const APPLE = 'apple';
// app.js
import { APPLE } from 'constants.js';
import * as constants from 'constants.js';
constants.APPLE = 'banana';
console.log(APPLE);
//output
banana;
我无法直接重新分配const APPLE
,但我可以重新分配constants.APPLE
,这也会为APPLE
提供一个新值。
当我在Chrome中打印constants
时,我会得到以下输出。
//output of constants
{APPLE: "apple", __esModule: true}
APPLE: "banana"
__esModule: true
__proto__: Object
为什么APPLE
的值不同?