我正在上一门关于React Native的课程,并且意识到讲师以两种不同的方式声明函数,这似乎没有什么不同的原因。请说明何时应使用每个函数声明:
example = () => ();
vs
example = () => {};
谢谢
答案 0 :(得分:2)
箭头功能在function bodies中可能有所不同(感谢Robbie)。 concise 函数主体只能包含一个被评估并隐式返回的表达式。传统的 block 函数主体需要return
关键字,否则它将返回void
。
example1 = () => 1 + 1;
example2 = () => {
const result = 1 + 1;
return result;
};
example3 = () => {
const result = 1 + 1;
};
example1()
的主体简洁,将隐式返回表达式2
的结果。
example2()
有一个块体,并且明确地返回2
。
example3()
具有块主体,并且没有显式返回,因此它返回void
。
请注意,如果要返回对象文字,则需要在简洁函数主体周围使用大括号()
:
example = () => ({some: 'object'});