アロー関数と IE 11 の互換性: 構文エラーを理解する
JavaScript プログラミングの領域では、アロー関数は関数を定義するための簡潔な構文を提供します。 。ただし、これらの関数は、Internet Explorer 11 (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"));
このコードがIE 11 で実行すると、構文エラーが発生します。根本的な理由は、ES6 (ECMAScript 2015) で導入され、IE 11 ではサポートされていないアロー関数の使用にあります。
互換性の問題を解決する
コードを IE 11 と互換性を持たせるには、アロー関数を従来の関数宣言に置き換える必要があります。対応する ES5 コードは次のようになります。
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 で正常に実行され、意図した機能が維持されます。従来の関数には、アロー関数と比べて this キーワードのバインドに関するルールが異なることに注意することが重要です。そのため、JavaScript のバージョン間でコードを移行する際には、これらの違いを考慮する必要があります。
以上がIE11 でアロー関数が機能しないのはなぜですか?それを修正するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。