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
语法让我感到困惑。
{ } 对 child 有什么意义?显然它不是一个对象。我假设它的 ES2015 特性。
非常感谢
字符串“bar”将被记录到控制台,因为这是传递给函数的对象的“foo”属性的值。
如果传递给函数的值是一个没有“children”属性的对象,或者如果它根本不是一个对象,那么参数将是
(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