ZS

подскажите
как описать в классе методы или геттеры/сеттеры
чтобы у меня на выходе получилось возможным делать такое
const threadExample = new Thread( { tId: 1, items: [] });
threadExample.details.total; // выведет 0
threadExample.items.push({..})
и чтобы после этого
threadExample.details.total; // выведил 1
то есть чтоб details.total был всегда пересчитывался
я могу такое сделать если понасоздавать разных методов и свойств в конструкторе
но мне надо чтоб инстанс не хранил больше никаких свойств