Soy novato en Typescript y estoy confundido por el Javascript generado a continuación.
Texto mecanografiado original:
enum DaysOfTheWeek { SUN, MON, TUE, WED, THU, FRI, SAT }; let day: DaysOfTheWeek; day=DaysOfTheWeek.MON; if (day === DaysOfTheWeek.MON) { console.log("Got to go to work!"); }Javascript generado:
var DaysOfTheWeek; (function(DaysOfTheWeek) { DaysOfTheWeek[DaysOfTheWeek["SUN"] = 0] = "SUN"; DaysOfTheWeek[DaysOfTheWeek["MON"] = 1] = "MON"; DaysOfTheWeek[DaysOfTheWeek["TUE"] = 2] = "TUE"; DaysOfTheWeek[DaysOfTheWeek["WED"] = 3] = "WED"; DaysOfTheWeek[DaysOfTheWeek["THU"] = 4] = "THU"; DaysOfTheWeek[DaysOfTheWeek["FRI"] = 5] = "FRI"; DaysOfTheWeek[DaysOfTheWeek["SAT"] = 6] = "SAT"; })(DaysOfTheWeek || (DaysOfTheWeek = {})); ; var day; day = DaysOfTheWeek.MON; if (day === DaysOfTheWeek.MON) { console.log("Got to go to work!"); }Preguntas:
La var DaysOfTheWeek no parece ser una matriz. Por lo que entiendo, una matriz necesita una instancia de matriz vacía como la siguiente:
varar = [];
Las matrices solo usan index. Sin embargo, tenemos DaysOfTheWeek[DaysOfTheWeek["SUN"] = 0] = "SUN"; ¿Parece matrices asociativas? ¿Alguien puede explicar lentamente en pasos?
DaysOfTheWeek[DaysOfTheWeek["SUN"] = 0] = "SUN"; -- breaking it down below 1. DaysOfTheWeek["SUN"] = 0 -- seems like assigning key "SUN" with value 0? 2. DaysOfTheWeek[DaysOfTheWeek["SUN"] = 0] = "SUN" -- this part confuses me!!En la función (DaysOfTheWeek) en sí, estoy confundido con la construcción stmt B en la parte inferior de esta función. ¿Qué es esto?
Agradezco cualquier ayuda.