【发布时间】:2019-07-05 19:45:48
【问题描述】:
在 TypeScript 中,如果该对象提供类所需的所有属性和方法,则可以将对象字面量分配给类类型变量。
class MyClass {
a: number;
b: string;
}
// Compiler won't complain
const instance: MyClass = { a: 1, b: '' };
// Compiler won't complain if I assign an object with more properties
const literal = { a: 1, b: '', c: false };
const instance2: MyClass = literal;
我在这里要做的是基于两个原因防止这种分配:
-
instance instanceof MyClass应该是真的; - 我可以分配具有更多属性的对象(见上文)。
通过这种方式,TypeScript 类更像是一个接口。有什么办法可以防止这种情况发生吗?
【问题讨论】:
-
基于问题的其余部分,我猜在第 2 点您的意思更像是“我不想允许分配具有更多属性的对象“?
-
@ecraig12345 是的,你完全正确!
标签: typescript