a = 2,
b = 3,
}
type EnumValues = 2 | 3;
const constExtendsNumber: EnumValues extends number ? "true" : "false" = "true";
const numberExtendsConst: number extends EnumValues ? "true" : "false" = "false";
const enumExtendsNumber: TestEnum extends number ? "true" : "false" = "true";
const numberExtendsEnum: number extends TestEnum ? "true" : "false" = "true"; /// ????
let a : TestEnum;
// a = 7000; //Неа, ошибка.
const b : number = 70000;
a = b; // Ошибки нет, WTF?????????
это известный прекол что в числовой енам можно любое число запихать, так сделано для поддержки битовых полей
Обсуждают сегодня