Почему свойство необязательного класса машинописного текста имеет значение undefined для es2022
Обработка необязательных свойств класса компилятором машинописного текста, похоже, изменилась с на .
class A {
a?: string
b?: string
constructor() {
this.b = 'asd'
}
}
console.log(new A())
с целью tsconfig =es2021
приводит к
A: {
"b": "asd"
}
с целью tsconfig =es2022
приводит к
A: {
"a": undefined,
"b": "asd"
}
Я не могу найти никакой документации относительно этого изменения. Это действительно намеренное поведение и почему?
Это легко воспроизвести на игровой площадке ts , изменив TS Config->Target