[英]Is it possible to instantiate a JavaScript object in TypeScript?
[英]creating (instantiate) a typescript object of declared type
Angular(6)路由器“ Params”對象聲明如下:
export declare type Params = {
[key: string]: any;
};
實例化它是否是錯誤的? --
newParams = new Params();
比添加項目如下:
params.push({name: value});
皮查姆說我無法初始化自己的方式。 是Params類型還是某種其他需要處理的高級類型?
在使用Params類型alias
的地方,它告訴您它是(或期望)帶有key | value對的對象文字,且值的類型為any
export declare type Params = {
[key: string]: any;
};
它不是class
,所以您不能實例化它。 正式地,它稱為type alias
,其作用類似於接口而不是類,但是存在一些差異,例如不能由類實現
這並不是十分有用,因為每個對象都可以具有鍵|值對,但是在某些情況下,出於文檔目的,使用別名
在ActivatedRoute文檔中,我們可以看到params
Observable返回了Params
類型的對象-因此我們知道將存在一些可以使用屬性訪問器括號表示的值route.snapshot.params["id"];
params Observable<Params>
An observable of the matrix parameters scoped to this route
猜猜它比這更復雜,但是簡單的答案是,只需使用一個空對象將其初始化,如下所示:
const params: Params = {};
從Angular開源中獲取它...有時最好的方法就是挖掘源代碼:-)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.