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

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 サイトの他の関連記事を参照してください。

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
JavaScriptのデータ型:ブラウザとNodejsに違いはありますか?JavaScriptのデータ型:ブラウザとNodejsに違いはありますか?May 14, 2025 am 12:15 AM

JavaScriptコアデータ型は、ブラウザとnode.jsで一貫していますが、余分なタイプとは異なる方法で処理されます。 1)グローバルオブジェクトはブラウザのウィンドウであり、node.jsのグローバルです2)バイナリデータの処理に使用されるNode.jsの一意のバッファオブジェクト。 3)パフォーマンスと時間の処理にも違いがあり、環境に従ってコードを調整する必要があります。

JavaScriptコメント://および / * *を使用するためのガイドJavaScriptコメント://および / * *を使用するためのガイドMay 13, 2025 pm 03:49 PM

javascriptusestwotypesofcomments:シングルライン(//)およびマルチライン(//)

Python vs. JavaScript:開発者の比較分析Python vs. JavaScript:開発者の比較分析May 09, 2025 am 12:22 AM

PythonとJavaScriptの主な違いは、タイプシステムとアプリケーションシナリオです。 1。Pythonは、科学的コンピューティングとデータ分析に適した動的タイプを使用します。 2。JavaScriptは弱いタイプを採用し、フロントエンドとフルスタックの開発で広く使用されています。この2つは、非同期プログラミングとパフォーマンスの最適化に独自の利点があり、選択する際にプロジェクトの要件に従って決定する必要があります。

Python vs. JavaScript:ジョブに適したツールを選択するPython vs. JavaScript:ジョブに適したツールを選択するMay 08, 2025 am 12:10 AM

PythonまたはJavaScriptを選択するかどうかは、プロジェクトの種類によって異なります。1)データサイエンスおよび自動化タスクのPythonを選択します。 2)フロントエンドとフルスタック開発のためにJavaScriptを選択します。 Pythonは、データ処理と自動化における強力なライブラリに好まれていますが、JavaScriptはWebインタラクションとフルスタック開発の利点に不可欠です。

PythonとJavaScript:それぞれの強みを理解するPythonとJavaScript:それぞれの強みを理解するMay 06, 2025 am 12:15 AM

PythonとJavaScriptにはそれぞれ独自の利点があり、選択はプロジェクトのニーズと個人的な好みに依存します。 1. Pythonは、データサイエンスやバックエンド開発に適した簡潔な構文を備えた学習が簡単ですが、実行速度が遅くなっています。 2。JavaScriptはフロントエンド開発のいたるところにあり、強力な非同期プログラミング機能を備えています。 node.jsはフルスタックの開発に適していますが、構文は複雑でエラーが発生しやすい場合があります。

JavaScriptのコア:CまたはCの上に構築されていますか?JavaScriptのコア:CまたはCの上に構築されていますか?May 05, 2025 am 12:07 AM

javascriptisnotbuiltoncorc;それは、解釈されていることを解釈しました。

JavaScriptアプリケーション:フロントエンドからバックエンドまでJavaScriptアプリケーション:フロントエンドからバックエンドまでMay 04, 2025 am 12:12 AM

JavaScriptは、フロントエンドおよびバックエンド開発に使用できます。フロントエンドは、DOM操作を介してユーザーエクスペリエンスを強化し、バックエンドはnode.jsを介してサーバータスクを処理することを処理します。 1.フロントエンドの例:Webページテキストのコンテンツを変更します。 2。バックエンドの例:node.jsサーバーを作成します。

Python vs. Javascript:どの言語を学ぶべきですか?Python vs. Javascript:どの言語を学ぶべきですか?May 03, 2025 am 12:10 AM

PythonまたはJavaScriptの選択は、キャリア開発、学習曲線、エコシステムに基づいている必要があります。1)キャリア開発:Pythonはデータサイエンスとバックエンド開発に適していますが、JavaScriptはフロントエンドおよびフルスタック開発に適しています。 2)学習曲線:Python構文は簡潔で初心者に適しています。 JavaScriptの構文は柔軟です。 3)エコシステム:Pythonには豊富な科学コンピューティングライブラリがあり、JavaScriptには強力なフロントエンドフレームワークがあります。

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 Linux 新バージョン

SublimeText3 Linux 新バージョン

SublimeText3 Linux 最新バージョン

MantisBT

MantisBT

Mantis は、製品の欠陥追跡を支援するために設計された、導入が簡単な Web ベースの欠陥追跡ツールです。 PHP、MySQL、Web サーバーが必要です。デモおよびホスティング サービスをチェックしてください。

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

Eclipse を SAP NetWeaver アプリケーション サーバーと統合します。