Possiamo salvare lo stato degli oggetti JavaScript nel web storage.
Consideriamo l'esempio base dell'aggiunta e della sottrazione a e da un totale:
'use strict';
class Order {
constructor() {
this.total = 0.00;
this.storage = sessionStorage;
this.save(this.total);
}
save(total) {
this.storage.setItem('total', total);
}
add(amount) {
this.total += amount;
this.save(this.total);
}
sub(amount) {
this.total -= amount;
this.save(this.total);
}
get() {
return parseFloat(this.storage.getItem('total'));
}
}
In pratica ogni volta che il valore iniziale viene incrementato o decrementato lo salviamo nel web storage. In questo modo ci assicuriamo che il valore dell'oggetto mantenga sempre il suo stato.