编写Object.Object.Method的最佳实践

时间:2018-09-18 02:47:59

标签: angular typescript

我需要这样调用object.object.method。

是的,我可以,但是我不知道这是这样做的好方法。

API文件

export class ApiService {
     public customer = new Customer();
}

class Customer {
     public foo() {
          return "Bar";
     }
}

当我要使用客户的方法时,我会这样写。

另一个文件

const api = new ApiService();
api.customer.Foo();

请为此告知我。

我的英语不强,我也不知道要搜索的关键字。

谢谢你们。

编辑:将Foo更改为foo(感谢:Nurbol Alpysbayev)

2 个答案:

答案 0 :(得分:1)

您的操作方式非常好。尽管我要说的是,由于仅为了调用方法而访问属性“客户”,所以您可以通过将该属性设置为私有并为此属性创建一个吸气剂来减少对该属性的访问。例如:

export class ApiService {
     private _customer = new Customer();

     get customer(): Customer {
         return this._customer;
     }
}

class Customer {
     public foo() {
          return "Bar";
     }
}

这是一个好习惯,这样,ApiService类中的客户实例是只读的,从而防止了其他代码意外修改此实例。

您仍然可以执行以下操作:

const api = new ApiService();
api.customer.foo();

最后,如先前发布的注释中所述,保持一致,并以小写字母开头的方法,随后的单词以大写字母开头。

答案 1 :(得分:0)

一切都很好。除非您不应该编写大写的方法。因此,将Foo更改为foo就可以了。