【TypeScript】Class 宣言の挙動差異
TypeScript でconstructor
を使ったクラス宣言と、使わない場合でキーの数が違うので注意が必要かもです。
実装例(TypeScript)
class ClassA {
prop1: string
prop2: string
}
console.log(new ClassA())
class ClassB {
constructor(
public prop1?: string,
public prop2?: string,
) {
}
}
console.log(new ClassB())
実行結果
TypeScript のプレイグラウンド での実行結果です。
VM30:4 ClassA {}__proto__: Object
VM30:11 ClassB {prop1: undefined, prop2: undefined}