如何使用属性获取数据,而不用方法?逻辑写在哪里呢?

typescript 中我想要设计一个类:

我想要有一个获取子目录的方法如下:

class Directory {
  public path:string;

  getSubdirs() {
    // 获取子目录的逻辑
    return ....
  } 
}

我使用的时候,必须使用方法进行获取子目录了:dir.getSubdirs()
但是我看很多别的示例使用的时候,dir.subdirs 直接用属性即可获取而不是用方法。

我这里应该怎么设置呢?如果吧subdirs设置为属性,那么我总要写获取子目录的逻辑在方法中呀?


在其他的语言中,比如Python,我们看到是有装饰器,可以让方法也转为属性方式访问,但是typescript中默认没有这么方便的方式,请问如果想要用属性访问,应该如何进行设计这个类呢?

阅读 1.8k
2 个回答
class Directory {
  public path:string;

  get subdirs() {
    // 获取子目录的逻辑
    return ....
  } 
}
class Directory {
  public path:string;

  get subdirs() {
    // 获取子目录的逻辑
    return ....
  } 
}
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
logo
Microsoft
子站问答
访问
宣传栏