diff --git a/src/generics/lib.generics.ts b/src/generics/lib.generics.ts index 03f5817..00bd499 100644 --- a/src/generics/lib.generics.ts +++ b/src/generics/lib.generics.ts @@ -449,14 +449,14 @@ class Array { constructor(private data: T[] = []) { } - // constructor(count: int = 0) { - // this.data = []; - // this.data.length = count; - // } - - // constructor(...args: T[]) { - // this.data = args; - // } + constructor(count: int = 0) { + this.data = []; + this.data.length = count; + } + + constructor(...args: T[]) { + this.data = args; + } public [index: int]: T; diff --git a/tests/array_constructors_overload.ts b/tests/array_constructors_overload.ts new file mode 100644 index 0000000..0f2e3f5 --- /dev/null +++ b/tests/array_constructors_overload.ts @@ -0,0 +1,12 @@ +function main() { + + const a = new Array(10); + + assert(a.length === 10 && a[0] === 0); + + const b = new Array(10, 20, 30); + + assert(b.length === 3 && b[0] === 10 && b[1] === 20 && b[2] === 30); + + console.log("ALL DONE"); +}