Mi sono sempre chiesto come JavaScript memorizza internamente i valori null
. null
è diverso da qualsiasi valore. Immagino che le variabili dell'oscilloscopio siano memorizzate in una sorta di matrice di strutture, ogni struttura corrispondente a una variabile. Questa struttura ha qualche tipo di proprietà booleana chiamata "null"?In che modo JavaScript memorizza valori null internamente?
vorrei cercare io stesso nel codice sorgente V8, ma sto sto abbastanza perso nel codice C++ :(
non ho trovato nulla su Google. La maggior parte dei risultati sono stati correlate a domande del tipo "Come determinare se la variabile è indefinita o nulla? "o simile
Probabilmente dipende dall'interprete, anche se sarei sorpreso di apprendere che si trattava di qualcosa di molto diverso dal semplice zero. Non è davvero un dettaglio importante. – Pointy
Ricorda che ci sono diversi valori "falsy": null, undefined, false, 0, ecc. Più probabile, c'è un campo "type" su ogni variabile che indica se il valore è nullo, indefinito, un numero, un booleano, un oggetto, ecc. – cdhowie
@Pointy Certo, dipende dall'interprete. Se memorizzasse valori nulli come zero, allora perché '(null === 0)' restituisce 'false'? –