ホームページ >ウェブフロントエンド >jsチュートリアル >IE11 で d3.js の矢印関数が失敗するのはなぜですか?

IE11 で d3.js の矢印関数が失敗するのはなぜですか?

Linda Hamilton
Linda Hamiltonオリジナル
2024-12-20 07:43:13323ブラウズ

Why Are My d3.js Arrow Functions Failing in IE11?

IE 11 でのアロー関数の構文エラー

視覚化に d3.js を使用すると、IE でコードの一部を実行すると構文エラーが発生します11. このエラーは、定義に使用されるアロー関数内で特に発生します。

g.selectAll(".mainBars")
    .append("text")
    .attr("x", d => (d.part == "primary" ? -40 : 40))
    .attr("y", d => +6)
    .text(d => d.key)
    .attr("text-anchor", d => (d.part == "primary" ? "end" : "start"));

問題

エラーの原因は、アロー関数 d => の使用です。 {} は、IE 11 ではサポートされていません。アロー関数は ES6 で導入された最新の JavaScript 構文ですが、IE 11 は ES5 までしかサポートしません。

解決策

この問題を解決するには、アロー関数を IE が理解できる従来の関数構文に置き換えます。 11.

g.selectAll(".mainBars")
    .append("text")
    .attr("x", function (d) {
        return d.part == "primary" ? -40 : 40;
    })
    .attr("y", function (d) {
        return +6;
    })
    .text(function (d) {
        return d.key;
    })
    .attr("text-anchor", function (d) {
        return d.part == "primary" ? "end" : "start";
    });

追加の考慮事項

IE 11 では従来の関数構文がサポートされていますが、一般に、可能な場合は最新の JavaScript 機能を使用することをお勧めします。よりクリーンで効率的なコード。ただし、IE 11 などの古いブラウザとの互換性のために、この場合は ES5 構文を使用する必要があります。

以上がIE11 で d3.js の矢印関数が失敗するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。