Problem polega na tym, że wywołanie gettera może powodować skutki uboczne, np.
class Dog {
get paws() {
console.log('paws!'); //side effect
this.paws++; // side effect
if(this.paws > 4) {
throw Error('oh no'); // side effect
}
return this.paws;
}
}
Każdy użytkownik może zmienić stan aplikacji lub ją złamać podczas próby debugowania. Właśnie dlatego DevTools prosi o ręczne wywołanie tych sprzężeń. Nawet jeśli twój getter zwróci wartość statyczną, DevTools nie ma takiej możliwości.
Jeśli naprawdę chcesz, aby wywołać wszystkie pobierające i mieć szybki przegląd wartości, można stworzyć sobie pomocnika:
class Dog {
get _debug() {
return {
paws: this.paws,
//...
};
}
}
Spowoduje to dodanie nowego getter, który wykonuje wszystkie inne pobierające dla Ciebie i podać swoje wartości za pomocą jednego kliknięcia (zamiast n kliknięć).
nie jestem w stanie dodać getter do tych obiektów choć. Nie są to klasy/przedmioty, które sam stworzyłem. – ddschmitz