Sobes.tech
Junior

Τι κάνει ο τελεστής διπλής θαυμαστικής στη γλώσσα προγραμματισμού;

sobes.tech AI

Απάντηση από AI

Μετατρέπει μια τιμή σε boolean. Ισούται με την διπλή εφαρμογή του τελεστή όχι (!).

Το πρώτο ! μετατρέπει την τιμή σε τύπο boolean, αντιστρέφοντάς την. Για παράδειγμα, μια μη κενή συμβολοσειρά 'abc' γίνεται false, και το 0 γίνεται true. Το δεύτερο ! αντιστρέφει το αποτέλεσμα του πρώτου, επιστρέφοντας την αρχική boolean αναπαράσταση της τιμής. Έτσι, 'abc' γίνεται true, και το 0 γίνεται false.

Παραδείγματα σε JavaScript:

// Μετατροπή μη κενής συμβολοσειράς
console.log(!!'γεια'); // true

// Μετατροπή του αριθμού 0
console.log(!!0); // false

// Μετατροπή του null
console.log(!!null); // false

// Μετατροπή του undefined
console.log(!!undefined); // false

// Μετατροπή κενής λίστας
console.log(!![]); // true

// Μετατροπή κενής αντικειμενικής δομής
console.log(!!{}); // true

Παραδείγματα σε Python (αν και στην Python δεν υπάρχει ο εγγενής τελεστής !!, μπορεί να εξομοιωθεί η συμπεριφορά του):

# Εξομοίωση με bool()
print(bool('γεια')) # True
print(bool(0))     # False
print(bool([]))    # True
print(bool({}))    # True

# Εξομοίωση με not not
print(not not 'γεια') # True
print(not not 0)     # False
print(not not [])    # True
print(not not {})    # True

Ο κύριος στόχος είναι η ρητή μετατροπή σε boolean, που συχνά χρησιμοποιείται για τον έλεγχο της "truthiness" (αληθινότητας) μιας τιμής στο πλαίσιο των boolean λειτουργιών και των συνθηκών.