2016-02-03 2 views
4

Я читал несколько твитов, и я наткнулся на this tweet by Dan AbromovФигурные Brakets в Es2015

Синтаксис имеет меня путают.

const Font = ({ children }) => 
<Block... 

Что такое точка {} вокруг детей? Понятно, что это не объект. Я предполагаю его функцию ES2015.

Большое спасибо

+1

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Destructuring_assignment –

+0

похоже, что половина новых ярлыков выглядит как синтаксические ошибки ... – dandavis

ответ

6

Это деструктивный шаблон привязки. Он указывает, что параметр children должен быть привязан к значению свойства children объекта, переданного функции.

Попробуйте это в среде ES2015:

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

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

Строка «Бар» будет записан на консоль, потому что это значение свойства «Foo» объекта, переданного функции.

Если значение, переданное функции, является объектом без свойства «children», если он вообще не является объектом, тогда параметр будет undefined.

Смежные вопросы