クラス構文(プレビュー):constructor、メソッド、static、extends
クラス構文をやさしく学びます。constructor、インスタンスメソッド、staticのヘルパー、extendsによるシンプルな継承を扱います。
「クラス構文(プレビュー):constructor、メソッド、static、extends」はCoddyKit上の無料JavaScript Academyレッスンです。 これはレッスン2/2です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはJavaScript Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 JavaScript Academyコースには全2レッスンが含まれています。
class構文の概要
目標:class構文がプロトタイプにどのように対応するかを学びます。
- 初期設定にはconstructor
- プロトタイプ上のmethods
- クラス上のstaticヘルパー
- 単純な継承にはextends

コンストラクターとメソッド
constructorはnewの実行時に呼び出されます。クラス本体のメソッドはすべてのインスタンスで共有されます(プロトタイプ)。
// Class with a constructor and an instance method
class Counter {
constructor(start = 0) {
// Initialize fields
this.value = start;
}
// Instance method (lives on the prototype)
inc() {
this.value = this.value + 1;
console.log("Now:", this.value);
}
}
const c = new Counter(1);
c.inc();
c.inc();

プロトタイプの共有
class構文のインスタンスメソッドはprototype methodsなので、同じ関数が再利用されます。
// Prototype sharing demo
class Greeter {
say(name) {
console.log("Hello,", name);
}
}
const g1 = new Greeter();
const g2 = new Greeter();
// Same function reference for both instances
console.log("Same method?", g1.say === g2.say);

staticメソッドの基本
staticメソッドはインスタンスではなく、クラス自体に対して呼び出します。
// Static method: lives on the class, not instances
class MathBox {
static double(n) {
return n * 2;
}
}
console.log("Static call:", MathBox.double(4));
const m = new MathBox();
// @ts-ignore (conceptually): next line would be undefined in JS
console.log("Instance has static?", typeof m.double);

単純な継承
extendsはプロトタイプチェーンを設定します。親のメソッドを呼び出すにはsuperを使います。
// Inheritance with extends and super
class Animal {
speak() {
console.log("...");
}
}
class Dog extends Animal {
speak() {
// Optionally call parent method
super.speak();
console.log("Woof");
}
}
const d = new Dog();
d.speak();

classのヒント
ヒント:
- クラスはフィールドとメソッドを2つほどにして、小さく保ちます。
- インスタンスメソッドはクラス本体に記述することを優先します(プロトタイプ経由で共有されます)。
- インスタンスに依存しない純粋なヘルパーにはstaticを使います。

クラスメソッドの配置クイズ
簡単な確認:共有されるメソッドの配置です。

振り返り
振り返り:constructorを持つクラスを作成し、共有されるインスタンスメソッドを記述し、staticヘルパーを追加し、superを使って基底クラスを継承しました。

よくある質問
「クラス構文(プレビュー):constructor、メソッド、static、extends」レッスンは無料ですか?
はい。「クラス構文(プレビュー):constructor、メソッド、static、extends」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、JavaScript Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 JavaScript Academyコースには全2レッスンが含まれています。
「クラス構文(プレビュー):constructor、メソッド、static、extends」で何を学びますか?
クラス構文をやさしく学びます。constructor、インスタンスメソッド、staticのヘルパー、extendsによるシンプルな継承を扱います。 ブラウザで直接実行するハンズオンコードでJavaScript Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
JavaScript Academyを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのJavaScript Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン2/2です。
「クラス構文(プレビュー):constructor、メソッド、static、extends」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このJavaScript Academyレッスンでコードを書いて実行できますか?
はい。すべてのJavaScript Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- プロトタイプチェーンと自所有プロパティの基礎
- クラス構文(プレビュー):constructor、メソッド、static、extends