美文网首页Web前端之路Web 前端开发
【JavaScript】逗号表达式的一些应用

【JavaScript】逗号表达式的一些应用

作者: mercurygear | 来源:发表于2017-08-02 16:55 被阅读39次

场景

babel转译出来的代码中,经常会看到

(0, _xyz.default)(param1, param2) 

这样的代码,一开始没有深思,见得多了,就有点好奇,为什么要这么干?
逗号表达式只是简单的执行逗号两边的表达式,然后返回逗号右边的表达式的值,咋看之下,(0, _xyz.default)这种用法没意义啊?

解密

其实,这里牵扯到js中的函数和方法的概念,如下所示:

// 函数调用,函数内部的this为空(严格模式下) 
func(param);
// 方法调用,方法内部的this为obj
obj.method(param)

所以,上述的转译代码,其实是一种相对tricky的方式完成了一个函数调用,相当于下面的代码

// 以下代码和(0, _xyz.default)(param1, param2)等价 
const func = _xyz.default;
func(param1, param2)

简化了书写,这也是逗号表达式难得的应用场景

相关文章

  • 【JavaScript】逗号表达式的一些应用

    场景 babel转译出来的代码中,经常会看到 这样的代码,一开始没有深思,见得多了,就有点好奇,为什么要这么干?逗...

  • JavaScript 逗号表达式笔记

    #JavaScript 逗号表达式笔记 ##逗号操作符是多元操作符,可以在一条语句中执行多个操作 1.逗号操作符可...

  • Javascript - 逗号和三目运算符

    在JavaScript中逗号“,”也是一种运算符,称为逗号运算符。 其功能是把多个表达式连接起来组成一个表达式, ...

  • 08-JavaScript基础-逗号和三目运算符

    逗号运算符 在JavaScript中逗号“,”也是一种运算符,称为逗号运算符。 其功能是把多个表达式连接起来组成一...

  • 08-JavaScript基础-逗号和三目运算符

    逗号运算符 在JavaScript中逗号“,”也是一种运算符,称为逗号运算符。 其功能是把多个表达式连接起来组成一...

  • JavaScript基础--逗号和三目运算符

    逗号运算符 在JavaScript中逗号“,”也是一种运算符,称为逗号运算符。 其功能是把多个表达式连接起来组成一...

  • C语言学习 - 逗号运算符

    在C语言中,逗号运算符的功能是把多个表达式连接起来组成一个表达式,称为逗号表达式。逗号表达式在使用gcc编译时,带...

  • 那些年C语言走过的坑

    一、逗号运算符 在C语言中,多个表达式可以用逗号分开,其中用逗号分开的表达式的值分别结算,但整个表达式的值是最后一...

  • 逗号表达式

    1. 逗号表达式的一般形式 PS: 逗号运算符优先级最低 逗号运算符的结合性从左至右 逗号表达式的值等于最后一个表...

  • 逗号表达式

    逗号运算符特性: 1.逗号运算符将两个以上的表达式用逗号联起来,2.计算过程为从左到右;3.整个逗号表达式会有一个...

网友评论

    本文标题:【JavaScript】逗号表达式的一些应用

    本文链接:https://www.haomeiwen.com/subject/dgkylxtx.html