Ποιο είναι το σωστό;
if (myObj['key'] == undefined)
ή
if (myObj['key'] == null)
ή
if (myObj['key'])
Δοκιμάστε τον τελεστή JavaScript in.
if ('key' in myObj)
Και το αντίστροφο.
if (!('key' in myObj))
Προσοχή! Ο τελεστής in
ταιριάζει με όλα τα κλειδιά του αντικειμένου, συμπεριλαμβανομένων εκείνων στην αλυσίδα πρωτοτύπων του αντικειμένου.
Χρησιμοποιήστε myObj.hasOwnProperty('key')
για να ελέγξετε τα δικά του κλειδιά ενός αντικειμένου'και θα επιστρέψει true
μόνο αν το key
είναι διαθέσιμο στο myObj
άμεσα:
myObj.hasOwnProperty('key')
Αν δεν έχετε κάποιο συγκεκριμένο λόγο να χρησιμοποιήσετε τον τελεστή in
, η χρήση του myObj.hasOwnProperty('key')
παράγει το αποτέλεσμα που αναζητά ο περισσότερος κώδικας.
Θα πρέπει να χρησιμοποιήσετε το hasOwnProperty
. Για παράδειγμα:
myObj.hasOwnProperty('myKey');