node.js - 大括号内包含单个项目的对象解构语法

标签 node.js ecmascript-6

我遇到了这段代码,但我不明白它的作用:

const { LineClient } = require('messaging-api-line');

现在,我了解了大括号内有多个变量时的对象分配语法,例如:

let o = {p: 42, q: true};
let {p, q} = o;

但是 const { LineClient }const LineClient 之间有什么区别?

最佳答案

messaging-api-line 的包导出看起来像 this :

module.exports = {
  Line,
  LineClient,
};
<小时/>

所以,这样做:

const { LineClient } = require('messaging-api-line');

会将导出的 LineClient 类公开给您的代码。要实例化 LineClient 类,您只需执行 const lc = new LineClient();

<小时/>

另一方面,这样做:

const LineClient = require('messaging-api-line');

会将整个导出的对象公开给您的代码。要实例化 LineClient 类,您必须执行 const lc = new LineClient.LineClient();,这可能不是您想要的。

关于node.js - 大括号内包含单个项目的对象解构语法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48657371/

相关文章:

node.js - 从策略范围获取 sails 请求目标

objective-c - 创建 OSX 应用程序来运行基于终端的服务器

mysql - 使用 handle 访问 SQL 对象以在屏幕上呈现

java - Node.js 解密不适用于其他密码的密文

javascript - 首选 ES6 箭头函数语法格式

javascript - 如何在子类中使用 `super` 调用父类(super class)上的箭头函数

javascript - 将对象数组减少/过滤为新的对象数组。

javascript - ESLint:5.0.1 错误

javascript - 为什么不 for ... in 在这里循环?

javascript - ES6 [Symbol.iterator] 不是带数组的函数