я происхожу из C# и там огромная различались
A:JavaScript переключатель Performance (Integer) против переключателе (String)
var stringVal = "1";
switch (stringVal)
{
case "0" :
break;
case "1" :
break;
}
и
B:
var intVal = 1;
switch (intVal)
{
case 0 :
break;
case 1 :
break;
}
B намного быстрее в C# (причиной того, что String-Switch будет преобразован в if-else-структуру из компилятора).
похоже ли в JavaScript? (Разумеется, есть только номер типа в JS)
И - для удобства чтения - если я хочу использовать его с некоторым перечислением - «эквивалент» в JS (как описано здесь http://stijndewitt.com/2014/01/26/enums-in-javascript/), есть ли вообще улучшение производительности при использовании
var caseEnum = {
firstCase : 0,
secCase : 1
}
var enumVal = caseEnum.secCase ;
switch (enumVal)
{
case caseEnum.firstCase :
break;
case caseEnum.secCase :
break;
}
?
(я знаю, что я мог бы сделать это с литералов объектов, но ключ-оператор с целочисленными более естественно для меня)
"? Есть ли в JavaScript похож" Зависит от реализации интерпретатора. –
Это, вероятно, * быстрее использовать целые числа, но JIT - загадочная вещь. Если есть сомнения, профиль. – Veedrac