9 日目: JavaScript モジュールとクラス
日付: 2024 年 12 月 16 日
9日目へようこそ!今日は、コードの構成、再利用性、読みやすさを大幅に向上させる 2 つの概念である JavaScript の モジュール と クラス について説明します。これらのトピックを理解すると、JavaScript スキルが向上し、プロの開発者のようにプロジェクトを構築できるようになります。
1. JavaScript モジュール
モジュールを使用すると、コードをより小さな再利用可能な部分に分割できます。 1 つの大きなファイルを用意する代わりに、機能を複数のファイルに整理できるため、コードベースの管理と保守が容易になります。
モジュールを使用する理由
- 懸念事項の分離: 各モジュールは特定の責任を処理します。
- 再利用性: あるモジュールのコードを別のモジュールで再利用できます。
- 保守性: デバッグと更新が容易になります。
モジュールでのエクスポートとインポート
モジュールからのエクスポート
export を使用して、モジュールから変数、関数、またはクラスをエクスポートできます。
名前付きエクスポート
// utils.js export const add = (a, b) => a + b; export const subtract = (a, b) => a - b;
デフォルトのエクスポート
// greet.js export default function greet(name) { return `Hello, ${name}!`; }
モジュールのインポート
別のモジュールから機能を取り込むには、import キーワードを使用します。
例: 名前付きエクスポートのインポート
// main.js import { add, subtract } from './utils.js'; console.log(add(5, 3)); // Output: 8 console.log(subtract(5, 3)); // Output: 2
例: デフォルトのエクスポートのインポート
// main.js import greet from './greet.js'; console.log(greet("Alice")); // Output: Hello, Alice!
動的インポート
動的インポートは、実行時に import() を使用してモジュールをロードします。
例: 遅延読み込み
const loadModule = async () => { const module = await import('./utils.js'); console.log(module.add(5, 3)); // Output: 8 }; loadModule();
2. JavaScript クラス
JavaScript のクラスは、オブジェクトを作成し、関連するデータとメソッドをカプセル化するための設計図を提供します。これらは ES6 の一部であり、JavaScript でのオブジェクト指向プログラミングの基礎です。
クラスの定義
クラスは class キーワードを使用して定義されます。
例: 基本クラス
class Person { constructor(name, age) { this.name = name; this.age = age; } greet() { return `Hello, my name is ${this.name} and I am ${this.age} years old.`; } } const person1 = new Person("John", 30); console.log(person1.greet()); // Output: Hello, my name is John and I am 30 years old.
クラスの継承
継承により、クラスは extends キーワードを使用して別のクラスからプロパティとメソッドを派生できます。
例: 継承
class Animal { constructor(name) { this.name = name; } speak() { console.log(`${this.name} makes a sound.`); } } class Dog extends Animal { speak() { console.log(`${this.name} barks.`); } } const dog = new Dog("Buddy"); dog.speak(); // Output: Buddy barks.
静的メソッド
静的メソッドはインスタンスではなくクラス自体に属します。
例: 静的メソッド
// utils.js export const add = (a, b) => a + b; export const subtract = (a, b) => a - b;
プライベートフィールドとメソッド
プライベート フィールドとメソッドはクラス内でのみアクセスでき、# 接頭辞で示されます。
例: プライベートフィールド
// greet.js export default function greet(name) { return `Hello, ${name}!`; }
クラス リテラルとオブジェクト リテラル
単純なデータ構造の場合、オブジェクト リテラルは迅速かつ簡単ですが、クラスでは次のことが可能です。
- 複数の同様のオブジェクトを作成するための明確な青写真。
- 継承とカプセル化のサポート。
3.モジュールとクラスの結合
最新の JavaScript アプリケーションでは、モジュールとクラスが美しく相互補完します。あるモジュールでクラスを定義し、それを別のモジュールで使用できます。
例: モジュールとクラスの結合
// main.js import { add, subtract } from './utils.js'; console.log(add(5, 3)); // Output: 8 console.log(subtract(5, 3)); // Output: 2
4.現実世界の例: ショッピング カート
これは、モジュールとクラスの両方を組み合わせた実際的な例です。
ファイル: cart.js
// main.js import greet from './greet.js'; console.log(greet("Alice")); // Output: Hello, Alice!
ファイル: main.js
const loadModule = async () => { const module = await import('./utils.js'); console.log(module.add(5, 3)); // Output: 8 }; loadModule();
重要なポイント
- モジュール: コードを整理し、再利用性を促進します。
- クラス: オブジェクトを操作するための構造化された方法を提供し、継承やカプセル化などの機能を提供します。
- 組み合わせて使用: モジュールとクラスを一緒に使用して、スケーラブルで保守可能なアプリケーションを構築します。
練習課題
- 基本的な算術演算用の関数をエクスポートするモジュールを作成します。
- 書籍を追加およびリストするメソッドを備えた図書館システムのクラスを作成します。
- モジュールとクラスを組み合わせて、基本的な e コマース ショッピング カートをシミュレートします。
次は何ですか?
明日の 10 日目では、イベント ループと非同期プログラミングについて詳しく説明します。そこでは、JavaScript が同時実行、コールバック、Promise、およびイベント ループをどのように処理するかを学びます。 。乞うご期待!
以上がJavaScript モジュールとクラスの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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

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

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

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

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

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

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

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


ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

SecLists
SecLists は、セキュリティ テスターの究極の相棒です。これは、セキュリティ評価中に頻繁に使用されるさまざまな種類のリストを 1 か所にまとめたものです。 SecLists は、セキュリティ テスターが必要とする可能性のあるすべてのリストを便利に提供することで、セキュリティ テストをより効率的かつ生産的にするのに役立ちます。リストの種類には、ユーザー名、パスワード、URL、ファジング ペイロード、機密データ パターン、Web シェルなどが含まれます。テスターはこのリポジトリを新しいテスト マシンにプルするだけで、必要なあらゆる種類のリストにアクセスできるようになります。

SublimeText3 英語版
推奨: Win バージョン、コードプロンプトをサポート!

SublimeText3 Linux 新バージョン
SublimeText3 Linux 最新バージョン

VSCode Windows 64 ビットのダウンロード
Microsoft によって発売された無料で強力な IDE エディター

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)
