让我们在typescript中定义类:
class User {
public id: number;
public name: string;
public toString(): string{
return name + id;
}
}如何在TypeScript中区分类和普通对象?
const user1: User = new User();
const user2: User = {id: 1, name: 'John'};这两种方法在TypeScript中都是有效的,但是user1是类实例,user2是对象。
我之所以问这个问题,是因为我正在体验TypeORM包的问题,在那里我混合了对象和实体实例,它开始变得非常混乱,我不总是确定我是有类、实例还是对象。
发布于 2020-02-19 01:53:38
回答:
如何在TypeScript中区分类和普通对象?
您可以使用instanceof来区分这两者:
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/instanceof
例如,对于user2,user1 instanceof User应该是真的,但不是。
发布于 2020-02-19 02:07:04
方法1:
你可以使用instanceof User来检查它是否是这个类的实例。
方法2:
我正在使用class-transformer来处理这样的场景,在将数据发送到存储库之前,使用
plainToClass方法将实例转换为类。
https://stackoverflow.com/questions/60286755
复制相似问题