ES2018コアの改善:非同期反復、PROMIST.FINALLY()、REST/SPREAT属性、および正規表現の機能強化
ES2018(ES9とも呼ばれます)は、この記事にいくつかの重要な更新をもたらしました。
JavaScript Standard(ECMAScript)は進化し続けており、ES6(ECMAScript 2015)の後、新しい年次リリースプロセスは機能の反復を加速します。 ES2018は当時の最新バージョンでした。
TC39(技術委員会39)はJavaScriptの提案を促進する責任があり、プロセスは次のとおりです。
1
は正しく機能しません。 ES2018は非同期イテレーターを導入します。そのメソッドは約束を返し、
ES2018は、休憩/スプレッド構文をオブジェクトの破壊に拡張します:
名前のキャプチャグループ:名前のキャプチャグループ
async/await
async function process(array) {
for (let i of array) {
await doSomething(i);
}
}
next()
は、約束が完了した後に同じコードを実行するために使用されます(成功したか失敗したか)、頻繁に作業に使用されます。
for await ... of
async function process(array) {
for await (let i of array) {
doSomething(i);
}
}
Promise.finally()
function doSomething() {
doSomething1()
.then(doSomething2)
.then(doSomething3)
.catch(err => {
console.log(err);
})
.finally(() => {
// 完成后的操作
});
}
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>...)
unicode属性エスケープ:const reDate = /(?<year>[0-9]{4})-(?<month>[0-9]{2})-(?<day>[0-9]{2})/;
(?...<name>...)</name>
Promise.finally()
、休憩/スプレッド属性、正規表現の強化など。 上記の情報があなたに役立つことを願っています!
以上がES2018の新しいものの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。