ES2018 Kernverbesserungen: Asynchrone Iteration, Versprechen.Finally (), Rest-/Spread -Attribute und regelmäßige Expressionsverbesserungen
ES2018 (auch als ES9 bekannt) hat mehrere wichtige Aktualisierungen für JavaScript gebracht.
JavaScript Standard (ECMAScript) entwickelt sich weiter und nach ES6 (ECMAScript 2015) beschleunigt der neue Jahresveröffentlichungsprozess die Iteration von Funktionen. ES2018 war die neueste Version zu dieser Zeit.
TC39 (Technischer Ausschuss 39) ist für die Förderung von JavaScript -Vorschlägen verantwortlich, und der Prozess lautet wie folgt:
Hauptmerkmale von ES2018:
1 In
, wenn Sie versuchen, eine asynchrone Funktion in einer synchronen Schleife aufzurufen, z. B.
async/await
async function process(array) { for (let i of array) { await doSomething(i); } }
Loop: next()
in Serie durchgeführt werden können: for await ... of
async function process(array) { for await (let i of array) { doSomething(i); } }
2 wird verwendet, um denselben Code nach Abschluss des Versprechens auszuführen (ob erfolgreich oder fehlgeschlagen), und wird häufig für die Reinigungsarbeiten verwendet:
Promise.finally()
function doSomething() { doSomething1() .then(doSomething2) .then(doSomething3) .catch(err => { console.log(err); }) .finally(() => { // 完成后的操作 }); }
Spread Operator wird verwendet, um flache Kopien zu erstellen oder Objekte von Objekten zu verschmelzen:
const myObject = { a: 1, b: 2, c: 3 }; const { a, ...x } = myObject; // a = 1, x = { b: 2, c: 3 } function restParam({ a, ...x }) { // a = 1, x = { b: 2, c: 3 } }
const obj1 = { a: 1, b: 2 }; const obj2 = { ...obj1, c: 3 }; // obj2 = { a: 1, b: 2, c: 3 }
Name Capture Group mit , um die Lesbarkeit und Wartung zu verbessern:
(?<name>...)
unterstützt Guangu Assertion const reDate = /(?<year>[0-9]{4})-(?<month>[0-9]{2})-(?<day>[0-9]{2})/;
(?...<name>...)</name>
s
und , um auf Unicode -Zeichenattribute zuzugreifen. .
p{...}
Promise.finally()
, Rest-/Spread -Attribute, regelmäßige Expressionsverbesserung usw. Ich hoffe, die oben genannten Informationen werden Ihnen hilfreich sein!
Das obige ist der detaillierte Inhalt vonWas ist neu in ES2018. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!