Почему свойство необязательного класса машинописного текста имеет значение 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

0 ответов

Другие вопросы по тегам