ts中如何快速的引用静态属性

该文章由 leevare 发布于 ,归类于 Javascript

看如下一段代码所示

class Person {
  static actor = "actor";

  getActorLength() {
    return (this.constructor as typeof Person).actor.length;
  }

  actorToUpperCase() {
    return (<typeof Person>this.constructor).actor.toUpperCase();
  }
}

如果我需要引用类Person的静态属性,每次都要写很长一段代码来让typescript知道我引用的正确类型。引用的次数少还好,次数多了还这样做的话就会感觉很累。

可以修改为如下的这种方式,就可以解决反复写大段代码的问题。

class Person {
  "constructor": typeof Person;

  static actor = "actor";

  getActorLength() {
    return this.constructor.actor.length;
  }

  actorToUpperCase() {
    return this.constructor.actor.toUpperCase();
  }
}

修改之后,即使以后类名不叫做Person了,那么只修改"constructor": typeof Person就可以解决,其余的不用做任何改动。

如果觉得我的文章对您有用,请您随意打赏。您的支持将鼓励我更加努力创作!

相关文章:

说点什么

avatar
300
  Subscribe  
提醒