如何阻止babel在前面加上“前缀”_&引用;对于包含与javascript关键字相同名称的MethodName

如何阻止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

我正在使用babel transpiler将一个类从es6转换为es5。 这是示例类

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;iconsole.log(newtestclass().switch())
如果使用保留字,您希望transpiler做什么?创建无效的JavaScript?