gpt4 book ai didi

node.js - Typescript 接口(interface)[] 与 [接口(interface)]

转载 作者:太空宇宙 更新时间:2023-11-03 23:23:52 28 4
gpt4 key购买 nike

我正在尝试将 Article 数组分配给我的 Mongoose 文档,但 Typescript 似乎不喜欢这样,我不知道为什么它显示此警告/错误,表明它不可分配.

我的 Mongoose 模式和接口(interface)(简化):

interface Profile {
username: string,
articles: [Article]
}

interface Article {
index: number,
name: string,
}

// Mongoose model
export interface IProfile extends Profile, Document { }
const Article = new Schema({
index: { type: Number, required: true },
name: { type: String, required: true },
}, { _id: false })

const Profile = new Schema({
username: { type: String, index: true },
upcomingChests: { type: [Article] },
}, { timestamps: true })

export const Profile = model<IProfileModel>('IProfile', Profile)

我的代码尝试分配文章:

const profile: Profile = values[0]
const articles: Array<Article> = values[1]
profile.articles = articles // Error/Warning pops up in this line

[ts] Type 'Article[]' is not assignable to type '[Article]'.
Property '0' is missing in type 'Article[]'.

我的问题:

为什么说它不可分配?[Article] 和 Article[] 之间有什么区别?

最佳答案

[Article]意味着不同的东西:a tuple输入 1 个 Article 元素。

您可能想使用Article[] ,与Array<Article>相同的类型.

关于node.js - Typescript 接口(interface)[] 与 [接口(interface)],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46763165/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com