ES6语法的函数声明

时间:2017-09-12 10:32:23

标签: javascript ecmascript-6

假设我们有一个使用ES6语法的函数,如下所示:

const AccountOverview = (props) => {
  const overviewVisible = props.overviewVisible;
  const accountNumber = props.accountNumber;
  const toggleAccountOverview = props.toggleAccountOverview;

  const onClick = (e) => {
    e.preventDefault();
    toggleAccountOverview(!overviewVisible, accountNumber);
  };
  // FIXME: eslint WHY??????
  /* eslint-disable */
  return (
    <div
      className={props.overviewVisible ? 'acc-block open' : 'acc-block'}
    >
        <div>
)
}

和这样的函数:

const AccountDetails = props => (
  <div className="tabInner">
          </div>
)

为什么使用{}声明第一个函数,而使用just()?

声明第二个函数

1 个答案:

答案 0 :(得分:1)

{}表示箭头功能的主体,可以包含多个语句。在这种情况下,您需要显式使用return来返回函数中的数据。

如果没有{},您的箭头函数必须有单个语句正文,结果将在没有return语句的情况下隐式返回。

()处于需要在单个语句体内返回对象的情况。像

const getObject = () => ({ name: 'Test' });

如果没有(),它会将对象的{}视为函数体并给出错误。