What if we did:

    incomplete = Array(Math.max(0, this.width - complete.length)).join(this.chars.incomplete);

instead of two assignment statements to `complete`?