>웹 프론트엔드 >JS 튜토리얼 >IE11에서 d3.js 화살표 기능이 실패하는 이유는 무엇입니까?

IE11에서 d3.js 화살표 기능이 실패하는 이유는 무엇입니까?

Linda Hamilton
Linda Hamilton원래의
2024-12-20 07:43:13300검색

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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.