【发布时间】:2018-09-28 10:30:37
【问题描述】:
这两者在javascript中有什么区别?在脚本中是什么意思?
const Test1 = () => {
console.log('test1')
}
const Test2 = () => (
console.log('test2')
)
【问题讨论】:
标签: javascript
这两者在javascript中有什么区别?在脚本中是什么意思?
const Test1 = () => {
console.log('test1')
}
const Test2 = () => (
console.log('test2')
)
【问题讨论】:
标签: javascript
“基本”形式带有花括号,就像常规函数一样:
() => {
...
}
但是,箭头函数允许一种特殊情况的速记:
() => plain expression
如果你不使用花括号,你可以使用一个简单的表达式来代替,带有一个隐含的return。即这两个是等价的:
() => { return 42; }
() => 42
因此,您使用括号的版本算作单个表达式版本,并且将返回 console.log 的返回值(无论哪种方式都是 undefined),而在使用大括号的版本上则不会。
【讨论】:
第二个例子用来简化函数的返回,但是在这种情况下你只能使用一个表达式,所以你不能编写大量的代码。尝试运行此示例以更好地理解:
const Test1 = () => {
'test1'
}
console.log(Test1())
const Test2 = () => ( test = 'test4')
console.log(Test2())
此声明方法也用于简化返回对象:
const Test3 = () => ({ a: 1, b: 2 });
console.log(Test3());
【讨论】: