es6中 使用class里面的set和get 用法

在一些项目中,如果一个字段,后端只返回0或1的时候,但是你业务逻辑中要将0和1对应转换成true或者false的时候,如果直接转的话,保存的时候转后端又要写一次,非常麻烦。

export class person{

  public active: number; // 用户状态是不是激活 1是激活,0是没有

  public constructor (obj?: object) {
    Object.assign(this, obj)
  }
  public get activeToBoolean (): boolean {
    return this.active === 1
  }

  public set activeToBoolean (val: boolean) {
    this.active = val ? 1 : 0
  }
}

用的时候直接用它的实例

const p = new person({active:1})
console.log(p.activeToBoolean ) // 输出 true
p.active = 0
console.log(p.activeToBoolean ) // 输出 false

你可能感兴趣的:(javascript,js)