Канал о web-разработке. Новости IT, туториалы, веб-программирование и многое другое.
false, и truthy (правдивые), которые преобразуются в true.
if (first !== null || first !== undefined || first !== '') {
let second = first;
}
Благодаря этому механизму нет нужды проверять на null, undefined и пустую строку отдельно – каждое из этих значений falsy, то есть преобразуется в false.
const second = first || '';Вместо этого можно просто воспользоваться оператором логического сложения
||. Он вернет левое значение, если оно истинно, или правое в ином случае. Другими словами, правая часть выражения является значением по умолчанию.
WebDEV #советы #coding #jsif(obj && obj.address && obj.address.postalCode) {
console.log(obj.address.postalCode)
}
Укоротим эту кучу кода с помощью оператора опциональной последовательности ?. (optional chaining).
console.log(obj?.address?.postalCode);Он делает то же самое, но гораздо элегантнее. WebDEV #советы #coding #js
||) возвращает true, если хотя бы одно из условий истинно. Это очень полезная штука, но когда условий много, код выглядит неаккуратно:
if (fruit === 'apple' || fruit === 'orange' || fruit === 'banana' || fruit ==='grapes') {
// код
}
Вместо использования дизъюнкции мы можем собрать все проверяемые значения в массив и воспользоваться встроенным методом Array.prototype.includes.
if (['apple', 'orange', 'banana', 'grapes'].includes(fruit)) {
// код
}
Он вернет true, если аргумент совпадает хотя бы с одним элементом массива – именно то, что нам нужно. Это решение более наглядно и намного проще масштабируется при увеличении количества условий.
WebDEV #советы #coding #jsObject.entries(), Object.keys() и Object.values().
const obj = { a: 1, b: 2, c: 3 };
Object.entries(obj);
// Output
// (3) [Array(2), Array(2), Array(2)]
// 0: (2) ["a", 1]
// 1: (2) ["b", 2]
// 2: (2) ["c", 3]
// length: 3
Object.keys(obj);
// (3) ["a", "b", "c"]
Object.values(obj);
// (3) [1, 2, 3]
WebDEV #советы #coding #jsfunction checkPalindrome(str) {
return str == str.split('').reverse().join('');
}
checkPalindrome('naman');
// Output: true
WebDEV #советы #coding #js