首页 > 解决方案 > javascript箭头函数()=>()是什么意思?

问题描述

我遇到了这种语法。谁能解释一下是什么getArg1ListInfo:()=>(object.freeze(arg1))意思

function foo (arg1,arg2) {
    let retval = {
        service:service
    }
    if(arg1) {
        retval.getArg1InfoHelper = () => {
            return {
                 subArg : "string",
                 getArg1ListInfo:()=>(object.freeze(arg1))
            }
        }
     }
     return retval
}

标签: javascript

解决方案


()=>(object.freeze(arg1))

相当于

()=>object.freeze(arg1)

括号似乎让你感到困惑。它们不是语法,它们只是多余的。


以这种方式使用方括号的一个原因是返回对象字面量。要使用评论中的@Phil 示例,

() => ({foo: 'bar'})

在此示例中,括号用于避免语法错误。编写您的示例代码的人过去可能遇到过这个问题,并且已经形成了一种习惯。


推荐阅读