js 对象的赋值的两种区别?

1.let _b = 111;
let a = {};
a.b= _b;
2.let _b = 111;
let a = {b:_b};
问题:二者有什么本质区别?

阅读 2.4k
4 个回答

在js里没区别,js里万物皆对象。
但对于使用习惯来说,使用第一种方法你可以随意增加修改a里的值,但第二种,每一次对a的赋值都是新对象,也就是得把完整的对象再赋值一遍,明显第一种比较灵活嘛。

比如你想增加c:
第一种:a.c=_c;
第二种:a={b:_b, c:_c}

没什么本质区别吧,数据类型都是一样的,唯一的区别的就是后者代码少了一行

第二种方法 a 指向的 内存中的新的一个对象

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