Szukam utworzyć tablicę asocjacyjną w JS, ale użyj stałych zdefiniowanych jako część klasy jako indeksy.Używanie stałych jako wskaźników dla tablic asocjacyjnych JavaScript
Powodem, dla którego chcę, jest to, aby użytkownicy klasy mogli używać stałych (które definiują zdarzenia) do wyzwalania akcji.
Niektóre kodu do zilustrowania:
STATE_NORMAL = 0;
STATE_NEW_TASK_ADDED = 0;
this.curr_state = STATE_NEW_TASK_ADDED;
this.state_machine = {
/* Prototype:
STATE_NAME: {
EVENT_NAME: {
"next_state": new_state_name,
"action": func
}
}
*/
STATE_NEW_TASK_ADDED : { // I'd like this to be a constant
this.EVENT_NEW_TASK_ADDED_AJAX : {
"next_state": STATE_NEW_TASK_ADDED,
"action" : function() {console.log("new task added");},
}
}
}
// Public data members.
// These define the various events that can happen.
this.EVENT_NEW_TASK_ADDED_AJAX = 0;
this.EVENT_NEW_TASK_ADDED_AJAX = 1;
Mam kłopot to zadziałało. Nie jestem zbyt świetny w JS, ale wygląda na to, że bez względu na to, co robię, tablica zostanie zdefiniowana za pomocą ciągów, a nie stałych. Czy istnieje sposób zmuszenia tablicy do użycia stałych?
Dzięki!
Dzięki! Uratowałeś mi dużo czasu. – Mihir
Ah, ES6 jest świetny –