Sin error en valor fuera del enum de TypeScript
Esperaba que esto pudiera producir un error en tiempo de compilación, pero supongo que simplemente he entendido mal cómo funcionan los enums...
enum SortDirection {
ascending = 1,
descending = -1
}
type IndexSpec = {[index: string]: SortDirection};
var i: IndexSpec = {thing: 3}; // no compile time error
Respuesta #1
Todos los valores numéricos se consideran valores de enumeración de valor.
Esto está permitido porque no hay distinción entre enumeraciones con bandera y sin bandera:
enum MyFlags {
Cool = 0x1,
Awesome = 0x2,
Neat = 0x4
}
var i: MyFlags = 5; // Cool | Neat
