Когда вы заявляете, что-то типа NubDirection
, то это на самом деле номер:
var a = NubDirection.INWARD;
console.log(a === 1); // true
При доступе к перечислению с помощью порядковых вы получите обратно строки и не число, а из-за того, что вы не может назначить его тому, что было объявлено как NubDirection
.
Вы можете сделать:
nub.direction = NubDirection[NubDirection[index]];
Причина этого заключается в том, что нет такого понятия, как перечисление в JavaScript, и способ машинопись подражает перечисления, делая это при составлении его ЯША:
var NubDirection;
(function (NubDirection) {
NubDirection[NubDirection["OUTWARD"] = 0] = "OUTWARD";
NubDirection[NubDirection["INWARD"] = 1] = "INWARD";
})(NubDirection || (NubDirection = {}));
Таким образом, вы в конечном итоге с этим объектом:
NubDirection[0] = "OUTWARD";
NubDirection[1] = "INWARD";
NubDirection["OUTWARD"] = 0;
NubDirection["INWARD"] = 1;
что 'nub', недостающую информацию. –
Должно быть очевидно, но я добавлю его ... – Jackie
сейчас, не было до первого редактирования –