gpt4 book ai didi

javascript - 无法设置未定义的属性 'someProperty' - Angular Typescript

转载 作者:行者123 更新时间:2023-12-01 02:02:46 25 4
gpt4 key购买 nike

我有一个类 Article,它具有 Image 类型的属性,如下所示:

export class Article {
public image:Image;
public images: Image[];
}

如果我像这样评论this.article.image = new Image();:

constructor()
{
this.article = new Article();
//this.article.image = new Image();
}

如果我稍后尝试在代码中使用 this.image,例如:

 this.article.image.fileName = file.name;

我会收到以下错误:

ERROR TypeError: Cannot set property '..' of undefined

但我意识到,当我尝试向数组中添加某些内容时,例如:

this.article.images.push(something);

我没有收到错误!而且我想知道为什么在使用数组时没有收到错误(即使我没有说 this.article.images = new Images [].. ,以及为什么当我使用简单对象/非数组时出现错误..

最佳答案

我猜错误代码中的 .. 表示 fileName

您实际上自己解释了错误。

If I comment this.article.image = new Image();

您删除了图像的创建,因此,this.article.image 未定义。

因此,通过使用 this.article.image.fileName,您正在尝试访问 undefined 的属性 fileName

但是,对于属性images,方法.push()已经存在,因为它是由Array定义的方法,已知感谢声明:

public images: Image[];

关于javascript - 无法设置未定义的属性 'someProperty' - Angular Typescript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50410416/

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