如何将 babel 输出 类 作为命名函数?
How to make babel output classes as named functions?
现在它将 class X { ... }
翻译成 var X = function X(...) { ... }
,我如何让它输出为 function X (...) { ... }
?
函数声明和ES6classes的区别在于函数声明被提升了:
console.log(Foo); // Foo
function Foo() {}
并且classes处于时间盲区:
console.log(Foo); // ReferenceError
class Foo {}
将class转译为函数声明是不正确的,ES6class的正确函数表示是:
const Foo = function Foo() {};
由于 ES5 中没有 const
,Babel 将其转译为 var
,并在启用 respective transform 时尽可能模仿临时死区。
现在它将 class X { ... }
翻译成 var X = function X(...) { ... }
,我如何让它输出为 function X (...) { ... }
?
函数声明和ES6classes的区别在于函数声明被提升了:
console.log(Foo); // Foo
function Foo() {}
并且classes处于时间盲区:
console.log(Foo); // ReferenceError
class Foo {}
将class转译为函数声明是不正确的,ES6class的正确函数表示是:
const Foo = function Foo() {};
由于 ES5 中没有 const
,Babel 将其转译为 var
,并在启用 respective transform 时尽可能模仿临时死区。