Свойство отсутствует в объекте TypeScript, но отображается при регистрации - PullRequest
0 голосов
/ 05 мая 2020

Я новичок в TypeScript и столкнулся с проблемой, которую не могу понять.

У меня есть метод, который преобразует один объект в другой:

static fromPreload(preloadPackage: PreloadPackage, context: Context): PackageDocument {
    context.log(`PreloadPackage:\n ${JSON.stringify(preloadPackage, null, '\t')}`)
    let document: PackageDocument = new PackageDocument()
    context.log(`PreloadPackage dimensions:\n ${JSON.stringify(preloadPackage.dimensions, null, '\t')}`)
    document.courier_packageId = preloadPackage.packageId
    document.dimensions = preloadPackage.dimensions
    document.weight = preloadPackage.weight
    context.log(`PreloadPackage weight: ${preloadPackage.weight}`)
    context.log(`PackageDocument weight: ${document.weight}`)
    context.log(`PackageDocument:\n ${JSON.stringify(document, null, '\t')}`)
    return document
}

Когда это преобразование выполнено, вес преобразованного объекта отсутствует. Вот результат выполнения этого метода:

PreloadPackage:
 {
    "packageId": "courierPackageId2",
    "weight:": 1000,
    "dimensions": {
            "length": 100,
            "width": 100,
            "height": 100
    }
}
PreloadPackage dimensions:
 {
    "length": 100,
    "width": 100,
    "height": 100
}
PreloadPackage weight: undefined
PackageDocument weight: undefined
PackageDocument:
 {
    "courier_packageId": "courierPackageId2",
    "dimensions": {
            "length": 100,
            "width": 100,
            "height": 100
    }
}

Итак, мой метод получает правильные данные, и все присутствует, кроме свойства веса после переназначения.

У меня нет Угадайте, почему это происходит, любая помощь будет принята с благодарностью.

1 Ответ

1 голос
/ 05 мая 2020

Если вы обратили внимание на ошибки, о которых сообщает Typescript, вы бы увидели

Property 'weight' does not exist on type 'PreloadPackage'. Did you mean 'weight:'?(2551)

Обратите внимание на двоеточие внутри имени, а не после него.

Опечатки - это нормально. Но игнорирование сообщений об ошибках от компилятора Typescript - нет. Пожалуйста, обратите внимание.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...