JavaScript クラスは、プロトタイプの継承システムに対する構文糖衣です。 ES6 で導入されたクラスは、オブジェクトを定義し、JavaScript で継承を操作するための明確で構造化された方法を提供し、コードをより読みやすく、整理したものにします。
class キーワードを使用してクラスを定義できます。
例:
class Person { constructor(name, age) { this.name = name; this.age = age; } greet() { console.log(`Hello, my name is ${this.name} and I am ${this.age} years old.`); } } const person1 = new Person("Alice", 25); person1.greet(); // Hello, my name is Alice and I am 25 years old.
例:
class Car { constructor(brand) { this.brand = brand; } } const myCar = new Car("Toyota"); console.log(myCar.brand); // Toyota
例:
class Animal { sound() { console.log("Animal makes a sound"); } } const dog = new Animal(); dog.sound(); // Animal makes a sound
例:
class MathUtils { static add(a, b) { return a + b; } } console.log(MathUtils.add(3, 5)); // 8
例:
class Rectangle { constructor(width, height) { this.width = width; this.height = height; } get area() { return this.width * this.height; } } const rect = new Rectangle(10, 5); console.log(rect.area); // 50
継承により、クラスは 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("Rex"); dog.speak(); // Rex barks.
ES2022 で導入されたプライベート フィールドとメソッドは # で始まり、クラス外からはアクセスできません。
例:
class BankAccount { #balance; constructor(initialBalance) { this.#balance = initialBalance; } deposit(amount) { this.#balance += amount; console.log(`Deposited: ${amount}`); } getBalance() { return this.#balance; } } const account = new BankAccount(100); account.deposit(50); // Deposited: 50 console.log(account.getBalance()); // 150 // console.log(account.#balance); // Error: Private field '#balance' must be declared in an enclosing class
クラスは式として定義して変数に割り当てることもできます。
例:
const Rectangle = class { constructor(width, height) { this.width = width; this.height = height; } getArea() { return this.width * this.height; } }; const rect = new Rectangle(10, 5); console.log(rect.getArea()); // 50
クラスは糖衣構文ですが、JavaScript のプロトタイプベースの継承と組み合わせることができます。
例:
class Person {} Person.prototype.sayHello = function () { console.log("Hello!"); }; const person = new Person(); person.sayHello(); // Hello!
カプセル化:
プライベート フィールドを使用して機密データを保護します。
再利用性:
継承を活用して、複数のクラス間でコードを再利用します。
過度の複雑さを避ける:
クラスは必要な場合にのみ使用してください。小さなタスクには単純なオブジェクトまたは関数で十分な場合があります。
一貫性:
読みやすくするために、メソッドとプロパティの命名規則に従ってください。
JavaScript クラスは、JavaScript でオブジェクト指向プログラミングを管理するクリーンで効率的な方法を提供します。継承、静的メソッド、プライベート フィールド、カプセル化などの機能を備えたこれらのツールは、コードを構造化して管理するための強力なツールを提供し、スケーラブルで保守可能なアプリケーションの構築を容易にします。
こんにちは、アバイ・シン・カタヤットです!
私はフロントエンドとバックエンドの両方のテクノロジーの専門知識を持つフルスタック開発者です。私はさまざまなプログラミング言語やフレームワークを使用して、効率的でスケーラブルでユーザーフレンドリーなアプリケーションを構築しています。
ビジネス用メールアドレス kaashshorts28@gmail.com までお気軽にご連絡ください。
以上がJavaScript クラスをマスターする: 最新 OOP の完全ガイドの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。