2016-05-12 15 views
3

IE11と静的なjavascriptクラスに問題があります。IE11は、JavaScriptでクラスを定義するときにSCRIPT1002エラーを返します。

私が手にエラーがある:

SCRIPT1002:構文エラー rgmui.box.jsを指す(6,1)

:だから

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

class RgMuiBox { 
^ 

I私は間違った方法でこのクラスを定義していると思いますか?これを行う正しい方法は何ですか?

私は、問題がES5対ES6であり、IE11はES6をサポートしていないと指摘しているようです。

だけで完了することが、これは私が(単純化)したものである:

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

ありがとう!

+2

[ES6互換表](https://kangax.github.io/compat-table/es6/)によれば、クラスはIE11によって認識されません。 – Mikey

答えて

4

は、このような古い問題を再開するために嫌い、それはまだ結果に高い現れるので、私は私が見つけたものを追加します:

@Mikeyと@REJHが言ったことを繰り返すと、クラスが認識されませんIE11によって。

つまり、Babelのようなツールでは、クラスをIE11で動作するものに変換することができます。

+0

バベルは予想外に素晴らしい動作をしました!ありがとう、トンの男。 –

3

@Mikeyです。 IE11は、クラスのために、この構文を認識しないES6仕様理由:次は、静的クラスを定義するための正しい方法であれば、私はまだわからないが、それは動作します https://kangax.github.io/compat-table/es6/

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

var RgMuiBox = {}; 
    RgMuiBox.method = function() { 
    // .... 
    } 

ちょうどそれをここに置くだけで、この質問には人々が行くのを助けるかもしれない何らかの答えがあります。上記に代わるものがある場合、私はそれらについて聞きたい!

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; 
})(); 
関連する問題