JS Kısa if hk.
JS'de minify kullandığımda kullandığım else if'leri
koşul && işlem || işlem || işlem şeklinde kısalttı
&& ne anlama geliyor ? işareti ile arasındaki fark ne
// Örnek olarak bu sıkıştırılmamış hali
document.querySelectorAll('.dropdown-btn').forEach((e) => {
e.addEventListener('click', () => {
document.querySelector(`#${this.dataset.target}`).classList.toggle('dropdown-show');
});
});
window.onclick = (event) => {
document.querySelectorAll('.dropdown-list').forEach((e) => {
if (e.classList.contains('dropdown-show')) {
if (!event.target.matches(`#${e.getAttribute('id')} li`) && !event.target.matches(
`#${e.getAttribute('id')} li a`) && !event.target.matches(
'.dropdown-btn')) {
e.classList.remove('dropdown-show');
}
}
});
}
// Buda Sıkıştırılmış hali
document.querySelectorAll('.dropdown-btn').forEach((e) => {
e.addEventListener('click', () => {
document.querySelector(`#${this.dataset.target}`).classList.toggle('dropdown-show');
});
}),
(window.onclick = (e) => {
document.querySelectorAll('.dropdown-list').forEach((t) => {
t.classList.contains('dropdown-show') && (e.target.matches(`#${t.getAttribute('id')} li`) || e.target.matches(`#${t.getAttribute('id')} li a`) || e.target.matches('.dropdown-btn') || t.classList.remove('dropdown-show'));
});
})
&&
ve anlamını taşır.
Eğer kendisinden önce gelen ifade VE kendisinden sonra gelen ifade ile işlem yapılacaksa bu ifade kullanılır.
Örneğin;
const age = 23;
const name = 'Beril'
const data = name == 'Melis' && age == 23
if (data) {
} else {
// burası çalışır. Çünkü iki koşuldan birisi eşleşmedi ve `false` döndü.
}
||
veya anlamını taşır.
Eğer kendisindem önce gelen ifade yok ise (null veya undefined ise mesela) kendisinden sonra yazılan ifadede yer alan değeri alır.
Örneğin;
let name = null
const data = name || 'Beril'
console.log(data) // name değişkeninin değeri boş olduğundan varsayılan olan 'Beril' değerini alır.