作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在 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/
我有一个 Angular 6 前端应用程序,它通过 Websocket 与我的后端进行通信。 当我发送登录请求时,我的后端返回一个 JSON 对象 {"type":"LoggedIn","value"
在 Chrome 开发控制台中: event = new MessageEvent({data: 'some data'}) MessageEvent {isTrusted: false, data:
我是一名优秀的程序员,十分优秀!