我已经创建了按比例缩小版本的问题。
该类必须初始化其“状态”属性的默认值。它是T型,可扩展由3种可能的字符串组成的乱抛垃圾类型“ PossibleStatus”。
Typescript不接受。你能帮我找出原因吗?
export type PossibleStatuses = 'idle' | 'on' | 'off';
export class StatefulNode<T extends PossibleStatuses> {
private status: T = 'idle';
constructor() { }
}
答案 0 :(得分:1)
以下代码演示了为什么无法启动状态(type X = 'on'
扩展了PossibleStatuses
但不包括'idle'
):
export type PossibleStatuses = 'idle' | 'on' | 'off';
export class StatefulNode<T extends PossibleStatuses> {
// Error
private status: T = 'idle';
}
// Because
const unsafe = new StatefulNode<'on'>();