Edu*_*tos 3 javascript arrow-functions
我想从箭头函数返回一个对象,但下面的代码正在返回undefined.我意识到花括号被解释为开始/结束函数体.引起我兴趣的是为什么a: 1不抛出错误.
const foo = () => {a: 1};
foo();
// > undefined
Run Code Online (Sandbox Code Playgroud)
问题是解析器看到一个名为'a' 的标签,它属于表达式语句'1'.由于根本没有return语句,因此返回的值始终未定义.
如果你将身体包裹在'()'中,你会看到你的对象被退回,见下文.
const foo = () => ({a: 1});
console.log(foo());
Run Code Online (Sandbox Code Playgroud)
编辑:通过添加括号,您强制解析器将对象文字视为表达式,以便它不被视为块语句.
| 归档时间: |
|
| 查看次数: |
80 次 |
| 最近记录: |