Sobes.tech
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 typeof grąž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 typeof klaidingai 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)