Sobes.tech
Junior

Šta radi operator duplog uzvičnika u programskom jeziku?

sobes.tech АИ

Одговор од АИ

Pretvara vrednost u boolean. Ekvivalentno je dvostrukom primeni operatora ne (!).

Prvi ! pretvara vrednost u boolean tip i invertuje je. Na primer, neprazan string 'abc' postaje false, a 0true. Drugi ! invertuje rezultat prvog, vraćajući originalni boolean prikaz vrednosti. Tako 'abc' postaje true, a 0false.

Primeri u JavaScript-u:

// Pretvaranje nepraznog stringa
console.log(!!'zdravo'); // true

// Pretvaranje broja 0
console.log(!!0); // false

// Pretvaranje null
console.log(!!null); // false

// Pretvaranje undefined
console.log(!!undefined); // false

// Pretvaranje praznog niza
console.log(!![]); // true

// Pretvaranje praznog objekta
console.log(!!{}); // true

Primeri u Python-u (iako u Python-u nema nativni operator !!, može se emulirati):

# Emulacija pomoću bool()
print(bool('zdravo')) # True
print(bool(0))       # False
print(bool([]))      # True
print(bool({}))      # True

# Emulacija pomoću not not
print(not not 'zdravo') # True
print(not not 0)       # False
print(not not [])      # True
print(not not {})      # True

Glavni cilj je eksplicitno pretvaranje u boolean, često korišćeno za proveru "truthiness" (istinitosti) vrednosti u kontekstu boolean operacija i uslovnih struktura.