Sådan kontrolleres det, om en værdi ikke er nul og ikke tom streng i JS
Er der nogen mulighed for at kontrollere, om en værdi ikke er nul og ikke tom streng i Javascript? I'm bruger den følgende:
var data; //get its value from db
if(data != null && data != '') {
// do something
}
Men I'm spekulerer på, om der er en anden bedre løsning. Tak.
56
3
Hvis du virkelig ønsker at bekræfte, at en variabel ikke er nul og ikke en tom streng, skal du skrive:
Bemærk, at jeg har ændret din kode til at kontrollere for type lighed (
!==
|===
).Hvis du derimod bare vil sikre dig, at en kode kun kører for "rimelige" værdier, så kan du, som andre allerede har nævnt, skrive:
Da i javascript er både nulværdier og tomme strenge lig med false (dvs.
null == false
).Forskellen mellem disse 2 kodedele er, at i den første del af koden vil enhver værdi, der ikke specifikt er nul eller en tom streng, indgå i
if
. Men i den anden del vil alle sande værdier indgå iif
:false
,0
,null
,undefined
og tomme strenge vil ikke indgå iif
.Både
null
og en tom streng er falske værdier i JS. Derfor er,er fuldt ud tilstrækkeligt.
En note ved siden af dog: Jeg ville undgå at have en variabel i min kode, der kan manifestere sig i forskellige typer. Hvis dataene i sidste ende vil være en streng, så ville jeg i første omgang definere min variabel med en tom streng, så du kan gøre dette:
uden at null (eller andre mærkelige ting som
data = "0"
) kommer i vejen.Både null og empty kan valideres på følgende måde: