Τι κάνει ο τελεστής διπλής θαυμαστικής στη γλώσσα προγραμματισμού;
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 λειτουργιών και των συνθηκών.