箭头函数与括号或括号之间的区别

时间:2018-04-18 08:56:18

标签: javascript

这两个在javascript中有什么区别?在脚本编写中意味着什么?

const Test1 = () => {
    console.log('test1')
}


const Test2 = () => (
    console.log('test2')
)

2 个答案:

答案 0 :(得分:1)

第二个示例用于简化函数的返回,但在这种情况下,您只能使用一个表达式,因此您无法编写大量代码。尝试运行此示例以更好地理解:

const Test1 = () => {
   'test1'
}

console.log(Test1())


const Test2 = () => (  test = 'test4')

console.log(Test2())

此声明方法也用于简化返回对象:

const Test3 = () => ({ a: 1, b: 2 });
console.log(Test3());

答案 1 :(得分:0)

“基本”形式是花括号,就像常规函数一样:

() => {
    ...
}

但是,箭头功能允许一个特例简写:

() => plain expression

如果你不使用大括号,你可以使用一个普通表达式,使用隐式return即。这两个是等价的:

() => { return 42; }
() => 42

因此,使用括号的版本将计为单个表达式版本,并且将返回console.log的返回值(无论哪种方式都是undefined),而在使用卷曲的版本上则不会括号。