假设我们有以下类:
class A {
private maxValue = 900;
public minValue = 800;
someMethod() {}
}
我想用类类型定义创建一个普通对象:
const objA: A = {
minValue: 200,
maxValue: 2313,
someMethod() {}
};
我收到此错误:
属性 'maxValue' 在类型 'A' 中是私有的,但在类型 '{ minValue: number; 中不是私有的。最大值:数字;一些方法():无效;}
问题是:以这种方式创建对象有意义吗?还是我应该一直坚持new A()
不,这没有太大意义。如果您检查objA instanceof A
它会返回false
,尽管您的代码声明它将是类 A 的实例。正如您所看到的,普通对象不能具有私有属性,而类实例可以。所以最好坚持new A()
或使用接口。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句