打字稿构造函数新对象



构造函数中第二个参数的含义是什么:

(来自此示例(

constructor(private url: string, private WebSocketCtor: { new(url:string): WebSocket } = WebSocket) {}

尤其是结尾处的= WebSocket部分。为什么我需要这个?在上面的示例中,它被称为这样:

bootstrap(AimApp, [
  ...,
  provide(RxWebSocket, {useFactory: (url:string) => {
    return new RxWebSocket(url, WebSocket);
  }, deps: [SOCKET_URL]})
]);

由于我对Angular不太熟悉,您将如何称呼它?

{ new(url:string): WebSocket }这定义了构造函数签名,该签名用于保存类构造函数。= WebSocket提供了参数WebSocket类的默认值。

这一点是允许用户插入与WebSocket类兼容的自定义WebSocket类,还可以通过为WebSocketCtor参数提供默认值

最新更新