为什么 [][[]] 的计算结果为未定义?

2024-02-11

表达方式[][[]]评估为undefined在 JavaScript 中。我对此的理解是编译器看到第二组[...]并将其解释为数组下标运算符(因为不能让两个数组彼此相邻)。

所以编译器知道内部表达式,[],必须是一个索引,因此在评估它之后,它会将其强制为一个数字。Number([])评估为0,所以我们有[][0],即undefined.

然而,[1][[]]不评估为1正如我所期望的,而是undefined建议在这种情况下(或者也可能在前一种情况下),[] isn't被强制给一个数字。看来我必须使用一元+强制类型强制:

[1][+[]] // returns 1

So if内在的[]在表达式中[][[]]没有被强制转换为数字,那么为什么该表达式的计算结果为undefined?


错误的假设是计算索引值的表达式被强制转换为数字。事实上,它和所有对象键一样被强制转换为字符串(符号除外,它仍然是符号)。

Thus, [1][[]]变成[1][""],并且自从""数组中不存在属性,我们得到undefined代替1.

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

为什么 [][[]] 的计算结果为未定义? 的相关文章

  • Bootstrap 标签栏平滑移动导航按钮

    我有一个用于切换块的普通引导选项卡面板 在导航中切换块时 活动选项卡会突出显示 但现在 当我单击活动选项卡的背景时 它会立即发生变化 是否可以使切换选项卡时背景不会立即改变 而是根据需要哪个选项卡而平滑地左右移动 这可以用以下方法完成吗cs
  • jQuery 可以操作插入的元素吗?

    我是 jQuery 的新手 我认为 jQuery 可以操作由代码添加的元素是合理的 但我发现现在还不能 function addVideo click function publisher append div div
  • Dialogflow Fulfillment Webhook 调用失败

    I am new to dialogflow fulfillment and I am trying to retrieve news from news API based on user questions I followed doc
  • Chrome 开发工具命中代码但未命中断点

    我在 chrome 开发工具上启用了断点 并且在一行上有一个断点 我知道 chrome 正在运行 因为我将断点放在具有以下语句的行上 alert why is this not breaking 如果我在本地主机中找到该文件 则断点有效 断
  • Pjax动画

    我终于让 pjax 工作了 但我还有另一个问题 如何添加一些 jquery 动画 如淡出 幻灯片旧内容和淡入 幻灯片新内容 默认情况下 pjax 只是更改内容 没有任何好看的效果 任何帮助将非常感激 此致 基本上 你有一堆事件 https
  • Node.js Express 4.0 中的 res.render 回调参数的用途是什么?

    目的是什么res render回调参数 在什么情况下 由于模板已被指定为第一个参数 因此人们会想要使用这样的回调参数 这是文档中的代码 send the rendered view to the client res render inde
  • 为什么函数声明在不同浏览器中的处理方式不同?

    虽然我在谷歌中找不到对此的引用 但我熟悉这样一个事实 在 javascript 中 全局函数声明在执行任何代码之前都会被解释 换句话说 这工作得很好 f function f 但是 我注意到 chrome 和 firefox 对全局函数声明
  • 修改 Twitter 帖子上可编辑 Div 的内容

    我正在编写一个 chrome 扩展 它可以帮助用户在 Twitter 上输入内容 当在 twitter 上写推文时 twitter 会打开一个可编辑的 div 容器 当用户输入内容时 twitter 大概正在使用某些网络框架 会生成子 di
  • Rangy:插入符号下的单词(再次)

    我正在尝试创建一个预输入代码以添加到 wysihtml5 富文本编辑器 基本上 我需要能够插入人员 标签引用 例如 Twitter Github Facebook 我发现一些人试图实现同样的事情的代码 http jsfiddle net A
  • Next.js:错误:React.Children.only 期望接收单个 React 元素子元素

    我有一个名为Nav inside components目录及其代码如下所示 import Link from next link const Nav gt return div a Home a a About a div export d
  • AngularStrap 工具提示禁用我的自定义指令

    我正在尝试让 bs tooltip AngularStrap 指令与我自己的名为 checkStrength 的自定义指令一起使用 该指令检查密码的强度 单独使用这些指令中的任何一个时 它们都可以正常工作 但不能一起工作 This http
  • 在 Android Chrome 中隐藏 HTML5 音频/视频通知

    我的网络应用程序上有一个 HTML5 音频元素 在某些时候 我使用以下代码以编程方式停止播放 audioElement pause audioElement currentTime 0 播放音频时 我的 Android 设备 使用 Goog
  • 用数组或向量实现多维数组

    我想使用单个数组或向量实现多维数组 可以像通常的多维数组一样访问它 例如 a 1 2 3 我陷入困境的是如何实施 操作员 如果数组的维数为 1 则 a 1 应该返回位于索引 1 处的元素 但是如果维数大于一怎么办 对于嵌套向量 例如 3 维
  • 在 React Web 应用程序中使用 createjs-soundjs

    我想用https www npmjs com package createjs soundjs https www npmjs com package createjs soundjs在 React Web 应用程序上播放声音 我正常安装了
  • 标记(Markdown)+ Mermaid(流程图和图表)

    努力去争取 美人鱼 https github com knsv mermaid https github com knsv mermaid跟 共事 标记 https github com chjj marked https github c
  • Vue-Router 抽象父路由

    我正在尝试将当前网站迁移到 vuejs 站点地图必须是 login signup password reset browse search dozens of other routes 由于其中一些路线共享大量 fx 因此我将它们设为父路线
  • 将两个数字相加将它们连接起来而不是计算总和

    我将两个数字相加 但没有得到正确的值 例如 做1 2返回 12 而不是 3 我在这段代码中做错了什么 function myFunction var y document getElementById txt1 value var z do
  • 将 JSON 属性绑定到表单

    我有一个 JSON 对象和一个
  • Jquery 以编程方式更改

    文本

    编辑 解决方案是将其添加到个人资料页面而不是性别页面 profile live pageinit function event p pTest text localStorage getItem gender 我在列表视图中有一个带有一些文
  • 为什么 try catch 块没有捕获 Promise 异常?

    我对承诺的错误处理感到困惑 答案可能很明显 但我不明白 我有以下示例代码 var test async function throw new Error Just another error try test then catch err

