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

REJ*_*EJH 15 javascript internet-explorer

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

我得到的错误是:

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

哪个指向:

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

class RgMuiBox {
^
Run Code Online (Sandbox Code Playgroud)

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

我在SO上发现了一个帖子似乎指出问题是ES5 vs ES6 - 我认为IE11不支持ES6?

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

class RgMuiBox {
    static method1() {
    // .. code ..
    }
}
Run Code Online (Sandbox Code Playgroud)

谢谢!

小智 21

讨厌重新打开这样一个老问题,但它仍然显示在结果中很高,所以我将添加我发现的:

重申@Mikey和@REJH所说的,IE11不承认类.

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


REJ*_*EJH 7

@Mikey是对的.IE11无法识别类的语法,因为ES6规范:https://cangax.github.io/compat-table/es6/

class RgMuiBox {
    static method1() {
    // .. code ..
    }
}
Run Code Online (Sandbox Code Playgroud)

我仍然不确定以下是否是定义静态类的正确方法,但它是否有效:

var RgMuiBox = {};
  RgMuiBox.method = function() {
    // ....
  }
Run Code Online (Sandbox Code Playgroud)

只是把它放在这里所以这个问题有一些可能有助于人们开始的答案.如果有上述的替代品我喜欢听到这些!