在TypeScript中是否可以这样?如果是这样,那么正确的语法是什么?
return {
serviceA: new ServiceA(db),
serviceB: new ServiceB(serviceA), // this.serviceA?
}
我知道我可以拉出serviceA
,但我觉得它并不优雅。使用TypeScript 2.3。
如果不可能,背后有实际的理由吗?
答案 0 :(得分:0)
这是不可能的,因为(可能)它在JavaScript中是不可能的,TypeScript只是一个添加类型的超集。
此外,由于执行类似
的操作很简单(而且相当可读)const serviceA = new ServiceA(dB);
return { serviceA, serviceB: new ServiceB(serviceA) };
可能没有理由实际实施它。
TypeScript的一个指导原则是尽可能少地从ECMAScript标准中消失。