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