[RAILS] Zusammenfassung dessen, was wir getan haben, um JavaScript mit IE11 kompatibel zu machen

Plötzlich nach IE11-Unterstützung gefragt

Ich werde die Teile zusammenfassen, mit denen ich als JavaScript-Anfänger zu kämpfen hatte, als ich gebeten wurde, IE11 zu unterstützen. Ich habe den Code vor und nach der Korrektur veröffentlicht und hoffe, dass er hilfreich ist.

Pfeilfunktion

Entsprechender Code

$button.click((event) => {
    alert('Ich drückte den Knopf');
});

// => SCRIPT1002:Es liegt ein Syntaxfehler vor.

Geänderter Code

$button.click(function(event) {
    console.log('Ich drückte den Knopf');

// =>Ich drückte den Knopf
});

Vorlagenliteral

Diejenige, die Variablen in der in hinteren Anführungszeichen eingeschlossenen Zeichenfolge erweitert

Entsprechender Code

const age = 20
console.log(`Mein Alter ist${age}ist.`);

// => SCRIPT1014:Die Zeichen sind falsch.

Geänderter Code

const age = 20;
console.log('Mein Alter ist' + age + 'ist.');

// =>Mein Alter ist 20

isNaN Es scheint eine Methode zu sein, die bewertet, ob das Argument keine Zahl ist

Entsprechender Code

const int = 1000;
console.log(Number.isNaN(int));

// => SCRIPT438:Das Objekt ist'isNaN'Unterstützt keine Eigenschaften oder Methoden.

Geänderter Code

const int = 1000;
console.log(isNaN(int));

// => false

.find()

Entsprechender Code

const fruits = ['Apple', 'Orange', 'Banana']
if(fruits.find(function (fruit) {return fruit === 'Grape'})) {
  console.log('Es ist ein Apfel!');
}else {
  console.log('Es ist kein Apfel!');
}

// => SCRIPT438:Das Objekt ist'find'Unterstützt keine Eigenschaften oder Methoden.

Geänderter Code

function sample(arg) {
    const fruits = ['Apple', 'Orange', 'Banana']
    if(fruits.filter(function (fruit) {return fruit === arg})[0]) {
      console.log('Es ist ein Mist!');
    }else {
      console.log('Es ist kein Mist!');
    }
}

sample('Banana')
sample('Tomato')

// =>Es ist ein Mist!
// =>Es ist kein Mist!

Nachtrag 2020/11/12

indexOf ist einfacher zu schreiben

function sample(arg) {
    const fruits = ['Apple', 'Orange', 'Banana']
    if(fruits.indexOf(arg) !== -1) {
      console.log('Es ist ein Mist!');
    }else {
      console.log('Es ist kein Mist!');
    }
}

sample('Banana')
sample('Tomato')

// =>Es ist ein Mist!
// =>Es ist kein Mist!

@ il9437 Vielen Dank für den Hinweis auf m (_ _) m

Versionsinformation

IE: 11.418.18362.0

Bitte kommentieren Sie, wenn Sie Ratschläge haben, wie "Ich sollte das mehr tun!" Oder "Es gibt auch eine solche Schreibweise!" M (_ _) m

Recommended Posts

Zusammenfassung dessen, was wir getan haben, um JavaScript mit IE11 kompatibel zu machen
Zusammenfassung der Verwendung des im IE festgelegten Proxy-Sets bei der Verbindung mit Java
Was ist ein unveränderliches Objekt? [Erklärung, wie man macht]
Zusammenfassung der Probleme und Gegenmaßnahmen beim Betrieb des IE mit WebDriver of Selenium2
[Rails] Pagenation mit Ajax kompatibel machen
Zusammenfassung der Mittel, wenn Sie mit HTTP unter Android kommunizieren möchten