No change required, but a minor comment: the if / else here end up lengthy, would improve readability and kill 5 extra lines (10 in this scope, since you do it twice) with something like...

    result += (this.name !== null) ? this.name : "-";