您能否在引用JavaScript中的对象时解构一个对象?

问题描述 投票:2回答:4

我有以下代码。

const chai = require("chai");
const {expect} = chai;

是否有一种使用对象解构的方法通过单个表达式获得对chaiexpect的引用(如上)?

例如,我认为允许以下内容,但似乎不起作用。

const chai, {expect} = require("chai");

我的语法是否不正确,有没有办法做类似的事情?还是这在JavaScript中是不可能的?

javascript
4个回答
2
投票

不是单个表达式,而是单个语句:

const chai = require("chai"),
      {expect} = chai;

(您当然也可以省略换行符)


1
投票

JavaScript中的“表达式”可以包含所有内容以及更多内容(例如(()=>{...})()是“单个表达式”)。

例如,您可以写成无意义的练习:

const {x, xy} = (()=>{ let x = require("x"); return {x:x, xy:x.y}; })();

这是“单个表达式”吗?如果不是,为什么?


0
投票

您可以执行以下操作:

const { expect, ...chai } = require('chai');

将给您expectchai expect功能。


0
投票
const {chai, expect} = require("chai");
© www.soinside.com 2019 - 2024. All rights reserved.