typescript - Ett uttryck av typen 'void' kan inte testas för sanningsvärde


Jag vill inte trycka på null, så jag sätter ett villkor för att kontrollera, men det finns ett syntaxfel som säger:

Ett uttryck av typen 'void' kan inte testas för sanningsvärde

Hur gör jag detta korrekt?

localStorage.setItem('todoitems', JSON.stringify(this.todoitems)) 
  ? localStorage.setItem('todoitems', JSON.stringify(this.todoitems)) 
  : [];

Svar #1

Eftersom setItem inte returnerar något, klagar den på att man använder en void-typ i en ternär operator där en boolean förväntas

Du kan lägga till ett if-villkor på this.todoitems innan setItem

if (this.todoitems !== null)
    localStorage.setItem('todoitems', JSON.stringify(this.todoitems))

Relaterade artiklar