我在一个模块中有以下代码:
export let person = {
name : "henry",
age : 5
}
在我导入的另一个模块中:
import {person} from './person'
尝试更改人员模块时:
person = {
name : "joe",
age : 20
}
我得到一个语法错误。 但是,当我更改person对象上的任何属性时,它会成功完成
person.name = "joe" // works
person.age =50 //works
为什么会这样?
答案 0 :(得分:1)
执行import {person} from './person'
时,您正在使用导出的对象获得const person
。
您无法更改person
对象的内容,但是,在这种情况下唯一的常见问题是refrence to object,您可以更改内容对象本身。
例如:
const obj = {};
obj.stackoverflow = "Cool site"; // works!
obj = "stackoverflow"; //TypeError: Assignment to constant variable