如何阻止babel在前面加上“前缀”_&引用;对于包含与javascript关键字相同名称的MethodName
我正在使用babel transpiler将一个类从es6转换为es5。 这是示例类如何阻止babel在前面加上“前缀”_&引用;对于包含与javascript关键字相同名称的MethodName,javascript,ecmascript-6,babeljs,Javascript,Ecmascript 6,Babeljs,我正在使用babel transpiler将一个类从es6转换为es5。 这是示例类 class TestClass{ switch(){ } getState(){ } } 这被转化为 var TestClass = function () { function TestClass() { _classCallCheck(this, TestClass); } _createClass(TestClass, [{ key: "swi
class TestClass{
switch(){
}
getState(){
}
}
这被转化为
var TestClass = function () {
function TestClass() {
_classCallCheck(this, TestClass);
}
_createClass(TestClass, [{
key: "switch",
value: function _switch() {}
}, {
key: "getState",
value: function getState() {}
}]);
return TestClass;
}();
若你们注意到这里,切换方法由巴贝尔自动加上前缀“u”。如何避免这种情况
这是巴别塔变换您没有首先测试它。巴贝尔没有错。
\u开关()
只不过是巴贝尔在传输过程中创建的一个内部未公开的方法(您不应该真正关心)。您的可访问方法仍然被称为.switch()
,这是所有东西都应该被调用的
class TestClass{
switch(){
return "foo"
}
getState(){
}
}
console.log(new TestClass().switch()) //foo
console.log(new TestClass()._switch()) //undefined
“严格使用”;
var_createClass=function(){function defineProperties(target,props){for(var i=0;i console.log(newtestclass().switch())
如果使用保留字,您希望transpiler做什么?创建无效的JavaScript?