IE9 Object.defineProperty无效

时间:2015-08-21 20:46:09

标签: javascript internet-explorer-9

我有一个Model类,我想使用以下内容设置一个getter,但它似乎在IE9中失败但在现代浏览器中工作正常。有什么想法吗?

    Object.defineProperty(Model, 'propType', {
        get: function () {
            var propType = React.PropTypes.shape(config.fields);
            propType.Class = this;

            return propType;
        }
    });

1 个答案:

答案 0 :(得分:1)

在IE9中React.PropTypes.shape(config.fields);是否可能返回未定义?如果是这种情况,语句propType.Class = this;将抛出ReferenceError,这可以解释为什么在get中设置警报或调试器语句不起作用。

如果ReactJS是问题,可能只是你需要一些polyfill。 React可能需要一些ES5 polyfill才能在IE9中运行。有关详细信息,请参阅:

希望有所帮助。