Búsqueda de sitios web

typescript - ¿Mutación del tipo Enum para números, pero no para cadenas?


cuando defino un enum así:

enum Dir {
    Up: 1,
    Down: 2
}

Y luego inicializa una variable con su tipo convertido al enum Dir:

let dir: Dir;
dir = 3

No obtengo ningún error. Pero cuando hago que el tipo de enumeración sea de cadena así,

enum Dir {
    Up: 'Up',
    Down: 'Down'
}

Y luego,

let dir: Dir;
dir = 'Left';

Obtengo un error de compilación. Pero en ambos casos, asigné un valor a la variable dir que no estaba presente en el enum. ¿Por qué comportamientos diferentes para los tipos número y cadena?