gpt4 book ai didi

javascript - 为什么通过扩展运算符解构 MessageEvent 不返回所有属性?

转载 作者:行者123 更新时间:2023-12-03 00:56:55 27 4
gpt4 key购买 nike

在 Chrome 开发控制台中:

event = new MessageEvent({data: 'some data'})
MessageEvent {isTrusted: false, data: null, origin: "", lastEventId: "", source: null, …}

当我尝试展开运算符时:

{...event}
{isTrusted: false}

...我只看到 isTrusted 属性。

最佳答案

扩展运算符仅复制对象自己的可枚举属性,而不是在原型(prototype)链上找到的属性。如果您查看event自己的属性,您会发现它只有isTrusted属性。

> Object.getOwnPropertyNames(event)
> ["isTrusted"]

如果您在原型(prototype)链上向上查看一步,您会看到其他一些属性的位置:

> Object.getOwnPropertyNames(event.__proto__)
> (7) ["data", "origin", "lastEventId", "source", "ports", "initMessageEvent", "constructor"]

关于javascript - 为什么通过扩展运算符解构 MessageEvent 不返回所有属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52787593/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com