Sobes.tech
Junior

Wat doet de dubbele uitroepteken-operator in de programmeertaal?

sobes.tech AI

Antwoord van AI

Zet een waarde om in een boolean. Het is gelijk aan het twee keer toepassen van de niet (!) operator.

De eerste ! zet de waarde om naar een boolean, en keert deze om. Bijvoorbeeld, een niet-lege string 'abc' wordt false, en 0 wordt true. De tweede ! keert het resultaat van de eerste om, en geeft de oorspronkelijke boolean-weergave van de waarde terug. Zo wordt 'abc' true, en 0 false.

Voorbeelden in JavaScript:

// Omzetten van een niet-lege string
console.log(!!'hallo'); // true

// Omzetten van het getal 0
console.log(!!0); // false

// Omzetten van null
console.log(!!null); // false

// Omzetten van undefined
console.log(!!undefined); // false

// Omzetten van een lege array
console.log(!![]); // true

// Omzetten van een leeg object
console.log(!!{}); // true

Voorbeelden in Python (hoewel Python geen native !! operator heeft, kan het gedrag worden geëmitteerd):

# Emulatie met bool()
print(bool('hallo')) # True
print(bool(0))       # False
print(bool([]))      # True
print(bool({}))      # True

# Emulatie met not not
print(not not 'hallo') # True
print(not not 0)       # False
print(not not [])      # True
print(not not {})      # True

Het hoofddoel is de expliciete conversie naar boolean, die vaak wordt gebruikt om de "truthiness" van een waarde te controleren in de context van booleaanse operaties en conditionele structuren.