打字稿显示不能设置未定义的属性,如何解决

Typescript showing can not set property of undefined, how to solve it?

本文关键字:何解决 解决 属性 显示 不能 未定义 设置      更新时间:2023-09-26

我有一个接口:

interface IGroup{
    groupNumber:number;
    groupMembers:Array<ISeatPlanGroup>;
    totalStudentNumber:number;
  }

当,我尝试在groupNumber中赋值时,编译器说,不能设置undefined的属性。

              var group: IGroup;
              group.groupNumber = groupArr[i].groupNo;
              group.groupMembers=[];
              group.groupMembers.push(groupArr[i]);
              group.totalStudentNumber = 0;
              group.totalStudentNumber+=groupArr[i].studentNumber;

我也尝试初始化

group.groupNumber = 0;

不过,还是有错误的。如何解决?

通过提供类型,您无需初始化对象以初始化对象

var group: any= {}

var group: IGroup; 不会创建任何对象,它只是说group可以容纳什么类型的引用。 group以值 undefined 开头。

您必须将对象分配给实现IGroupgroup。例如,假设您有一个实现IGroupGroup类。然后你会这样做:

var group: IGroup = new Group();

当然,你的实际类名可能不Group,实际类的构造函数可能需要参数,但从根本上说,问题是你没有为group分配一个对象。