ES2018の新しいもの

Christopher Nolan
リリース: 2025-02-15 08:37:12
オリジナル
1013 人が閲覧しました

What's New in ES2018

ES2018コアの改善:非同期反復、PROMIST.FINALLY()、REST/SPREAT属性、および正規表現の機能強化

ES2018(ES9とも呼ばれます)は、この記事にいくつかの重要な更新をもたらしました。

JavaScript Standard(ECMAScript)は進化し続けており、ES6(ECMAScript 2015)の後、新しい年次リリースプロセスは機能の反復を加速します。 ES2018は当時の最新バージョンでした。

TC39(技術委員会39)はJavaScriptの提案を促進する責任があり、プロセスは次のとおりです。

  • ステージ0:予備フォーム予備概念。
  • ステージ1:APIの例を含む提案正式な提案文書。
  • ステージ2:ドラフト予備仕様、少なくとも2つの実験的実装。
  • ステージ3:候補者レビューを標準化し、メーカーのフィードバックを収集します。
  • ステージ4:ECMAScriptを含める準備をしますが、ブラウザーとnode.jsの実際のサポートが遅れている場合があります。 ES2018の主な機能:

1 in

は正しく機能しません。 ES2018は非同期イテレーターを導入します。そのメソッドは約束を返し、

ループを使用してシリアルで非同期操作を実行できるようにします:

async/await

async function process(array) {
  for (let i of array) {
    await doSomething(i);
  }
}
ログイン後にコピー
2

next()は、約束が完了した後に同じコードを実行するために使用されます(成功したか失敗したか)、頻繁に作業に使用されます。 for await ... of

async function process(array) {
  for await (let i of array) {
    doSomething(i);
  }
}
ログイン後にコピー
3

ES2018は、休憩/スプレッド構文をオブジェクトの破壊に拡張します:

スプレッドオペレーターは、浅いコピーを作成するか、オブジェクトのオブジェクトをマージするために使用されます。

Promise.finally()

4
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 }
ログイン後にコピー
Guangue Assertion:

(dotall)フラグ:
  • ラインブレークを含むすべての文字を一致させます。 (?<name>...)unicode属性エスケープ:
および
const reDate = /(?<year>[0-9]{4})-(?<month>[0-9]{2})-(?<day>[0-9]{2})/;
ログイン後にコピー
を使用して、Unicode文字属性にアクセスします。
  • ES2018 FAQ:(?...<name>...)</name>
    • ES2018の新機能は何ですか? 非同期反復、Promise.finally()、休憩/スプレッド属性、正規表現の強化など。
    • ES2018の新機能を使用する方法は? 開発環境がES2018をサポートしていることを確認してください。これは通常、最新のブラウザとnode.jsバージョンでサポートされています。
    • ECMAScriptの古いバージョンとどのように互換性がありますか? ES2018は後方互換性がありますが、古い環境はすべての新機能をサポートするわけではなく、Babelなどのツールを使用して翻訳できます。
    • パフォーマンスへの影響は何ですか? は特定の特性と使用法に依存しますが、一般的に効率を改善することを目的としています。
    • ES2018はES6およびES7とどのように比較されますか? ES2018は、既存の機能を強化し、ES6とES7に基づいて新しいツールを追加します。

    上記の情報があなたに役立つことを願っています!

以上がES2018の新しいものの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート