Необезательные типы данных

declare type TestMessage = {
    data: string
}

declare type Test = {
    error?: TestMessage
}

let test: Test = {
    error: {
         
    } as TestMessage
}

console.log(test?.error?.data)

Преобразуеться в

"use strict";
var _a;
let test = {
    error: {}
};
console.log((_a = test === null || test === void 0 ? void 0 : test.error) === null || _a === void 0 ? void 0 : _a.data);