【问题标题】:Cannot set properties of undefined despite property already declared Typescript尽管属性已声明 Typescript,但无法设置未定义的属性
【发布时间】:2023-01-02 00:12:41
【问题描述】:

我正在使用 Typescript 进行 Cypress 测试。

这是我的功能:

createOrder: (body) => {
    let order: { id: any }

    cy.request({
        method: 'POST',
        url: '/order',
        body: body
    }).then(response => {
        let res = response.body.Order

        order.id = res.id
    })

    return order
},

执行后出现错误:Cannot set properties of undefined (setting 'id')

我在这里错过了什么?据我所知,我似乎已经声明了id

【问题讨论】:

    标签: typescript cypress


    【解决方案1】:

    let order: { id: any }order 定义了一个类型,但没有给它一个值。

    尝试初始化它 let order: {id: any} = {id: ""} 并避免使用 any(使用 any 禁用变量/属性的类型检查并让你陷入这类问题)

    【讨论】:

    • 这很好用,正如我希望的那样。还将更改 any 键入以更具体。谢谢。
    • 伟大的。请接受答案,以“关闭”问题。
    猜你喜欢
    • 2021-02-20
    • 1970-01-01
    • 2017-11-21
    • 2019-07-04
    • 1970-01-01
    • 2020-03-06
    • 2019-10-25
    • 2021-11-27
    相关资源
    最近更新 更多