null?.length == 0
ist nicht true
sondern false
!
Will man also prüfen, ob ein Array null oder leer ist, muss man (anArrayOrNull ?? []).length == 0
testen:
const anArrayOrNull = null;
if ((anArrayOrNull ?? []).length == 0)
console.log('is empty');
else
console.log('has elements');
... oder -- kürzer -- nur auf anArrayOrNull?.length
(ohne ==
oder >
) prüfen, da 0 == true
tatsächlich false
ist, 1 == true
, 2 == true
, 3 == true
usw. hingegen alle true
sind:
const anArrayOrNull = null;
if (anArrayOrNull?.length)
console.log('has elements');
else
console.log('is empty');
Hinweis: -1 == true
ist false
; alles größer 0 ist true
, alles kleiner/gleich 0 ist false
.
#javascript