Перечисления в TypeScript: что делает код JavaScript?
Следующий TypeScript:
enum PrimaryColors { Red, Green, Blue };
Создает следующий JavaScript:
var PrimaryColors;
(function (PrimaryColors) {
PrimaryColors[PrimaryColors["Red"] = 0] = "Red";
PrimaryColors[PrimaryColors["Green"] = 1] = "Green";
PrimaryColors[PrimaryColors["Blue"] = 2] = "Blue";
})(PrimaryColors || (PrimaryColors = {}));
;
Мне стыдно признаться, что я не понимаю, что делает JavaScript.
Функция в скобках присваивает строковые значения, используя другое присваивание в качестве индекса / ключа. Я не видел ничего подобного раньше.
И какова цель (PrimaryColors || (PrimaryColors = {}) после функции?
Если ответ заключается в том, чтобы правильно выучить JavaScript, я с готовностью приму его, при условии, что он снабжен предлагаемым источником, который четко объясняет, что я вижу здесь.