【问题标题】:Syntax: const {} = variableName, can anyone explain or point me into the right direction [duplicate]语法:const {} = variableName,任何人都可以解释或指出我正确的方向[重复]
【发布时间】:2016-05-26 18:04:56
【问题描述】:

这种语法在 JavaScript 中是什么意思(可能是 ES6):

const {} = 变量名;

我目前正在尝试掌握 React。在很多示例中,我都遇到了这种语法。例如:

const {girls, guys, women, men} = state;

【问题讨论】:

标签: javascript reactjs ecmascript-6


【解决方案1】:

首先,这与 React 无关。它是 ECMAScript 6(或 JavaScript 2015,如果您愿意)的一部分。

你在这里看到的叫做Destructuring assignment

const {girls, guys, women, men} = state;

// Is the same as

const girls = state.girls;
const guys = state.guys;
const women = state.women;
const men = state.men;



你在学习 React 时可能会遇到类似的模式:

import { methodA, methodB } from "my-module";

在这种情况下,您有一个名为 my-module 的模块,它公开了一些功能。使用import {} from 语法,您可以选择要导入的函数。请注意,这不是解构赋值,尽管它以类似的方式工作。

【讨论】:

  • 也适用于数组:const { a, b, c } = ['A', 'B', 'C'];
  • 在函数参数function({ a, b }) {}也有效
  • 他们被称为named-parameters
  • 请注意导入语法与解构完全不同。虽然它在速记符号中看起来很相似,但它使用 as 而不是 : 并且不可嵌套。
  • @Bergi 你是对的,但由于 OP 对解构感到困惑,我认为学习导入符号对他也有帮助。我更新了答案,说明它们不是一回事。
猜你喜欢
  • 2020-09-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-05-08
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多