Junior
Ποια είναι η διαφορά μεταξύ null και undefined;
sobes.tech AI
Απάντηση από AI
Το undefined δείχνει την απουσία ανατεθειμένης τιμής. Η μεταβλητή έχει δηλωθεί, αλλά δεν της έχει ανατεθεί καμία τιμή. Είναι το αποτέλεσμα πρόσβασης σε μια ιδιότητα ή στοιχείο πίνακα που δεν υπάρχει.
Το null είναι μια ρητή ανάθεση της τιμής "απουσία τιμής". Ο προγραμματιστής δηλώνει σκόπιμα ότι η μεταβλητή ή η ιδιότητα ενός αντικειμένου δεν έχουν τιμή. Είναι ένα αντικείμενο, αλλά όχι primitive τύπου (αν και το typeof null επιστρέφει 'object', κάτι που είναι σφάλμα στην ιστορία της γλώσσας).
// undefined
let x;
console.log(x); // undefined
const obj = {};
console.log(obj.prop); // undefined
// null
let y = null;
console.log(y); // null
const obj2 = { prop: null };
console.log(obj2.prop); // null