javascript - 带有私有变量的 TypeScript 类声明错误
问题描述
如果我有这样的 TypeScript 类声明:
export class myClass {
constructor(public aVariable: number) {}
private aPrivateVariable: number;
}
然后尝试使用以下方法对其进行初始化:
let someVar: myClass[] = [{
aVariable: 3
}, {
aVariable: 2
}];
我收到一个错误(至少在 VS Code 中)说:
类型'{ aVariable: number; 中缺少属性'aPrivateVariable' }'。
为什么我不能这样做?
谢谢。
解决方案
export class myClass {
constructor(public aVariable: number) {}
private aPrivateVariable: number;
}
正确的方法是像这样初始化你的类:
const someVar: myClass[] = [
new myClass(3),
new myClass(2),
]
如果你不初始化你的类,那么你想从 中获取任何方法myClass
,你最终会得到对象强制转换为myClass
.
推荐阅读
- c# - 有没有办法在 C# 中解析 Outlook 中的“安全链接”URL?
- node.js - 将 Next js 部署到云端的问题
- tensorflow - 导入 Tensorflow 时如何解决“GraphKeys”属性错误?
- java - ESAPI 日志注入
- python-3.x - 在 Python 中不使用返回值是不好的做法/危险吗?
- kubernetes - 使用 aws elb 作为控制平面端点时,kubeadm init 失败
- sql - 如何使用 JOIN 在 Access 中指定应从中删除记录的表?
- reactjs - 如何在引导下拉列表中显示多列
- javascript - selectedHandlers 不是 nodejs 中的函数错误
- javascript - 将 json 对象数据与表头一起附加到表中