Javascript "for of" 在 IE 11 中失败

Javascript "for of" fails in IE 11

我有以下代码 select 并删除 d3.js 节点。

 if (d.children) {
        for (var child of d.children) {
            if (child == node) {
                d.children = _.without(d.children, child);
                update(root);
                break;
            }
        }
    }

这在 Chrome 和 Edge 中工作正常,但在 IE-11 中失败,缺少 ;。使用 'of' 循环似乎是一个问题。之前有其他人 运行 遇到过 IE 的这个问题吗?如果有,你是如何解决的?

这是 ES2015(也称为 ES6)功能,仅在现代浏览器中受支持。通常,您只会将此构造与 babel 等转译器一起使用,以支持较旧的浏览器。

您可以在此处查看 for...of 语句的兼容性 table: https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Statements/for...of