JavaScriptのデフォルトコンストラクターとは?仕組みと構文を解説
JavaScriptでは、クラスにコンストラクターメソッド(constructor)を明示的に定義しなかった場合、自動的にデフォルトコンストラクターが使用されます。つまり、開発者が何も定義しなくても、JavaScriptエンジンが暗黙的に空のコンストラクターを作成してくれるのです。
デフォルトコンストラクターの基本構文
デフォルトコンストラクターは、次のように空のコンストラクターとして扱われます。
constructor() {}
このため、以下のようなクラスは、明示的にコンストラクターを書かなくても正常にインスタンス化できます。
class Person {
// コンストラクターを定義していなくてもOK
}
const p = new Person();
console.log(p); // Person {}
派生クラス(サブクラス)の場合の構文
extendsを使って親クラスを継承した派生クラスでは、デフォルトコンストラクターが自動的に親クラスのコンストラクターへ引数を受け渡します。その内部イメージは次のとおりです。
constructor(...args) {
super(...args);
}
このように、派生クラスでコンストラクターを省略した場合でも、super()が自動的に呼び出されるため、親クラスの初期化処理が正しく実行されます。逆に、派生クラスで独自のコンストラクターを定義する場合は、thisにアクセスする前に必ずsuper()を呼び出す必要がある点に注意しましょう。
-
C#のデフォルトコンストラクターとは?基本の仕組みと使い方を解説
C#におけるコンストラクターは、オブジェクトが生成される瞬間に自動的に呼び出される特別なメソッドです。コンストラクターの名前は、必ずクラス名と同じにする必要があります。以下はその基本的な定義例です。public class Department { public Department() { Console.WriteLine(Default Constructor!); } }次のコードは、C#でデフォルトコンストラクターを使用する際の記述例です。オブジェクトが生成されると同時に、コンストラクターが即座に呼び出されます。Department dept1 = n
-
C#のデフォルトコンストラクターとは?特徴と使い方を実例つきで解説
コンストラクター(constructor)とは、クラスの新しいオブジェクト(インスタンス)が生成されるタイミングで必ず実行される特殊なメンバー関数です。オブジェクトの初期化処理を担う重要な存在です。その中でも、引数(パラメーター)を一切取らないコンストラクターを「デフォルトコンストラクター」と呼びます。 デフォルトコンストラクターのポイント 引数を持ちません。 クラスにコンストラクターを1つも定義しない場合、C#のコンパイラが自動的に暗黙的なデフォルトコンストラクターを提供します。 暗黙的なデフォルトコンストラクターは、数値型を「0」、bool型を「false」、参照型を「null」といった