This question already has an answer here:
Where can I get info on the object parameter syntax for JavaScript functions?

(1 个回答)


5年前关闭。




我正在阅读一些推文,我遇到了 this tweet by Dan Abromov

语法让我感到困惑。
const Font = ({ children }) =>
 <Block...

{ } 对 child 有什么意义?显然它不是一个对象。我假设它的 ES2015 特性。

非常感谢

最佳答案

这是一种解构绑定(bind)模式。它表示参数 children 应该绑定(bind)到传递给函数的对象的 children 属性的值。

在 ES2015 环境中试试这个:

function x({ foo }) {
  console.log(foo);
}

x({ hello: "world", foo: "bar", well: "that's all"});

字符串“bar”将被记录到控制台,因为这是传递给函数的对象的“foo”属性的值。

如果传递给函数的值是一个没有“children”属性的对象,或者如果它根本不是一个对象,那么参数将是 undefined

关于javascript - Es2015 中的花括号,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35190064/

10-10 06:02