下面代码为什么会报错

新手上路,请多包涵
const objOne = {
    name : "mike",
    langugae: {
        first: "chinese",
        second: "english"
    },
    data: [1, 2, 3, 5]
}
objOne.objOne = objOne;
let objThree = deepCopySecond(objOne);
console.log(objThree);
// 下面这行代码为什么会报错
objThree.language.first = "japanese";

deepCopySecond是可以实现对具有循环引用的对象的深拷贝函数
打印objThree的时候可以打印出来,说明拷贝成功。
然后我便想通过改变objThree的值来和objOne对比来判断是否深拷贝成功。
但是最后一行代码直接报
Cannot set property 'first' of undefined
错误,这是为什么?

阅读 1k
1 个回答

因为单词拼写错误呗,你看你前面定义的叫 langugae,后面用的时候却写成language.

难受不难受?

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题