Схема с ||
наиболее удобна для записи, но ее можно использовать ТОЛЬКО при значении фальси (undefined
, null
, 0
, ""
, false
, NaN
) не является законной ценностью.
Если вы хотите разрешить определенные значения Falsey и не разрешать другие, то вам нужно написать более конкретный код для обработки ваших конкретных случаев.Например, если вы хотите разрешить пустую строку, но не допускаете пустых или неопределенных или других значений Falsey, вам придется написать более конкретный код, например:
function test(value) {
if (value || value === "") {
this.value = value;
} else {
this.value = "(value not given)";
}
}
Или если вы хотите толькочтобы исключить только undefined
, вы можете проверить это специально:
function test(value) {
if (value === undefined) {
value = "(value not given)";
}
this.value = value;
}