javascript - habilitar - La "función de flecha" no funciona en IE, ¿por qué?
habilitar javascript en chrome en windows (4)
En general, antes de que las funciones de flecha fueran funciones de flecha, eran
function
regulares de JS.
Entonces, con IE11 solo tenemos que dar un paso atrás en el tiempo
var fruits=["apple","banana","orange"];
var modernResult=fruits.find(e => e.includes("nana"));
console.log(modernResult);
var IEresult=fruits.find(function(e){return e.includes("nana")});
console.log(IEresult);
el siguiente código no funciona en IE 11, arroja un error de sintaxis en la consola
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"));
Uso del
d3.js
bipartito
d3.js
para visualización
este código causa el problema en la declaración anterior
d=>(d.part=="primary"? -40: 40)
Estás usando funciones de flecha.
IE11 no los admite.
Use
function
función en su lugar.
Aquí está Babel''s traducción de Babel''s de eso a 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";
});
Evite el uso de funciones de flecha si necesita admitir IE 11 ya que no es compatible
Cambie esos a funciones regulares y su código debería funcionar como espera
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 no admite la notación de flecha a partir de ahora, pero hay una manera práctica y rápida de transpilar sus códigos
ES6
a
ES5.1
para trabajar en
IE
.
visite el sitio web de
Babel
, luego pegue sus códigos en el cuadro de la izquierda y copie el código del cuadro de la derecha que se transpuso a la versión anterior de
JavaScript
.
Por ejemplo, su código se transpila a:
"use strict";
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";
});