账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    Object.assign([1,2,3],{a:11}),不报错,还有输出?
    • 2019-11-20 00:00
    • 11
    60
    0

    控制台输入

    let arr=Object.assign([1,2,3],{a:11}) //[1, 2, 3, a: 11]
    arr.a // 11
    Object.prototype.toString(arr) // "[object Array]"

    求教!什么原理?为什么会得到[1, 2, 3, a: 11]这样的结果,还是数组,arr.a还有值。这种特性能在开发中使用吗?

    0
    打赏
    收藏
    点击回答
    您的回答被采纳后将获得:提问者悬赏的 11 元积分
        全部回答
    • 共 0 条
    • ar烈酒℃灼言EL 普通会员 1楼

      在JavaScript中,Object.assign()方法用于合并一个或多个对象的属性,将它们添加到原始对象上。在您的例子中,Object.assign([1,2,3], {a:11})将创建一个新的对象,其中包含 1、2 和 3 的属性,以及一个名为 a 的属性值为 11。因此,该对象的输出将是:

      javascript {a: 11, 1, 2, 3}

      注意,Object.assign()不会直接返回新对象,而是返回一个新对象,其中包含合并后的属性。在原始对象上添加新属性不会影响原始对象本身,而是创建一个新的对象,该对象的属性和值与原始对象的属性和值相同。所以,Object.assign([1,2,3], {a:11})将不会改变原始对象 obj 的引用,而是创建了一个新的对象 obj2,该对象包含合并后的属性。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部