Junior
Dasturlash tilida ikkita ajib belgi operatori nima qiladi?
sobes.tech AI
AIdan javob
Qiymatni booleanga aylantiradi. Bu ikki marta ! operatorini qoʻllashga teng.
Birinchi ! qiymatni boolean turiga aylantiradi va uni teskari qiladi. Masalan, bo'sh bo'lmagan satr 'abc' false ga, 0 esa true ga aylanadi.
Ikkinchi ! birinchi natijani teskari qiladi va qiymatning asl boolean ifodasini qaytaradi. Shunday qilib, 'abc' true, 0 esa false bo'ladi.
JavaScript misollari:
// Bo'sh bo'lmagan satrni aylantirish
console.log(!!'salom'); // true
// 0 raqamini aylantirish
console.log(!!0); // false
// null ni aylantirish
console.log(!!null); // false
// undefined ni aylantirish
console.log(!!undefined); // false
// Bo'sh massivni aylantirish
console.log(!![]); // true
// Bo'sh obyektni aylantirish
console.log(!!{}); // true
Python misollari (Pythonda !! operatori mavjud emas, uni emulyatsiya qilish mumkin):
# bool() yordamida emulyatsiya
print(bool('salom')) # True
print(bool(0)) # False
print(bool([])) # True
print(bool({})) # True
# not not yordamida emulyatsiya
print(not not 'salom') # True
print(not not 0) # False
print(not not []) # True
print(not not {}) # True
Asosiy maqsad — qiymatni aniq boolean turiga aylantirish, bu odatda qiymatning "haqiqat" (truthiness) holatini tekshirish uchun ishlatiladi, ayniqsa boolean operatsiyalar va shartli tuzilmalar kontekstida.