[英]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.