why `this.b` is assigned again?