任何人都可以向我指出ecma-262中使用括号表示返回的标准吗?

时间:2016-08-10 04:28:21

标签: javascript reactjs ecma

// Create a component named MessageComponent
var MessageComponent = React.createClass({
  render: function() {
    return (
      <div>{this.props.message}</div>
    );
  }
});
  

注意为什么我们需要返回语句周围的括号(行   3)?这是因为JavaScript的自动分号插入。   如果没有括号,JavaScript将忽略以下行   并返回没有值。如果JSX在与...相同的行上启动   返回,然后不需要括号。

取自here

2 个答案:

答案 0 :(得分:1)

规范中没有特定部分处理使用parens返回。括号只是创建表达式的一种方法。

答案 1 :(得分:1)

  

当遇到继续,中断,返回或抛出令牌时a   在下一个标记之前遇到LineTerminator,分号是   继续,中断,返回或抛出后自动插入   令牌。

http://www.ecma-international.org/ecma-262/5.1/

看起来这里的括号只是包含在括号中的vanilla JS表达式,即return(1 + 2),除了多行:

function x() {
    return (
        1 + 2
    );
}

*编辑不使用关闭一词。