Sobes.tech
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