ホームページ > ウェブフロントエンド > jsチュートリアル > 高度な JavaScript の概念 Promise、async/await、try-catch

高度な JavaScript の概念 Promise、async/await、try-catch

Susan Sarandon
リリース: 2024-12-27 01:00:10
オリジナル
626 人が閲覧しました

Advanced JavaScript Concepts promises and async/await and try-catch

8 日目: JavaScript の高度な概念

日付: 2024 年 12 月 15 日

8日目へようこそ!今日は、プログラミング スキルを向上させる、最も強力で高度な JavaScript の概念をいくつか取り上げます。これらには、最新の ES6 機能、Promise と async/await を使用した非同期プログラミング、try-catch を使用した効果的なエラー処理が含まれます。これらのツールは、効率的で読みやすく、保守しやすい JavaScript アプリケーションを構築するために不可欠です。


1. ES6 の機能の紹介

ES6 (ECMAScript 2015 とも呼ばれる) では、JavaScript をより強力で開発者にとって使いやすいものにするいくつかの機能が導入されました。いくつかの主要な機能について説明しましょう:

破壊

構造化を使用すると、配列から値を抽出したり、オブジェクトのプロパティを抽出したり、それらをクリーンかつ簡潔な方法で変数に割り当てることができます。

例: 配列の構造化

const numbers = [1, 2, 3];
const [first, second, third] = numbers;
console.log(first, second, third); // Output: 1 2 3
ログイン後にコピー
ログイン後にコピー

例: オブジェクトの構造化

const user = { name: "Alice", age: 25 };
const { name, age } = user;
console.log(name, age); // Output: Alice 25
ログイン後にコピー

テンプレートリテラル

テンプレート リテラルは、埋め込み式と複数行の文字列を許可することにより、文字列の書式設定を簡素化します。

例: 文字列補間

const name = "John";
const greeting = `Hello, ${name}! Welcome to JavaScript.`;
console.log(greeting); // Output: Hello, John! Welcome to JavaScript.
ログイン後にコピー

例: 複数行の文字列

const message = `This is a
multi-line string using template literals.`;
console.log(message);
ログイン後にコピー

2. Promise と async/await

約束

Promise は、非同期操作の最終的な完了または失敗を表すオブジェクトです。

例: Promise の使用

const fetchData = new Promise((resolve, reject) => {
  let dataLoaded = true;
  if (dataLoaded) {
    resolve("Data fetched successfully!");
  } else {
    reject("Failed to fetch data.");
  }
});

fetchData
  .then((data) => console.log(data))  // Output: Data fetched successfully!
  .catch((error) => console.error(error));
ログイン後にコピー

非同期/待機

async/await は、Promise を操作するためのよりクリーンな方法であり、非同期コードが同期コードのように見え、動作するようになります。

例: async/await の使用

const fetchData = () => {
  return new Promise((resolve, reject) => {
    setTimeout(() => resolve("Data loaded!"), 2000);
  });
};

const getData = async () => {
  console.log("Fetching data...");
  const data = await fetchData();
  console.log(data); // Output: Data loaded!
};

getData();
ログイン後にコピー

3. try-catch によるエラー処理

コードの実行中に、特に非同期操作でエラーが発生する可能性があります。これらのエラーを適切に処理することで、スムーズなユーザー エクスペリエンスが保証されます。

例: 基本的な try-catch

try {
  let result = 10 / 0;
  console.log(result); // Output: Infinity
} catch (error) {
  console.error("An error occurred:", error.message);
}
ログイン後にコピー

Async/Await での try-catch の使用

非同期コードを使用する場合は、try-catch を使用してエラーを処理します。

const fetchData = () => {
  return new Promise((resolve, reject) => {
    let success = false;
    if (success) {
      resolve("Data fetched!");
    } else {
      reject("Failed to fetch data.");
    }
  });
};

const getData = async () => {
  try {
    const data = await fetchData();
    console.log(data);
  } catch (error) {
    console.error("Error:", error);
  }
};

getData();
ログイン後にコピー

4.実際の使用例

これらの概念を実際の例、つまり API からユーザー データを取得する例に組み合わせてみましょう。

例: 非同期/待機およびエラー処理を使用したデータのフェッチ

const numbers = [1, 2, 3];
const [first, second, third] = numbers;
console.log(first, second, third); // Output: 1 2 3
ログイン後にコピー
ログイン後にコピー

5.重要なポイント

  1. Destructuring: 配列とオブジェクトの操作を簡素化します。
  2. テンプレート リテラル: 文字列の操作が簡単になります。
  3. Promise と Async/Await: 非同期操作を効果的に処理します。
  4. エラー処理: try-catch を使用してエラーを適切に管理します。

8 日目の練習タスク

  1. 構造化を使用して、オブジェクトから特定のプロパティを抽出します。
  2. async/await を使用してパブリック API からデータをフェッチする関数を作成します。
  3. ネットワーク障害や無効なデータを処理するために、関数にエラー処理を追加します。

次のステップ

明日の 9 日目では、JavaScript のモジュールとクラスを詳しく見て、JavaScript のモジュール型およびオブジェクト指向の側面を探ります。この知識は、よりクリーンでより組織化されたコードを作成するのに役立ちます。それではまた!

以上が高度な JavaScript の概念 Promise、async/await、try-catchの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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