问题标签 [object-destructuring]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javascript - 为什么解构赋值不知道空值是假的并使用默认值?
假设我们有一个函数在参数的内部对象中使用了一些键:
如果我们将{}
, { data: '' }
, { data: 0 }
, { data: NaN }
or{ data: undefined }
传递给函数,我们将看到:
并且不会看到任何错误,因为解构赋值看到data
is falsy 并使用 = {}
而不是name
will be undefined
。
问题:为什么当我们传递null
给数据键时解构赋值返回错误?
javascript - TypeScript 导入与 ES6 对象解构
使用 TS 导入,我相信我可以做到这一点:
在 JS 或 TypeScript 中使用 ES6 对象解构 - 有没有办法以相同的方式重命名“导入的值”?
例如,
javascript - 用于构造新对象的对象解构
我有一个来自 API 响应的对象,如下所示:
我想声明一个名为 apiUser
在我的应用程序中使用的新对象,它看起来像这样:
我知道我可以这样做Object.assign()
:
最后的问题是:我可以通过对象解构来做到这一点吗?我已经尝试过:
但是抛出并且SyntaxError: Unexpected token :
有任何正确的语法还是我应该坚持Object.assign()
?请不要忘记“John Doe”条件。
javascript - 如何在 let 中使用解构赋值
我想let
和 ES6 语法一起使用,比如:
可能吗?
javascript - 如何在函数定义中使用 ES6 多个解构参数?
我想知道当两个参数都属于同一类型时,如何使用给函数的解构多个参数。
例如,考虑我有以下代码:
现在,如您所见,函数中只使用了和对象的name
属性。那么我将如何使用对象解构来更改代码,如下所示:a
b
node.js - 在nodejs中的构造函数内部破坏对象以将值分配给成员变量不起作用
我正在尝试在构造函数中进行 ES6 对象解构,希望将值分配给成员变量。它不工作。当我在成员函数中打印值时,它显示未定义。如果我在构造函数中打印,它的打印正确。这有效吗?
javascript - 在函数参数中解构后返回相同的对象
假设我有一个对象
var bar = {hi: 1, there: 2};
我想在函数结束时返回传递的相同对象,同时在函数参数中进行解构赋值。
它可能看起来像这样:
bar;
并且返回值与扩展运算符在这种情况下不起作用的明显原因相同,但我想知道是否有一种简单的方法可以做到这一点或类似的东西。
javascript - 以解构对象作为第二个参数引用第一个参数的 ES6 默认参数
我正在编写一个采用两个参数的方法:第一个是包含表单的 jQuery 对象,第二个是具有默认参数的“选项”对象,其中一些在第一个参数中引用表单。
我知道默认参数可以引用它之前的默认参数的值,所以我想知道为什么我的代码会失败。
有人可以解释一下这有什么问题吗?
javascript - 当第一个属性为空或未定义时如何使用 ES6 对象解构默认为另一个属性
当第一个属性为空或使用 ES6 对象解构未定义时,寻找一种从对象访问第二个非空属性的简洁方法。
ES5 等效:
使用 ES6(类似):
javascript - 为什么这些解构赋值不等效?
我正在尝试嵌套这些解构赋值,以便分别初始化为context1
和:context2
market[pair.context]
market[pair.target]
我认为这种正确的方法是这样的:
但是,当market[pair.context]
或market[pair.target]
已经存在时,它的行为似乎并不像预期的那样。
我对解构还很陌生,但我决心掌握它。为什么会这样,我如何结合前两个解构?
测试相关代码: