A class that holds fields with getters and setters but no behavior — and consumers do all the operations on it externally.
Behavior that belongs with the data lives on the class; the class becomes a real domain object.
Smellier version
class Address { street; city; zip; }function format(a) {return `${a.street}, ${a.city} ${a.zip}`;}
Fresher version
class Address {format() {return `${this.street}, ${this.city} ${this.zip}`;}}
Domain logic gets scattered to consumers; the class's data invariants aren't enforced; encapsulation is theater.
Pulling behavior onto the data class can create circular dependencies (the class now needs collaborators the original consumers had); the migration touches every consumer that did the work externally.
Invariants are enforceable; consumers write less domain plumbing; tests target the class itself.
Attaching every operation that touches the class onto the class — including operations that genuinely belong to a use case, a service, or a different domain — turns the data class into a god object.