Недавно я искал способ переписать некрасивый оператор switch / case и наткнулся на эту статью Medium .
Я переписал свой switch / case в функцию es6, например:
const url = category => ({
'itemA': itemAService.getItemCategories(payload),
'itemB': itemBService.getItemCategories(payload),
})[category]
Когда я вызываю эту функцию с чем-то вроде const response = url(category);
, она работает, и это здорово!Но потом мне стало интересно, что именно означает [category]
в конце функции.Я подумал, что, может быть, это была функция с немедленным вызовом, но это тоже не совсем верно.
В статье упоминается, что это объектный литерал, но когда я пошел в документы MDN, я не смог найти ничего, что объясняло бычто это такое или что он делает, или даже любые примеры, которые демонстрируют эту же вещь.
Так что же он делает?