/** * slice a part of continuos elements in an Array */ export class Slice implements ArrayLike { constructor(private array: ArrayLike, private start: number, private end: number) { } valueOf() { return this.array.slice(this.start, this.end); } get length() { return this.end - this.start; } toString():string { return this.valueOf().toString(); } [n: number]: T }