为什么裸数组是有效的 Javascript 语法,但裸对象却不是?

2023-12-21

在我的 Javascript 控制台(在 Chrome 中)我正在尝试这样做:

 { 'a' : 1 }

并得到SyntaxError: Unexpected token :

但这有效:

 ['a', 1]

是什么赋予了???


这是因为花括号有两种用途 - 要么引入块,要么作为对象文字的开头(后者是表达).

控制台无法区分是哪个,因此它假设一个语句块,后来才发现该块的内容无法解析为语句。

对于带有方括号的数组文字,不存在歧义。

可以通过改变上下文来解决歧义,以便{...} must被解释为表达式而不是语句块,例如通过将其设为运算符的右侧、将其括在括号中或将其作为函数参数传递等。

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

为什么裸数组是有效的 Javascript 语法,但裸对象却不是? 的相关文章

随机推荐

  • 将 HTML 表导出到 Excel 时编码 UTF-8

    我正在尝试使用 javascript 将 HTML 表导出到 Excel 这是 JavaScript 代码
  • while 循环不会以逻辑条件终止

    如果我添加 OR 条件语句 该循环将不会终止 如果其中一个为假 那么它应该终止 全局变量 int x 100 char n malloc 64 void add void do printf Would you like to add 1
  • 100vw DIV 未显示全宽

    我正在努力让灰色div id ex home bottom container 朝向本页底部http patrickbaker biz starter d http patrickbaker biz starter d 整页的宽度 这意味着
  • 在 woocommerce_get_price_html 挂钩中的价格后添加多语言文本

    我正在构建一个 WooCommerce 网站并对其进行自定义 从互联网库复制并粘贴代码 我已成功在 woocommerce 产品中添加 自定义价格和自定义文本 以便可以将它们翻译成不同的语言 这是产品页面的外观 https www prim
  • 从 Internet 下载 URL 中具有特定日期时间的图像

    我正在尝试开发一个应用程序 该应用程序将使用生成的 Url 路径从 Web 服务器获取文件 网络服务器上每秒都会创建一个新文件 我正在尝试访问该文件并将其显示在 PictureBox 中 旧文件不会被删除 我遇到了一些问题 服务器返回404
  • 使用 linq 检查列表计数是否一致

    州有城市 只有在没有平局的情况下 我才需要拥有大多数城市的州 并列意味着排名前 2 的州拥有相同数量的城市 var stateWithMostCities states OrderByDescending p gt p cities Cou
  • 未找到 PHP 类 DateTime

    声明 DateTime 对象时缺少某些内容PHP 5 3 8 我得到一个带有确定日期时间的 JSON 字符串 该字符串被传递到我的 php 控制器 由于某种原因 我没有将其映射为 php 中的 DateTime 对象 但有点奇怪 请参阅以下
  • 转换为 YUV / YCbCr 色彩空间 - 许多版本

    有许多不同的 YUV 颜色转换 但它们都有不同的结果 哪一个是官方正确的 这是我的测试程序的输出 我输入 R 128 G 50 B 50 最大值为 255 该表显示了转换后的 YUV 值和重新转换后的 RGB 值 与原始值不匹配 Colou
  • Javascript d3 从 csv 读取

    好的 所以我对 javascript 有点菜鸟 我需要从 csv 读取数据以使用 d3 制作条形图 条形图对我来说没有问题 从 csv 文件中读取是问题 这是我的代码 var dataset d3 csv gender ratio csv
  • 如何在 keycloak docker 容器中进行数据库备份

    我使用 docker 安装了 keycloakdjango project docker run p 8080 8080 e KEYCLOAK USER admin e KEYCLOAK PASSWORD admin jboss keycl
  • 如何将属性绑定到WPF中Treeview中选定的节点

    如何将自定义属性绑定到MVVM中选定节点的IsSelected属性 我已在运行时将节点加载到树视图中 我正在使用MVVM 这是一个小例子 public abstract class ViewModel INotifyPropertyChan
  • 记住 WPF DataGrid 排序顺序

    这是一个延续这个问题 https stackoverflow com questions 34661767 binding properties width sorting of datagrid on dynamic tabpage 1
  • 如何让HTTP连接在一段时间后超时/断开?

    我是阿帕奇的新手HttpClient 我使用以下代码来获取一定时间间隔后的HTTP连接超时 断开连接 PostMethod method new PostMethod authURL HttpClient client new HttpCl
  • Symfony2 SwiftMailer 无法与主机 smtp.gmail.com 建立连接

    在阅读并测试了很多解决方案后 我仍然收到此错误 我的参数 yml parameters database host 127 0 0 1 database port null database name symfony database us
  • 如何获取 Frames/IFrames 内的 HtmlElement 值?

    我正在使用Winforms WebBrowser控制从下面链接的网站收集视频剪辑的链接 LINK http www fuoriditesta it video divertenti marito ubriaco prende la mogl
  • 在 URL 中显示两个单独的选择框值

    这里是两个选择框 我需要的是如果从两个框中都选择了值 则两者都应该显示在 URL 中 如下所示 例如www example com 135 140 OR www example com 135 140 只要两者都显示 这就是主要目的 以哪个
  • 如何在 JavaScript 中创建二维数组?

    我一直在网上阅读 有些地方说这是不可能的 有些地方说这是不可能的 然后给出一个例子 其他人反驳这个例子 等等 如何在 JavaScript 中声明二维数组 假设有可能 我如何访问其成员 myArray 0 1 or myArray 0 1
  • 如何让 Google Cloud Build 在响应 GitHub 触发器时正确替换值?

    问题 在 Google Cloud Build 中设置的 GitHub 触发器实际上不会在运行构建时替换配置的值 云构建 yaml 这是 Google Cloud Build 配置 云构建 yaml steps name gcr io cl
  • 在 Haskell 中生成一组布尔变量的所有组合

    我正在尝试使用 Haskell 中的列表单子 我试图在给定指定布尔变量的字符串列表的情况下生成所有可能命题的列表 例如调用 mapM print allPropositions a b 会产生以下结果 a True b True a Tru
  • 为什么裸数组是有效的 Javascript 语法,但裸对象却不是?

    在我的 Javascript 控制台 在 Chrome 中 我正在尝试这样做 a 1 并得到SyntaxError Unexpected token 但这有效 a 1 是什么赋予了 这是因为花括号有两种用途 要么引入块 要么作为对象文字的开