对象有两个具有相同名称的键、对象键自动转换为字符串

如果对象有两个具有相同名称的键,则将替前面的键。它仍将处于第一个位置,但具有最后指定的值。


    //如果对象有两个具有相同名称的键,则将替前面的键。它仍将处于第一个位置,但具有最后指定的值。
    const obj = {a: "one", b: "two", a: "three"};
    console.log(obj);//{a: "three", b: "two"}

对象键自动转换为字符串

    const a = {};
    const b = {key: "b"};
    const c = {key: "c"};

    a[b] = 123;
    a[c] = 456;

    console.log(a[b]);//456


    /*
    对象键自动转换为字符串。我们试图将一个对象设置为对象a的键,其值为123。
    但是,当对象自动转换为字符串化时,它变成了[Object object]。
    所以我们在这里说的是a["Object object"] = 123。
    然后,我们可以尝试再次做同样的事情。 c对象同样会发生隐式类型转换。
    那么,a["Object object"] = 456。然后,我们打印a[b],它实际上是a["Object object"]。
    我们将其设置为456,因此返回456。
    */

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值