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