如果我定义了let bar: Bar;
并赋值给bar = initialFooConfig;
,那么bar
仍然是Bar类型和一个对象吗?或者它现在是一个文字表示法中的对象吗?
只要这种赋值是可能的,反之亦然(假设initialFooConfig
不是const),initialFooConfig
和initialBarConfig
之间有什么区别?
interface IFoo {
code: number;
name: string;
}
export const initialFooConfig: IFoo = {
code: 12,
name: "bar"
}
class Bar implements IFoo {
code: number;
name: string;
constructor(code: number, name: string) {
this.code = code;
this.name = name;
}
}
export const initialBarConfig = new Bar(12,"bar");
字符串
1条答案
按热度按时间ars1skjm1#
Typescript看不出IFoo和Bar之间有任何区别,因为它们完全相同。
字符串
所以你可以用各种可能的方式分配它们。
在运行时,它们的值将是您认为合适的任何值,您可以使用
型
来判断它是否是类示例的对象
如果你不想让一个可赋值的对象被赋值给类,使用
型