index.js
class Test{
constructor(){
this.a = 12;
return {
a: 5
};
}
}
class Test2{
constructor(){
this.a = 12;
return true;
}
}
const test = new Test();
console.log(test.a); // 5
const test = new Test2();
console.log(test); // Test2 { a: 12 }
この挙動は仕様ではある。
が、少なくとも直感的ではない。
ただしこの挙動はコンストラクタ関数の挙動と全く同じだったりするので、構文糖という意味では一貫性を持っている。
・・・個人的には何かしらのエラー発してほしかった。それだけ。