() 括号,它在 JavaScript 中 ({__proto__: []} instanceof Array) 的语句中起什么作用

2023-12-02

在 JavaScript 中,以下给出错误:

{ __proto__: [] } instanceof Array;

如果我把它包围在(brackets)它没有错误:

({ __proto__: [] } instanceof Array);

为什么是这样?


当口译员看到{,默认情况下,它会认为你正在声明一个新的块,例如

{
  console.log('foo');
}

因此:

{
  __proto__: []
} instanceof Array

没有多大意义 - 你不能instanceof一个块。

但是当它被括在括号中时,解释器知道期望一个value在括号内,而不是块 - 因此它将内部的所有内容评估为表达相反,并且(正确地)解析{ __proto__: [] }作为一个对象。

这与解构时的原因完全相同已经分配的变量,你必须在该行两边加上括号:

let x, y;
({x, y} = { x: 'foo', y: 'bar'});
console.log('done ' + x);

有效,但如果没有():

let x, y;
{x, y} = { x: 'foo', y: 'bar'};
console.log('done ' + x);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

() 括号,它在 JavaScript 中 ({__proto__: []} instanceof Array) 的语句中起什么作用 的相关文章

  • 在 React 组件中动态创建元素

    我创建了一个辅助函数 当我单击按钮时 它可以在组件中动态创建元素 但是它没有显示我尝试附加到父 div 的 html 的一半 它正确地将标签添加为 html 但其余部分只是纯文本 谁能明白为什么吗 用于动态创建内容的函数 function
  • 使用普通的旧 JS 动态渲染 DOM 元素的好方法是什么?

    我面临的挑战是使用普通的旧 Javascript 构建一个单页应用程序 不允许使用任何库或框架 虽然在 React 和 Angular 中创建动态 DOM 元素相当简单 但我提出的普通 JS 解决方案似乎很笨重 我想知道是否有一种特别更简洁
  • 当代理关闭并启动时,Node JS mqtt 客户端未收到订阅的消息

    我创建了一个 mqtt Node js 客户端 我的连接选项如下 mqttOptions clientId 100 keepAlive 1000 clean false reconnectPeriod 1000 will willMessa
  • 生成随机数背后的数学(崩溃游戏 BTC Casino)

    我正在开发一款基于网络的游戏 其中有多个迷你游戏 我们坚持还添加一个在赌博界非常流行的崩溃游戏 然而 我们一直在努力理解生成随机 几乎不可预测 数字的概念 大多数赌博网站都会提供哈希值等来证明数字未被篡改 我们真的不需要这个 因为我们的游戏
  • 在 sinon.js 中存根和/或模拟类?

    我已经为我的应用程序创建了一个数据库包装器 如下所示 为了测试它 我显然想替换实际的数据库 我可以创建一个新类来模拟query方法并捕获那里的所有输入 但是使用sinon js看起来更合适 但是我该如何使用它呢 Is the mock or
  • 将全局样式表与故事书和角度结合使用 - SassError:SassError:预期“{”

    几天来 我一直在尝试将全局样式表集成到故事书中 我已经从 sass 支持文档中集成了 webpackFinal 配置 在 storybook 目录中 我创建了一个 scss loader scss 文件 该文件应该加载全局样式表 在 pre
  • 关联数组不按顺序排列

    关联数组的顺序是这样的 A00 gt value1 A01 gt value2 B01 gt value3 B02 gt value4 但是在 for 循环之后数组顺序不起作用 for var key in obj3 code list1
  • Javascript dispatchEvent click 在 IE9 和 IE10 中不起作用

    我正在尝试在 ExtJs 中构建应用程序时模拟鼠标事件 例如单击 鼠标悬停等 我使用下面的代码来模拟点击 function triggerEvent element eventName if document createEvent var
  • JavaScript 事件循环:队列、消息队列、事件队列

    阅读了大量 JavaScript 事件循环教程 我看到了不同的术语来标识当调用堆栈为空时准备由事件循环获取的队列存储消息 Queue 消息队列 事件队列 我找不到规范术语来识别这一点 甚至 MDN 似乎也对此感到困惑事件循环页面 https
  • img设置flex-grow来填充flex容器剩余空间,它会导致flex内部溢出flex容器[重复]

    这个问题在这里已经有答案了 以下是我的代码 text1 溢出 Flex 容器 我期望 Flex 容器中的 img 文本和 img 填充 Flex 容器其余部分
  • 浏览器中的javascript:异步任务执行模型

    我正在尝试集中注意力并了解 javascript 异步在单线程浏览器环境中的工作原理 作为异步 我们可以同时处理计时器和 xhr 请求 现在假设我有类似下面的东西 function doStuff for var i 0 i lt 1000
  • JavaScript switch 语句是线性的还是恒定时间的?

    我的网站上有以下 JavaScript 以便在执行某些特定搜索时 答案会被硬编码到特定页面 function redirect var input document getElementById searchBox value toLowe
  • 如何从 HTML 图表中删除网址 [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我正在 HTML 中创建一个图表 我正在使用 API amCharts 但问题是它在图表中显示文本 amchart 我怎样才能删除该文本
  • 在 JQueryUI 小部件的 QUnit 测试中测试可见性

    这对于其他人来说可能是显而易见的 但我没有通过搜索找到它 所以在这里发布问题和一个可能的答案 背景 使用自定义 JQuery UI 小部件小部件工厂 http jqueryui com widget 在小部件中 某些元素根据其他数据 选项隐
  • 如何通过 Web-Workers 传递自定义类实例?

    由于 Web Worker JSON 在线程之间序列化数据 因此这样的方法不起作用 worker js function Animal Animal prototype foobar function self onmessage func
  • 如何将多种语言设置放入单个 .clang-format 文件中

    我想为 java javascript 和 c 创建一个 clang 格式 我知道如何转储单一语言的示例配置 但不知道如何合并这 3 个配置文件 有关如何将多种语言配置放入单个文件中的示例 BasedOnStyle LLVM IndentW
  • 如何将 props 传递给模态

    我有一个购物应用程序 我可以在其中映射一些产品并将它们呈现在屏幕上 用户可以增加 减少数量 当数量达到 1 并且用户点击减少时 一些中间件会介入并询问他们是否确定要将其从购物篮中删除 如果他们单击 否 则会关闭模式并将其留在购物篮中 如果他
  • 样式表何时添加到 document.styleSheets

    我正在尝试使用 javascript 动态添加 css 样式表规则 例如示例 2here https developer mozilla org en DOM CSSStyleSheet insertRule 它在大多数情况下都有效 但似乎
  • 静态资源和非静态资源有什么区别?

    我主要是一名前端开发人员 设计师 但最近我一直在探索端到端解决方案 昨天 我使用平均堆栈完成了一个 TODO 应用程序 并想开始探索我的 VPS 的部署选项 话虽这么说 有人建议我使用 nginx 作为反向代理来提供静态资源 不幸的是 我陷
  • JSON 数据的动态表单(不同类型)

    我尝试使用 JSON 中的数据在 AngularJS 中创建动态表单 我有这个工作 HTML p p

随机推荐