interface _Iterable extends Iterable<{}> { length: number; } class _Array<T> extends Array<T> { static range(from: number, to: number, step: number): number[] { return Array.from( <_Iterable>{ length: Math.floor((to - from) / step) + 1 }, (v, k) => from + k * step ); } } _Array.range(0, 9, 1); //=> [0, 1, 2, 3, 4, 5, 6, 7, 8, 9];