Ci sono DUE cose che devi capire riguardo a undefined ...
- il tipo
undefined
che può avere solo un valore .
- la variabile
undefined
Ora leggi attentamente quanto segue ...
-
Ci sono così tanti valori di tipo number
(10, 10.01, 1e1). Ma può esserci solo un valore di tipo undefined
, e quel valore è memorizzato nella variabile% codice%. Quel valore non ha rappresentazione letterale - ad esempio, valori numerici undefined
, 1
, 100
sono tutti letterali di tipo numero, ma il valore memorizzato in la variabile 1e-1
non ha un formato letterale.
-
undefined
è una variabile, solo una variabile normale, che JavaScript dichiara e assegna a esso il valore di tipo undefined
nell'ambito globale. Quindi puoi fare tutto quanto segue ...
typeof undefined; // "undefined"
undefined = 100;
typeof undefined; // "number"
undefined = void 0;
typeof undefined; // "undefined"
window.undefined === undefined; // true
window.undefined === void 0; // true
- se non vuoi usare la variabile
undefined
, puoi generare il valore di tipo undefined
con l'espressione undefined
- il cui unico scopo è restituire un valore di tipo void 0
.
...can anyone please explain to me why this thing has been inserted into JavaScript...
NO. Proprio come nessuno può spiegare perché le variabili non dichiarate vadano a livello globale anziché locale.
Devi solo allenarti a elegante usarlo invece di cercare di trovare giustificazioni per la sua esistenza.
...we have null value...
Sebbene undefined
possa fare cose che fa null
, è più o meno correlato a undefined
piuttosto che a scalari. Infatti, JavaScript considera objects
stesso un oggetto - null
restituisce "oggetto".
A mio parere, la linea di fondo è NON provare a ragionare gli scopi assoluti di typeof null
e undefined
- e usarli nel tuo codice in modo intelligente, in modo che il tuo codice sia leggibile, mantenibile e riusabile.