javascript - 对 JavaScript 语法感到困惑

标签 javascript

我正在审查一些代码,但无法弄清楚这意味着什么:

(attrs = {})[key] = val;

keyval 都是字符串变量。

它是 if 条件的快捷方式吗?对象声明?

最佳答案

(attrs = {})[key] = val;

相当于

attrs = {};
attrs[key] = value;

也就是说,表达式中的变量赋值首先发生,然后对象(赋值的结果)通过正常的属性赋值被修改。

我个人会在这里使用后一种形式。

关于javascript - 对 JavaScript 语法感到困惑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23095535/

相关文章:

Javascript - 带有 boolean 键的数组?

javascript - 在 Node JS 提供的字符串中看到意外的 "undefined"

没有比较功能的Javascript Array.prototype.sort()错误

javascript - 如何使用 Azure DevOps 为 Javascript 项目配置 sonarcloud 分析

javascript - 在 jQuery 'click' 中创建的对象仍然存在,即使创建了一个新对象

javascript - "map of union type values to strings"的 typescript 类型?

javascript - 我可以使用 Detox 测试框架来测试 React + React Native 应用程序吗?

javascript - knockout 观察和表现

javascript - 无法访问动态 DOM 元素?

javascript - 复选框上的 val() 返回一个元素而不是字符串文字