Junior
Išsamiau paaiškinkite null ir undefined reikšmes JavaScript.
sobes.tech AI
Atsakymas iš AI
-
neapibrėžtas:- Implicitiškai priskirta reikšmė deklaruotoms, bet neinicijuotoms kintamosioms.
- Taip pat grąžinama iš funkcijų, kurios aiškiai negrąžina jokios reikšmės.
- Tai yra pagrindinis duomenų tipas.
- Operatorius
typeofgrąžina eilutę"undefined".
-
null:- Aiškiai priskirta reikšmė kintamajam, žyminti, kad nėra objekto.
- Reprezentuoja tyčinį objekto reikšmės nebuvimą.
- Tai yra pagrindinis duomenų tipas, tačiau operatorius
typeofklaidingai grąžina"object"(istorinė klaida).
| Savybė | neapibrėžtas |
null |
|---|---|---|
| Kilmė | Sisteminis (netiesioginis) | Kūrėjo (aiškus) |
| Tipas | Priminis | Priminis (nors typeof - object) |
| Reikšmė | Neinicijuotas kintamasis | Objekto nebuvimas |
// Neapibrėžto pavyzdys
let neapibrėžtasKintamasis;
console.log(neapibrėžtasKintamasis); // undefined
function beReikšmės() {
// nėra return
}
console.log(beReikšmės()); // undefined
console.log(typeof neapibrėžtasKintamasis); // undefined
// null pavyzdys
let objektasKintamasis = null;
console.log(objektasKintamasis); // null
console.log(typeof objektasKintamasis); // object (istorinė klaida)