Ämne: JavaScript / jQueryPrev | Nästa
Svar: Använd likhetsoperatören (==)
I JavaScript om en variabel har deklarerats , men har inte tilldelats något värde, tilldelas värdet automatiskt undefined
. Därför, om du försöker visa värdet på en sådan variabel, kommer ordet ”odefinierad” att visas. Medan null
är ett speciellt tilldelningsvärde som kan tilldelas en variabel som en representation av inget värde.
Med enkla ord kan du säga en null
värde betyder inget värde eller frånvaro av ett värde, och undefined
betyder en variabel som har deklarerats men som ännu inte tilldelats ett värde.
För att kontrollera om en variabel är odefinierad eller null kan du använda likhetsoperatören ==
eller strikt likhetsoperator ===
(även kallad identitetsoperatör). Låt oss ta en titt på följande exempel:
Om du försöker testa null
värdena med typeof
operatör fungerar det inte som förväntat, eftersom JavaScript returnerar ”objekt” för typeof null
istället för ”null”.
Detta är ett långvarigt fel i JavaScript , men eftersom många koder på webben skrivs kring detta beteende och därmed fixar det skulle skapa mycket mer problem, så idén om att åtgärda problemet övergavs av kommittén som utformar och underhåller JavaScript.
Obs: undefined
är inte ett reserverat nyckelord i JavaScript, och det är således möjligt att deklarera en variabel med namnet undefined. Så rätt sätt att testa undefined
variabel eller egenskap är att använda operatorn typeof
, så här: if(typeof myVar === "undefined")
.
Relaterade frågor
Här är några fler vanliga frågor om detta ämne:
- Hur för att kontrollera om en variabel finns eller definieras i JavaScript
- Hur man kontrollerar om ett värde är numeriskt eller inte i jQuery
- Hur man kontrollerar om ett värde finns i en matris i JavaScript