首页 > 解决方案 > 带有私有变量的 TypeScript 类声明错误

问题描述

如果我有这样的 TypeScript 类声明:

export class myClass {
  constructor(public aVariable: number) {}
  private aPrivateVariable: number;
}

然后尝试使用以下方法对其进行初始化:

let someVar: myClass[] = [{
  aVariable: 3
}, {
  aVariable: 2
}];

我收到一个错误(至少在 VS Code 中)说:

类型'{ aVariable: number; 中缺少属性'aPrivateVariable' }'。

为什么我不能这样做?

谢谢。

标签: javascripttypescriptvisual-studio-code

解决方案


export class myClass {
   constructor(public aVariable: number) {}
   private aPrivateVariable: number;
}

正确的方法是像这样初始化你的类:

const someVar: myClass[] = [
    new myClass(3),
    new myClass(2),
]

如果你不初始化你的类,那么你想从 中获取任何方法myClass,你最终会得到对象强制转换为myClass.


推荐阅读