为了账号安全,请及时绑定邮箱和手机立即绑定

关于逗号运算符的应用无法理解,希望获得解答(0, function)(args)

关于逗号运算符的应用无法理解,希望获得解答(0, function)(args)

牧羊人nacy 2019-03-20 18:15:16
我在看warriorjs(一个编程小游戏)的源码,其中const { directory, level, time, yes } = (0, _parseArgs2.default)(args);这段代码让我十分困惑,逗号运算符最终只会返回最右边的值,那么0的意义在哪里,作为表达式他也不能表达什么?在搜索时,发现过去也有人提过一样的问题,不过没有得到解答,我就链接过来react-redux源码中大面积使用逗号运算符的作用是什么?希望有大佬能解开我心中的困惑,感谢!!!
查看完整描述

1 回答

?
Smart猫小萌

TA贡献1911条经验 获得超7个赞

个人理解:

这个问题其实等价于(0, _parseArgs2.default)(args)和_parseArgs2.default(args)有什么区别?

我的第一想法是和this有关。


(0, _parseArgs2.default)(args)

// 等价于

let fun = (0, _parseArgs2.default)

fun(args) 

上面的代码片段执行的时候,函数里面的this在严格模式下等于undefined,非严格模式下等于window。


_parseArgs2.default(args)

上面的代码片段执行的时候,函数里面的this指向_parseArgs2;

举例如下:

https://img1.sycdn.imooc.com//5ca5b9a400014db305720286.jpg

Update:
把代码放到js文件里面执行,没有报评论里面你说的错误:

https://img1.sycdn.imooc.com//5ca5b9a80001b98208000539.jpg

查看完整回答
反对 回复 2019-04-04
  • 1 回答
  • 0 关注
  • 484 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信