javascript - 为什么对象要重写另一个卡住的对象

标签 javascript

我不明白为什么我的对象会覆盖另一个卡住的对象,我尝试从以前的对象创建一个新实例,然后卡住它。但无论如何,即使它被卡住,它也会覆盖自己
另外,为什么我可以更改我的 check 对象(如果它是 const
) JS确实很奇怪

我有下面的代码

let obj = {check: "check"};  
const check = Object.create(obj);
Object.freeze(check);
obj["second"] = "something";
// Expected result: obj = {check: "check", second: "something"}
// check = {check: "check"}

// Actual result: obj = {check: "check", second: "something"}
// check = {check: "check", second: "something"}

最佳答案

Object.create() 不会克隆您应该使用的对象 Object.assign

let obj = {check: "check"};  
const check = Object.create(obj);
Object.seal(check);
obj["second"] = "something";
console.log(check)

关于javascript - 为什么对象要重写另一个卡住的对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55332401/

相关文章:

javascript - axios({method : "post"}) and axios. post()的区别

javascript - Edge 中的平滑过渡?

javascript - 如何使可编辑的文本区域文本不可选择

javascript - 使用 jquery 无限滚动自动加载设置的 tumblr 页面数

javascript - 如何使数组处于状态并处理handleFormChange

javascript - 还通过 jQuery 更改替代 HTML5 视频文件/格式源?

javascript - JS 表单验证以确保如果未输入名称则会出现弹出窗口

javascript - 导航猫 : Make a view and some field can be updated each time inputted

javascript - select2-selecting 事件没有被触发

javascript - 如何使用此复选框变量将复选框变量从 java 方法传递到 JavaScript 方法,但我没有得到正确的输出