TypeScript:TS2339 错误——“对象”类型上不存在属性

Posted

技术标签:

【中文标题】TypeScript:TS2339 错误——“对象”类型上不存在属性【英文标题】:TypeScript: TS2339 error -- Property does not exist on type 'object' 【发布时间】:2020-08-07 03:12:58 【问题描述】:

我无法在我的应用上解决此错误。 本质上,我的界面设置如下:

interface skuInfo 
    href: string


interface myObjectItem 
    itemId: string
    isFound: boolean
    price: 
        selling: number 
    
    images: 
        sku: skuInfo[]
    

让我感到困惑的是myObjectItem.images.sku

我有一个对象设置为:const exObj: myObjectItem

当我尝试访问它的属性时: exObj.images.sku[0].href,我收到以下错误:

Property 'href' does not exist on type 'object'

在我的 Visual Code 编辑器中,我可以看到它在访问对象数组时预填充了 href 属性,但 TS 仍在抱怨。

我错过了什么吗?

【问题讨论】:

【参考方案1】:

根据你的界面,属性访问应该是

exObj.images.sku[0].href
// -----------^

所以,typescript 是对的,你的 images 对象没有 href 属性

检查此playground,您的错误不会重现。

【讨论】:

对不起,我重新编辑了原来的 cmets。是的,我的意思是images.sku[0].href,但它仍然给我一个错误 我添加了一个游乐场

以上是关于TypeScript:TS2339 错误——“对象”类型上不存在属性的主要内容,如果未能解决你的问题,请参考以下文章

错误 TS2339:属性“_componentTag”不存在

错误 TS2339:类型“Y”上不存在属性“x”

错误 TS2339:“FormData”类型上不存在属性“条目”

Nuxt/TypeScript:无法访问 - TS2339:类型上不存在属性“XXX”

角度:错误 TS2339:“对象”类型上不存在属性“数据”

express-jwt 和 express-graphql:错误 TS2339:“请求”类型上不存在属性“用户”