Es2015 中的大括号
Curly Brakets in Es2015
我在阅读一些推文时发现了 this tweet by Dan Abromov
语法让我很困惑。
const Font = ({ children }) =>
<Block...
{ } 围绕 children 有什么意义?显然它不是 object。我推测它的 ES2015 特性。
非常感谢
这是一种解构绑定模式。它表示参数 children
应该绑定到传递给函数的对象的 children
属性 的值。
在 ES2015 环境中试试这个:
function x({ foo }) {
console.log(foo);
}
x({ hello: "world", foo: "bar", well: "that's all"});
字符串 "bar" 将被记录到控制台,因为这是传递给函数的对象的 "foo" 属性 的值。
如果传递给函数的值是一个没有 "children" 属性 的对象,或者如果它根本不是一个对象,那么参数将为 undefined
.
我在阅读一些推文时发现了 this tweet by Dan Abromov
语法让我很困惑。
const Font = ({ children }) =>
<Block...
{ } 围绕 children 有什么意义?显然它不是 object。我推测它的 ES2015 特性。
非常感谢
这是一种解构绑定模式。它表示参数 children
应该绑定到传递给函数的对象的 children
属性 的值。
在 ES2015 环境中试试这个:
function x({ foo }) {
console.log(foo);
}
x({ hello: "world", foo: "bar", well: "that's all"});
字符串 "bar" 将被记录到控制台,因为这是传递给函数的对象的 "foo" 属性 的值。
如果传递给函数的值是一个没有 "children" 属性 的对象,或者如果它根本不是一个对象,那么参数将为 undefined
.