随机推荐

  • X++ 中的“this”与“element”关键字

    在 X 中编写代码时有时需要引用this functionYouWant 有时是element FunctionYouWant 有时两者都在范围内 我经常尝试其中一种 如果没有我想要的功能 我会尝试另一种 是否有规则解释何时使用this以及
  • yeoman 在桌面中创建项目,即使我 CD 进入目录

    I am having a issue creating a yeoman project I cd in the directory type yo and it says Here is it suppose to asked me p
  • 如何在 SAPI 5.4 C# 程序中加载文本语法?

    我一直在 SAPI 5 4 中使用 SRGS 语法来定义命令和控制语法 现在我想切换到文本语法 以便它们与 SAPI 5 1 甚至可能是 SAPI 4 兼容 我找到了一个例子SAPI 5 4 兼容文本语法在这里 http msdn micr
  • 用于提取 TwitPic 链接/代码(如果存在)的 PHP 正则表达式

    我希望能够检查文本字符串并提取 TwitPic URL 如果它存在于字符串中 最终我只想要代码部分 但两者都可以 Example blah blah blah http twitpic com 1aso4q blah blah 期望的结果
  • 库链接

    我正在尝试使用 Zed Shaw 的 Learn C the Hard way 来学习 C 编程 我一直在 ex26 上工作 我们创建了一个用于安装软件的程序 devpkg 此练习需要安装 Apache Portable Runtime 库
  • 无序元组类型

    我只是在深入研究 Typescript 类型 我想知道如何定义一个元组类型 但具有无序元素类型 我的意思是 有 type SimpleTuple number string const tup1 SimpleTuple 7 7 Valid
  • 调用 Math.random() 的函数是纯函数吗?

    以下是纯函数吗 function test min max return Math random max min min 我的理解是纯函数遵循以下条件 它返回一个根据参数计算得出的值 除了计算返回值之外 它不做任何工作 如果这个定义是正确的
  • 如何在 Jersey/Spring 中使用 @QueryParam 重载方法?

    我想使用 QueryParam 重载一个方法 但每次我尝试执行此代码时 它都会抛出 SEVERE Exception occurred when intialization com sun jersey spi inject Errors
  • Matplotlib,绘图上的对数色标,但颜色条图例上的线性色标

    我想以对数比例绘制 我已经使用以下方法完成了 plt contourf cube 0 data levels np arange 0 6000 10 norm mplc LogNorm 但我希望颜色条仍然是线性比例 这可能吗 如果可以的话我
  • Server.MapPath 并从 ASP.NET 应用程序运行命令行实用程序

    我需要使用 ASP NET 应用程序运行可执行文件Process exe 文件位于 ASP NET 项目内 ProjectRoot Utilities utility exe 为什么这段代码运行失败 string path Server M
  • 使用路径相关类型作为类参数

    我想要一个类 它采用依赖于类的类型的参数 就像我经常对方法所做的那样 然而 令我惊讶的是 这不起作用 scala gt trait Compiler trait Config defined trait Compiler works fin
  • 如何使用 JWT 令牌管理多设备同时登录?

    我的疑问是关于使用 JWT 令牌支持同一用户同时进行多设备登录 我使用 NestJS 作为我的后端 用户表 userid 用户名 密码 包含哈希密码 名称 refreshToken 包含哈希刷新令牌 当用户执行 api login 调用时
  • HOC 上的组件定义缺少显示名称

    我正在尝试创建一个更高阶的组件 但不断收到此 eslint 警告 组件定义缺少显示名称 我尝试添加如下所示的显示名称 但它仍然抱怨 import React from react const HOC props gt WC gt WC di
  • 以编程方式更改 Android 中矢量的 fillColor

    我想以编程方式编辑 Android 中矢量文件的填充颜色 在 xml 文件中 我可以使用属性设置颜色机器人 填充颜色但我想在运行时改变颜色 有什么例子吗 谢谢 This https medium com emmaguy dynamicall
  • 尝试使用 imagecreatefromstring 保存 base64 图像,但它是全黑的

    我正在尝试从数据库中获取 Base64 编码图像并将其保存到文件中 无论出于何种原因 当我尝试使用 imagecreatefromstring 和 imagepng 时 图像完全是黑色的 我尝试了很多不同的方法 但最终还是得到了一个黑匣子
  • msbuild复制文件

    我在使用 MSbuild 复制文件时遇到问题 并且收到的错误消息似乎相互矛盾 使用 TFS 2008 进行构建 我目前的构建脚本中有以下内容
  • EL 表达式:传递 null 作为 BigDecimal 字段的值

    我有课BigDecimal财产 当我绑定到它 EL 表达式并传递 null 时 valueExpression set context null 财产的新价值变为BigDecimal ZERO 有什么方法可以将 null 传递给BigDec
  • 如何在 C# 中将视频转换为字节数组?

    我正在使用 c net 紧凑框架 3 5 我想将视频文件转换为字节数组 以便我可以将其上传到服务器上 以类似的方式 我正在进行图像上传 获得了成功的结果 HttpWebRequest request request ContentType
  • RGB 到 HSL 转换

    我正在创建一个颜色选择器工具 对于 HSL 滑块 我需要能够将 RGB 转换为 HSL 当我搜索 SO 进行转换的方法时 我发现了这个问题HSL 到 RGB 颜色转换 https stackoverflow com questions 23
  • 为什么 [][[]] 的计算结果为未定义?

    表达方式 评估为undefined在 JavaScript 中 我对此的理解是编译器看到第二组 并将其解释为数组下标运算符 因为不能让两个数组彼此相邻 所以编译器知道内部表达式 必须是一个索引 因此在评估它之后 它会将其强制为一个数字 Nu