编程语言
首页 > 编程语言> > Javascript-在Typescript中,有什么方法可以将类编写为数组,所以我可以做class [i],就像C#中的List

Javascript-在Typescript中,有什么方法可以将类编写为数组,所以我可以做class [i],就像C#中的List

作者:互联网

我是一位从C#开始的新游戏开发人员.

现在我需要将我的游戏之一转移到打字稿上.

我试图用我在C#中非常熟悉的打字稿自定义列表.
我的代码如下:

export class List {

private items: Array;
constructor() {
    this.items = [];
}

get count(): number {
    return this.items.length;
}

add(value: T): void {
    this.items.push(value);
}

get(index: number): T {
    return this.items[index];
}
contains(item: T): boolean{
    if(this.items.indexOf(item) != -1){
        return true;
    }else{
        return false;
    }
}
clear(){
    this.items = [];
}
}

尽管如此,我还是想做一个数组,所以我可以做类似的事情:

someList[i] = this.items[i];

我想这有点像运算符重载,但我不太确定.
谁能告诉我怎么做?
提前致谢.

解决方法:

只需扩展数组

export class List<T> extends Array<T> {

    constructor() {
        super();
    }

    get count(): number {
        return this.length;
    }

    add(value: T): void {
        this.push(value);
    }

    get(index: number): T {
        return this[index];
    }

    contains(item: T): boolean {
        if (this.indexOf(item) != -1) {
            return true;
        } else {
            return false;
        }
    }

    clear() {
        this.splice(0, this.count);
    }
}

标签:typescript,overloading,operator-keyword,javascript
来源: https://codeday.me/bug/20191108/2009498.html