Zero como primeiro argumento no IIFE [duplicado]
Esta pergunta já tem uma resposta aqui:
Por que babel reescreve a chamada de função importada para (0, fn) (…)? 2 respostasNobabeljs
v6.5.1,
class Foo {}
compila para
"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);
};
Qual é o objetivo do0
no(0, _classCallCheck3.default)(this, Foo);
?
No onlinebabeljs
repl, que provavelmente tem um diferentebabeljs
versão, essa linha é simplesmente_classCallCheck(this, Foo);
, e eles parecem fazer a mesma coisa. Qual a diferença entre essas duas afirmações?