IE11在javascript中定义类时出现SCRIPT1002错误

时间:2016-05-12 17:54:01

标签: javascript internet-explorer

我在使用IE11和我编写的静态javascript类时遇到了一些麻烦。

我得到的错误是:

  

SCRIPT1002:语法错误   rgmui.box.js(6,1)

指向:

// ===========================================
// RGMUI BOX
// Static class

class RgMuiBox {
^

所以我猜测我是以错误的方式定义这个课程的?这样做的正确方法是什么?

我发现有关SO的帖子似乎指出问题是ES5与ES6 - 我认为IE11不支持ES6?

为了完成,这就是我所拥有的(简化):

class RgMuiBox {
    static method1() {
    // .. code ..
    }
}

谢谢!

2 个答案:

答案 0 :(得分:16)

讨厌重新打开这样一个旧问题,但结果仍然很高,所以我将添加我发现的内容:

重申@Mikey和@REJH所说的内容,IE11无法识别类。

也就是说,像Babel这样的工具可以让你将类翻译成可在IE11上运行的东西。

答案 1 :(得分:0)

静态类示例

var _createClass = (function () {
function defineProperties(target, props) {
    for (var i = 0; i < props.length; i++) {
        var descriptor = props[i];
        descriptor.enumerable = descriptor.enumerable || false;
        descriptor.configurable = true;
        if ("value" in descriptor) descriptor.writable = true;
        Object.defineProperty(target, descriptor.key, descriptor);
    }
}
return function (Constructor, protoProps, staticProps) {
    if (protoProps) defineProperties(Constructor.prototype, protoProps);
    if (staticProps) defineProperties(Constructor, staticProps);
    return Constructor;
};
})();

function _classCallCheck(instance, Constructor) {
if (!(instance instanceof Constructor)) {
    throw new TypeError("Cannot call a class as a function");
}
}

var StaticClass = (function () {
function StaticClass() {
    _classCallCheck(this, StaticClass);
}

_createClass(StaticClass, null, [{
    key: "method1",
    value: function method1() {
        // .. code ..
    }
}]);

return StaticClass;
 })();