This question already has answers here:
Why does babel rewrite imported function call to (0, fn)(…)?
(2个答案)
4年前关闭。
在
编译为
在在线
(2个答案)
4年前关闭。
在
babeljs
v6.5.1中,class Foo {}
编译为
"use strict";
var _classCallCheck2 = require("babel-runtime/helpers/classCallCheck");
var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var Foo = function Foo() {
(0, _classCallCheck3.default)(this, Foo);
};
0
中(0, _classCallCheck3.default)(this, Foo);
的意义是什么?在在线
babeljs
repl(可能具有不同的babeljs
版本)中,该行就是_classCallCheck(this, Foo);
,并且它们似乎在做同样的事情。这两个语句有什么区别? 最佳答案
0
被忽略。仅在这里允许逗号运算符评估_classCallCheck3.default
并获得函数,而this
不是_classCallCheck3
。