Структура данных массива TypeScript

class DS_Array{
    private data: any = {};
    private length: number = 0;

    /*
    * Yields the element from the specified index from the array;
    */
    public Get(index: number){
        if(index > this.length) return "err -> index limit exceeded";
        return this.data[index];
    }

    /*
    * Removes the last element of the array
    */
    public Pop(){
        if(this.length <= 0) return "err -> no elements in the array"
        delete this.data[this.length - 1];
        this.length--;
    }

    /*
    * Adds an element to the end of the array
    */
    public Push(item: any){
        this.data[this.length] = item;
        this.length++;
    }

    /*
    * Deletes the element from the specified index from the array;
    */
    public Delete(index: number){
        if(index > this.length) return "err -> index limit exceeded"
        delete this.data[index];
        this.ShiftIndexes(index);
    }

    /*
    * Shifts items and their indexes accordingly;
    */
    private ShiftIndexes(index: number) {
        for (let x = index; x < this.length - 1; ++x) this.data[x] = this.data[x + 1];
        delete this.data[this.length - 1];
        this.length--;
    }

    /*
    * Renders the entire data structure clear
    */
    public Clear(){
        if(this.length <= 0) return "err -> no elements left";
        for (let x = 0; x < this.length; ++x) delete this.data[x];
        this.length = 0;
    }
}
Tired Turtle