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

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

Linda Hamilton
リリース: 2024-12-20 07:43:13
オリジナル
315 人が閲覧しました

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 サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート