Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/421.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 这些()在ES6语法中是什么?_Javascript_Ecmascript 6_Arrow Functions - Fatal编程技术网

Javascript 这些()在ES6语法中是什么?

Javascript 这些()在ES6语法中是什么?,javascript,ecmascript-6,arrow-functions,Javascript,Ecmascript 6,Arrow Functions,我看到这个代码: const enhance = withHandlers({ signIn: ({ signIn, provider }) => () => signIn(provider) }); 我理解增强是一种功能登录也是一个函数,但是中间的空()是什么意思呢?为什么不能是: signIn: ({signIn, provider}) => signIn(provider) 否。()是箭头功能的一部分。它是一个返回函数的函数。让我把它分解一下: signIn:

我看到这个代码:

const enhance = withHandlers({
    signIn: ({ signIn, provider }) => () => signIn(provider)
});
我理解增强是一种功能<代码>登录也是一个函数,但是中间的空
()
是什么意思呢?为什么不能是:

signIn: ({signIn, provider}) => signIn(provider)
否。
()
是箭头功能的一部分。它是一个返回函数的函数。让我把它分解一下:

signIn: ({ signIn, provider }) => () => signIn(provider)
        ^                      ^   ^
     Destructuring        Implicit No argument
     assignment           return   arrow function
     for arguments
属性
signIn
是一种方法,它接受一个对象参数并返回一个执行
signIn(provider)
的函数

您的版本:

signIn: ({signIn, provider}) => signIn(provider)

不返回执行
signIn(provider)
的函数,它返回
signIn(provider)

signIn
的返回值是一个返回函数的函数。返回的函数(当您调用
signIn
时)是
()=>signIn(provider)
。它没有任何论据。如果不知道
WithHandlers
返回的是什么,就无法确定
enhance
是否是一个函数。
enhance
是这个非常具体的函数的一个非常抽象的名称对ES6“箭头函数”做一些研究。关于它们的文章很多。他们将解释
()