Sobes.tech
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.