簡體   English   中英

TypeScript:ArrayLike接口缺少索引簽名

[英]TypeScript: index signature is missing with ArrayLike interface

我嘗試使用TypeScript內置接口ArrayLike ,但仍然收到如下錯誤消息:

錯誤:(12、11)TS2420:類“ Point”錯誤地實現了接口“ ArrayLike”。 類型“ Point”中缺少索引簽名。

interface ArrayLike<T> {
    length: number;
    [n: number]: T;
}

class Point implements ArrayLike<number> {
    [0]: number = 10;
    length: number = 1;
}

我怎么解決這個問題? (或任何解決方法?)

如何實現ArrayLike接口:

class Point implements ArrayLike<number> {
    [n: number]: number;
    length: number = 1;
    [0]: number = 10;
}

let p = new Point()
p[23] = 34; // ok
p[23] = "34"; // Error: Type 'string' is not assignable to type 'number'

如果您希望Point是一個數組,那么為什么不擴展Array類呢?

class Point extends Array<number> {
    // add Point array methods here
}

這樣, Point將自動實現ArrayLike<number>接口。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM