Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/453.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 带括号或括号的箭头函数之间的差异_Javascript - Fatal编程技术网

Javascript 带括号或括号的箭头函数之间的差异

Javascript 带括号或括号的箭头函数之间的差异,javascript,Javascript,这两者在javascript中有什么区别?它在脚本中意味着什么 const Test1 = () => { console.log('test1') } const Test2 = () => ( console.log('test2') ) “基本”形式使用大括号,就像常规函数一样: () => { ... } 但是,箭头功能允许一种特殊情况下的速记: () => plain expression 如果不使用大括号,可以使用一个带隐式返

这两者在javascript中有什么区别?它在脚本中意味着什么

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


const Test2 = () => (
    console.log('test2')
)
“基本”形式使用大括号,就像常规函数一样:

() => {
    ...
}
但是,箭头功能允许一种特殊情况下的速记:

() => plain expression
如果不使用大括号,可以使用一个带隐式
返回的纯表达式,即这两个表达式等效:

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

因此,使用括号的版本将被视为单表达式版本,并且将返回
console.log的返回值(不管是哪种方式,它都是
未定义的
),而在使用花括号的版本上则不会返回该值。

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

const Test1=()=>{
“测试1”
}
console.log(Test1())
常量Test2=()=>(test='test4')
console.log(Test2())