Кто-нибудь может указать мне на стандарты в ecma-262, которые определяют использование скобок для возвратов?
// Create a component named MessageComponent
var MessageComponent = React.createClass({
render: function() {
return (
<div>{this.props.message}</div>
);
}
});
ПРИМЕЧАНИЕ Зачем нам нужны скобки вокруг оператора return (строка 3)? Это из-за автоматической вставки точек с запятой в JavaScript. Без скобок JavaScript будет игнорировать следующие строки и возвращать без значения. Если JSX начинается в той же строке, что и возврат, скобки не нужны.
Взято отсюда.
2 ответа
Не существует определенной части спецификации, которая обрабатывает использование паренов для возвратов. Скобки - это только один из способов создания выражения.
Когда встречается токен продолжения, разрыва, возврата или броска и встречается LineTerminator перед следующим токеном, точка с запятой автоматически вставляется после токена продолжения, разрыва, возврата или броска.
http://www.ecma-international.org/ecma-262/5.1/
Похоже, что круглые скобки - это просто ванильные JS-выражения, заключенные в круглые скобки, т.е. return (1 + 2), кроме многострочных:
function x() {
return (
1 + 2
);
}
* Отредактировано, чтобы не использовать слово закрытия.