Канал о web-разработке. Новости IT, туториалы, веб-программирование и многое другое.
null.
if(amount === null) {
amount = 0;
}
if(value === undefined) {
value = 0;
}
console.log(amount); //0
console.log(value); //0
Для такой проверки так же отлично подойдет оператор логического сложения (||).
console.log(amount || 0); //0 console.log(value || 0); //0Если левая часть выражения является falsy-значением и приводится к
false, оператор ИЛИ вернет правую (дефолтную) часть.
WebDEV #советы #coding #jsfunction area() {
console.log('area');
}
function volume() {
console.log('volume');
}
if(type === 'square') {
area();
} else {
volume();
}
Вместо конструкции if вы можете смело использовать тернарный оператор:
(type === 'square' ? area : volume)()Важно: этот трюк не сработает, если вы вызываете методы объекта, которые работают с ключевым словом
this. После выполнения выражения внутри круглых скобок (выбор нужного метода) контекст вызова будет потерян и this перестанет ссылаться на нужный объект.
WebDEV #советы #coding #jsfunction doubleOf(value) {
return 2 * value;
}
Стрелочные функции позволяют ужать их до одной строки:
const doubleOf = (value) => 2 * valueВажно: не злоупотребляйте стрелочными функциями, ясность кода не должна приноситься в жертву его краткости. WebDEV #советы #coding #js
switch очень напоминает данный пример, с большим количеством условий.
switch (number) {
case 1:
return 'one';
case 2:
return 'two';
default:
return;
}
Однако здесь недостаточно проверки на равенство, нужно еще вернуть определенное значение. Поэтому вместо массива мы можем использовать объект (map).
const data = {
1: 'one',
2: 'two'
};
data[num]
Каждый ключ объекта однозначно соответствует определенному значению, но выглядит код компактнее, и его проще читать.
WebDEV #советы #coding #js