В языках ECMAScript ||
- это оператор короткого замыкания, который будет возвращать результат выражения в левой части, если он получит истинное значение, или результат выражения в правой части в противном случае. Непустые строки всегда приводят к истинным значениям, поэтому здесь всегда будет возвращаться левое выражение. Эквивалентный длинный код для вашего примера:
if ("Statistiques")
CurrentState = "Statistiques";
else
CurrentState = "PartMarche";
Этот тип оператора короткого замыкания используется для установки значений по умолчанию для переменных в определенных ситуациях:
CurrentState = PreviousState || "Some string";
В этом примере, если PreviousState
равно нулю или ложно или пустой строке, CurrentState
будет установлено в значение "Некоторая строка". Если PreviousState
является строкой типа «Другая строка», CurrentState
будет иметь значение «Другая строка».