Allow static side of native types to be extended

This commit is contained in:
Mohamed Hegazy 2014-10-28 21:21:47 -07:00
parent 8c7fd3c287
commit fe4a96e1bd
46 changed files with 207 additions and 167 deletions

86
src/lib/core.d.ts vendored
View File

@ -109,10 +109,7 @@ interface Object {
propertyIsEnumerable(v: string): boolean;
}
/**
* Provides functionality common to all JavaScript objects.
*/
declare var Object: {
interface ObjectConstructor {
new (value?: any): Object;
(): any;
(value: any): any;
@ -206,6 +203,11 @@ declare var Object: {
keys(o: any): string[];
}
/**
* Provides functionality common to all JavaScript objects.
*/
declare var Object: ObjectConstructor;
/**
* Creates a new function.
*/
@ -240,8 +242,8 @@ interface Function {
caller: Function;
}
declare var Function: {
/**
interface FunctionConstructor {
/**
* Creates a new function.
* @param args A list of arguments the function accepts.
*/
@ -250,6 +252,8 @@ declare var Function: {
prototype: Function;
}
declare var Function: FunctionConstructor;
interface IArguments {
[index: number]: any;
length: number;
@ -409,24 +413,29 @@ interface String {
[index: number]: string;
}
/**
* Allows manipulation and formatting of text strings and determination and location of substrings within strings.
*/
declare var String: {
interface StringConstructor {
new (value?: any): String;
(value?: any): string;
prototype: String;
fromCharCode(...codes: number[]): string;
}
/**
* Allows manipulation and formatting of text strings and determination and location of substrings within strings.
*/
declare var String: StringConstructor;
interface Boolean {
}
declare var Boolean: {
interface BoolenConstructor {
new (value?: any): Boolean;
(value?: any): boolean;
prototype: Boolean;
}
declare var Boolean: BoolenConstructor;
interface Number {
/**
* Returns a string representation of an object.
@ -453,8 +462,7 @@ interface Number {
toPrecision(precision?: number): string;
}
/** An object that represents a number of any kind. All JavaScript numbers are 64-bit floating-point numbers. */
declare var Number: {
interface NumberConstructor {
new (value?: any): Number;
(value?: any): number;
prototype: Number;
@ -484,6 +492,9 @@ declare var Number: {
POSITIVE_INFINITY: number;
}
/** An object that represents a number of any kind. All JavaScript numbers are 64-bit floating-point numbers. */
declare var Number: NumberConstructor;
interface Math {
/** The mathematical constant e. This is Euler's number, the base of natural logarithms. */
E: number;
@ -749,7 +760,7 @@ interface Date {
toJSON(key?: any): string;
}
declare var Date: {
interface DateConstructor {
new (): Date;
new (value: number): Date;
new (value: string): Date;
@ -775,6 +786,8 @@ declare var Date: {
now(): number;
}
declare var Date: DateConstructor;
interface RegExpMatchArray extends Array<string> {
index?: number;
input?: string;
@ -815,7 +828,8 @@ interface RegExp {
// Non-standard extensions
compile(): RegExp;
}
declare var RegExp: {
interface RegExpConstructor {
new (pattern: string, flags?: string): RegExp;
(pattern: string, flags?: string): RegExp;
@ -832,64 +846,87 @@ declare var RegExp: {
lastMatch: string;
}
declare var RegExp: RegExpConstructor;
interface Error {
name: string;
message: string;
}
declare var Error: {
interface ErrorConstructor {
new (message?: string): Error;
(message?: string): Error;
prototype: Error;
}
declare var Error: ErrorConstructor;
interface EvalError extends Error {
}
declare var EvalError: {
interface EvalErrorConstructor {
new (message?: string): EvalError;
(message?: string): EvalError;
prototype: EvalError;
}
declare var EvalError: EvalErrorConstructor;
interface RangeError extends Error {
}
declare var RangeError: {
interface RangeErrorConstructor {
new (message?: string): RangeError;
(message?: string): RangeError;
prototype: RangeError;
}
declare var RangeError: RangeErrorConstructor;
interface ReferenceError extends Error {
}
declare var ReferenceError: {
interface ReferenceErrorConstructor {
new (message?: string): ReferenceError;
(message?: string): ReferenceError;
prototype: ReferenceError;
}
declare var ReferenceError: ReferenceErrorConstructor;
interface SyntaxError extends Error {
}
declare var SyntaxError: {
interface SyntaxErrorConstructor {
new (message?: string): SyntaxError;
(message?: string): SyntaxError;
prototype: SyntaxError;
}
declare var SyntaxError: SyntaxErrorConstructor;
interface TypeError extends Error {
}
declare var TypeError: {
interface TypeErrorConstructor {
new (message?: string): TypeError;
(message?: string): TypeError;
prototype: TypeError;
}
declare var TypeError: TypeErrorConstructor;
interface URIError extends Error {
}
declare var URIError: {
interface URIErrorConstructor {
new (message?: string): URIError;
(message?: string): URIError;
prototype: URIError;
}
declare var URIError: URIErrorConstructor;
interface JSON {
/**
* Converts a JavaScript Object Notation (JSON) string into an object.
@ -1092,7 +1129,8 @@ interface Array<T> {
[n: number]: T;
}
declare var Array: {
interface ArrayConstructor {
new (arrayLength?: number): any[];
new <T>(arrayLength: number): T[];
new <T>(...items: T[]): T[];
@ -1102,3 +1140,5 @@ declare var Array: {
isArray(arg: any): boolean;
prototype: Array<any>;
}
declare var Array: ArrayConstructor;

View File

@ -17,6 +17,6 @@ module A {
export var beez2 = new Array<B>();
>beez2 : B[]
>new Array<B>() : B[]
>Array : { (arrayLength?: number): any[]; <T>(arrayLength: number): T[]; <T>(...items: T[]): T[]; new (arrayLength?: number): any[]; new <T>(arrayLength: number): T[]; new <T>(...items: T[]): T[]; isArray(arg: any): boolean; prototype: any[]; }
>Array : ArrayConstructor
>B : B
}

View File

@ -18,7 +18,7 @@ a.concat('Hello');
var b = new Array<string>();
>b : string[]
>new Array<string>() : string[]
>Array : { (arrayLength?: number): any[]; <T>(arrayLength: number): T[]; <T>(...items: T[]): T[]; new (arrayLength?: number): any[]; new <T>(arrayLength: number): T[]; new <T>(...items: T[]): T[]; isArray(arg: any): boolean; prototype: any[]; }
>Array : ArrayConstructor
b.concat('hello');
>b.concat('hello') : string[]

View File

@ -6,19 +6,19 @@ x = new Array(1);
>x = new Array(1) : any[]
>x : string[]
>new Array(1) : any[]
>Array : { (arrayLength?: number): any[]; <T>(arrayLength: number): T[]; <T>(...items: T[]): T[]; new (arrayLength?: number): any[]; new <T>(arrayLength: number): T[]; new <T>(...items: T[]): T[]; isArray(arg: any): boolean; prototype: any[]; }
>Array : ArrayConstructor
x = new Array('hi', 'bye');
>x = new Array('hi', 'bye') : string[]
>x : string[]
>new Array('hi', 'bye') : string[]
>Array : { (arrayLength?: number): any[]; <T>(arrayLength: number): T[]; <T>(...items: T[]): T[]; new (arrayLength?: number): any[]; new <T>(arrayLength: number): T[]; new <T>(...items: T[]): T[]; isArray(arg: any): boolean; prototype: any[]; }
>Array : ArrayConstructor
x = new Array<string>('hi', 'bye');
>x = new Array<string>('hi', 'bye') : string[]
>x : string[]
>new Array<string>('hi', 'bye') : string[]
>Array : { (arrayLength?: number): any[]; <T>(arrayLength: number): T[]; <T>(...items: T[]): T[]; new (arrayLength?: number): any[]; new <T>(arrayLength: number): T[]; new <T>(...items: T[]): T[]; isArray(arg: any): boolean; prototype: any[]; }
>Array : ArrayConstructor
var y: number[];
>y : number[]
@ -27,17 +27,17 @@ y = new Array(1);
>y = new Array(1) : any[]
>y : number[]
>new Array(1) : any[]
>Array : { (arrayLength?: number): any[]; <T>(arrayLength: number): T[]; <T>(...items: T[]): T[]; new (arrayLength?: number): any[]; new <T>(arrayLength: number): T[]; new <T>(...items: T[]): T[]; isArray(arg: any): boolean; prototype: any[]; }
>Array : ArrayConstructor
y = new Array(1,2);
>y = new Array(1,2) : number[]
>y : number[]
>new Array(1,2) : number[]
>Array : { (arrayLength?: number): any[]; <T>(arrayLength: number): T[]; <T>(...items: T[]): T[]; new (arrayLength?: number): any[]; new <T>(arrayLength: number): T[]; new <T>(...items: T[]): T[]; isArray(arg: any): boolean; prototype: any[]; }
>Array : ArrayConstructor
y = new Array<number>(1, 2);
>y = new Array<number>(1, 2) : number[]
>y : number[]
>new Array<number>(1, 2) : number[]
>Array : { (arrayLength?: number): any[]; <T>(arrayLength: number): T[]; <T>(...items: T[]): T[]; new (arrayLength?: number): any[]; new <T>(arrayLength: number): T[]; new <T>(...items: T[]): T[]; isArray(arg: any): boolean; prototype: any[]; }
>Array : ArrayConstructor

View File

@ -8,7 +8,7 @@ var x = [];
var x = new Array(1);
>x : any[]
>new Array(1) : any[]
>Array : { (arrayLength?: number): any[]; <T>(arrayLength: number): T[]; <T>(...items: T[]): T[]; new (arrayLength?: number): any[]; new <T>(arrayLength: number): T[]; new <T>(...items: T[]): T[]; isArray(arg: any): boolean; prototype: any[]; }
>Array : ArrayConstructor
var y = [1];
>y : number[]
@ -21,7 +21,7 @@ var y = [1, 2];
var y = new Array<number>();
>y : number[]
>new Array<number>() : number[]
>Array : { (arrayLength?: number): any[]; <T>(arrayLength: number): T[]; <T>(...items: T[]): T[]; new (arrayLength?: number): any[]; new <T>(arrayLength: number): T[]; new <T>(...items: T[]): T[]; isArray(arg: any): boolean; prototype: any[]; }
>Array : ArrayConstructor
var x2: number[] = [];
>x2 : number[]
@ -30,7 +30,7 @@ var x2: number[] = [];
var x2: number[] = new Array(1);
>x2 : number[]
>new Array(1) : any[]
>Array : { (arrayLength?: number): any[]; <T>(arrayLength: number): T[]; <T>(...items: T[]): T[]; new (arrayLength?: number): any[]; new <T>(arrayLength: number): T[]; new <T>(...items: T[]): T[]; isArray(arg: any): boolean; prototype: any[]; }
>Array : ArrayConstructor
var y2: number[] = [1];
>y2 : number[]
@ -43,5 +43,5 @@ var y2: number[] = [1, 2];
var y2: number[] = new Array<number>();
>y2 : number[]
>new Array<number>() : number[]
>Array : { (arrayLength?: number): any[]; <T>(arrayLength: number): T[]; <T>(...items: T[]): T[]; new (arrayLength?: number): any[]; new <T>(arrayLength: number): T[]; new <T>(...items: T[]): T[]; isArray(arg: any): boolean; prototype: any[]; }
>Array : ArrayConstructor

View File

@ -2,9 +2,9 @@ tests/cases/conformance/types/specifyingTypes/typeLiterals/arrayTypeOfTypeOf.ts(
tests/cases/conformance/types/specifyingTypes/typeLiterals/arrayTypeOfTypeOf.ts(6,30): error TS1109: Expression expected.
tests/cases/conformance/types/specifyingTypes/typeLiterals/arrayTypeOfTypeOf.ts(7,22): error TS1005: '=' expected.
tests/cases/conformance/types/specifyingTypes/typeLiterals/arrayTypeOfTypeOf.ts(7,32): error TS1109: Expression expected.
tests/cases/conformance/types/specifyingTypes/typeLiterals/arrayTypeOfTypeOf.ts(6,5): error TS2323: Type 'number' is not assignable to type '{ (arrayLength?: number): any[]; <T>(arrayLength: number): T[]; <T>(...items: T[]): T[]; new (arrayLength?: number): any[]; new <T>(arrayLength: number): T[]; new <T>(...items: T[]): T[]; isArray(arg: any): boolean; prototype: any[]; }'.
tests/cases/conformance/types/specifyingTypes/typeLiterals/arrayTypeOfTypeOf.ts(6,5): error TS2323: Type 'number' is not assignable to type 'ArrayConstructor'.
Property 'isArray' is missing in type 'Number'.
tests/cases/conformance/types/specifyingTypes/typeLiterals/arrayTypeOfTypeOf.ts(7,5): error TS2323: Type 'number' is not assignable to type '{ (arrayLength?: number): any[]; <T>(arrayLength: number): T[]; <T>(...items: T[]): T[]; new (arrayLength?: number): any[]; new <T>(arrayLength: number): T[]; new <T>(...items: T[]): T[]; isArray(arg: any): boolean; prototype: any[]; }'.
tests/cases/conformance/types/specifyingTypes/typeLiterals/arrayTypeOfTypeOf.ts(7,5): error TS2323: Type 'number' is not assignable to type 'ArrayConstructor'.
==== tests/cases/conformance/types/specifyingTypes/typeLiterals/arrayTypeOfTypeOf.ts (6 errors) ====
@ -19,7 +19,7 @@ tests/cases/conformance/types/specifyingTypes/typeLiterals/arrayTypeOfTypeOf.ts(
~
!!! error TS1109: Expression expected.
~~~
!!! error TS2323: Type 'number' is not assignable to type '{ (arrayLength?: number): any[]; <T>(arrayLength: number): T[]; <T>(...items: T[]): T[]; new (arrayLength?: number): any[]; new <T>(arrayLength: number): T[]; new <T>(...items: T[]): T[]; isArray(arg: any): boolean; prototype: any[]; }'.
!!! error TS2323: Type 'number' is not assignable to type 'ArrayConstructor'.
!!! error TS2323: Property 'isArray' is missing in type 'Number'.
var xs4: typeof Array<typeof x>;
~
@ -27,4 +27,4 @@ tests/cases/conformance/types/specifyingTypes/typeLiterals/arrayTypeOfTypeOf.ts(
~
!!! error TS1109: Expression expected.
~~~
!!! error TS2323: Type 'number' is not assignable to type '{ (arrayLength?: number): any[]; <T>(arrayLength: number): T[]; <T>(...items: T[]): T[]; new (arrayLength?: number): any[]; new <T>(arrayLength: number): T[]; new <T>(...items: T[]): T[]; isArray(arg: any): boolean; prototype: any[]; }'.
!!! error TS2323: Type 'number' is not assignable to type 'ArrayConstructor'.

View File

@ -7,5 +7,5 @@ var xx = <Foo> new Object();
><Foo> new Object() : Foo
>Foo : Foo
>new Object() : Object
>Object : { (): any; (value: any): any; new (value?: any): Object; prototype: Object; getPrototypeOf(o: any): any; getOwnPropertyDescriptor(o: any, p: string): PropertyDescriptor; getOwnPropertyNames(o: any): string[]; create(o: any, properties?: PropertyDescriptorMap): any; defineProperty(o: any, p: string, attributes: PropertyDescriptor): any; defineProperties(o: any, properties: PropertyDescriptorMap): any; seal(o: any): any; freeze(o: any): any; preventExtensions(o: any): any; isSealed(o: any): boolean; isFrozen(o: any): boolean; isExtensible(o: any): boolean; keys(o: any): string[]; }
>Object : ObjectConstructor

View File

@ -108,7 +108,7 @@ true, {}
"string", new Date()
>"string", new Date() : Date
>new Date() : Date
>Date : { (): string; new (): Date; new (value: number): Date; new (value: string): Date; new (year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): Date; prototype: Date; parse(s: string): number; UTC(year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): number; now(): number; }
>Date : DateConstructor
STRING.toLowerCase(), new CLASS()
>STRING.toLowerCase(), new CLASS() : CLASS
@ -154,7 +154,7 @@ var resultIsObject10 = ("string", new Date());
>("string", new Date()) : Date
>"string", new Date() : Date
>new Date() : Date
>Date : { (): string; new (): Date; new (value: number): Date; new (value: string): Date; new (year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): Date; prototype: Date; parse(s: string): number; UTC(year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): number; now(): number; }
>Date : DateConstructor
var resultIsObject11 = (STRING.toLowerCase(), new CLASS());
>resultIsObject11 : CLASS

View File

@ -90,7 +90,7 @@ ANY = new Date(), STRING;
>ANY = new Date() : Date
>ANY : any
>new Date() : Date
>Date : { (): string; new (): Date; new (value: number): Date; new (value: string): Date; new (year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): Date; prototype: Date; parse(s: string): number; UTC(year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): number; now(): number; }
>Date : DateConstructor
>STRING : string
true, "";
@ -115,7 +115,7 @@ OBJECT = new Object, STRING + "string";
>OBJECT = new Object : Object
>OBJECT : Object
>new Object : Object
>Object : { (): any; (value: any): any; new (value?: any): Object; prototype: Object; getPrototypeOf(o: any): any; getOwnPropertyDescriptor(o: any, p: string): PropertyDescriptor; getOwnPropertyNames(o: any): string[]; create(o: any, properties?: PropertyDescriptorMap): any; defineProperty(o: any, p: string, attributes: PropertyDescriptor): any; defineProperties(o: any, properties: PropertyDescriptorMap): any; seal(o: any): any; freeze(o: any): any; preventExtensions(o: any): any; isSealed(o: any): boolean; isFrozen(o: any): boolean; isExtensible(o: any): boolean; keys(o: any): string[]; }
>Object : ObjectConstructor
>STRING + "string" : string
>STRING : string
@ -132,7 +132,7 @@ var resultIsString7 = (ANY = new Date(), STRING);
>ANY = new Date() : Date
>ANY : any
>new Date() : Date
>Date : { (): string; new (): Date; new (value: number): Date; new (value: string): Date; new (year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): Date; prototype: Date; parse(s: string): number; UTC(year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): number; now(): number; }
>Date : DateConstructor
>STRING : string
var resultIsString8 = (true, "");
@ -163,7 +163,7 @@ var resultIsString11 = (new Object, STRING + "string");
>(new Object, STRING + "string") : string
>new Object, STRING + "string" : string
>new Object : Object
>Object : { (): any; (value: any): any; new (value?: any): Object; prototype: Object; getPrototypeOf(o: any): any; getOwnPropertyDescriptor(o: any, p: string): PropertyDescriptor; getOwnPropertyNames(o: any): string[]; create(o: any, properties?: PropertyDescriptorMap): any; defineProperty(o: any, p: string, attributes: PropertyDescriptor): any; defineProperties(o: any, properties: PropertyDescriptorMap): any; seal(o: any): any; freeze(o: any): any; preventExtensions(o: any): any; isSealed(o: any): boolean; isFrozen(o: any): boolean; isExtensible(o: any): boolean; keys(o: any): string[]; }
>Object : ObjectConstructor
>STRING + "string" : string
>STRING : string

View File

@ -112,7 +112,7 @@ null, true, 1;
>STRING : string
>charAt : (pos: number) => string
>new Object() : Object
>Object : { (): any; (value: any): any; new (value?: any): Object; prototype: Object; getPrototypeOf(o: any): any; getOwnPropertyDescriptor(o: any, p: string): PropertyDescriptor; getOwnPropertyNames(o: any): string[]; create(o: any, properties?: PropertyDescriptorMap): any; defineProperty(o: any, p: string, attributes: PropertyDescriptor): any; defineProperties(o: any, properties: PropertyDescriptorMap): any; seal(o: any): any; freeze(o: any): any; preventExtensions(o: any): any; isSealed(o: any): boolean; isFrozen(o: any): boolean; isExtensible(o: any): boolean; keys(o: any): string[]; }
>Object : ObjectConstructor
var resultIsNumber2 = (null, true, 1);
>resultIsNumber2 : number
@ -132,5 +132,5 @@ var resultIsObject2 = (++NUMBER, STRING.charAt(0), new Object());
>STRING : string
>charAt : (pos: number) => string
>new Object() : Object
>Object : { (): any; (value: any): any; new (value?: any): Object; prototype: Object; getPrototypeOf(o: any): any; getOwnPropertyDescriptor(o: any, p: string): PropertyDescriptor; getOwnPropertyNames(o: any): string[]; create(o: any, properties?: PropertyDescriptorMap): any; defineProperty(o: any, p: string, attributes: PropertyDescriptor): any; defineProperties(o: any, properties: PropertyDescriptorMap): any; seal(o: any): any; freeze(o: any): any; preventExtensions(o: any): any; isSealed(o: any): boolean; isFrozen(o: any): boolean; isExtensible(o: any): boolean; keys(o: any): string[]; }
>Object : ObjectConstructor

View File

@ -133,7 +133,7 @@ foo() ? exprAny1 : exprAny2;
new Date() ? exprBoolean1 : exprBoolean2;
>new Date() ? exprBoolean1 : exprBoolean2 : boolean
>new Date() : Date
>Date : { (): string; new (): Date; new (value: number): Date; new (value: string): Date; new (year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): Date; prototype: Date; parse(s: string): number; UTC(year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): number; now(): number; }
>Date : DateConstructor
>exprBoolean1 : boolean
>exprBoolean2 : boolean
@ -262,7 +262,7 @@ var resultIsBoolean3 = new Date() ? exprBoolean1 : exprBoolean2;
>resultIsBoolean3 : boolean
>new Date() ? exprBoolean1 : exprBoolean2 : boolean
>new Date() : Date
>Date : { (): string; new (): Date; new (value: number): Date; new (value: string): Date; new (year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): Date; prototype: Date; parse(s: string): number; UTC(year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): number; now(): number; }
>Date : DateConstructor
>exprBoolean1 : boolean
>exprBoolean2 : boolean

View File

@ -7,7 +7,7 @@ class Rule {
>regex : RegExp
>RegExp : RegExp
>new RegExp('') : RegExp
>RegExp : { (pattern: string, flags?: string): RegExp; new (pattern: string, flags?: string): RegExp; $1: string; $2: string; $3: string; $4: string; $5: string; $6: string; $7: string; $8: string; $9: string; lastMatch: string; }
>RegExp : RegExpConstructor
public name: string = '';
>name : string

View File

@ -1,5 +1,5 @@
tests/cases/compiler/errorMessageOnObjectLiteralType.ts(5,3): error TS2339: Property 'getOwnPropertyNamess' does not exist on type '{ a: string; b: number; }'.
tests/cases/compiler/errorMessageOnObjectLiteralType.ts(6,8): error TS2339: Property 'getOwnPropertyNamess' does not exist on type '{ (): any; (value: any): any; new (value?: any): Object; prototype: Object; getPrototypeOf(o: any): any; getOwnPropertyDescriptor(o: any, p: string): PropertyDescriptor; getOwnPropertyNames(o: any): string[]; create(o: any, properties?: PropertyDescriptorMap): any; defineProperty(o: any, p: string, attributes: PropertyDescriptor): any; defineProperties(o: any, properties: PropertyDescriptorMap): any; seal(o: any): any; freeze(o: any): any; preventExtensions(o: any): any; isSealed(o: any): boolean; isFrozen(o: any): boolean; isExtensible(o: any): boolean; keys(o: any): string[]; }'.
tests/cases/compiler/errorMessageOnObjectLiteralType.ts(6,8): error TS2339: Property 'getOwnPropertyNamess' does not exist on type 'ObjectConstructor'.
==== tests/cases/compiler/errorMessageOnObjectLiteralType.ts (2 errors) ====
@ -12,4 +12,4 @@ tests/cases/compiler/errorMessageOnObjectLiteralType.ts(6,8): error TS2339: Prop
!!! error TS2339: Property 'getOwnPropertyNamess' does not exist on type '{ a: string; b: number; }'.
Object.getOwnPropertyNamess(null);
~~~~~~~~~~~~~~~~~~~~
!!! error TS2339: Property 'getOwnPropertyNamess' does not exist on type '{ (): any; (value: any): any; new (value?: any): Object; prototype: Object; getPrototypeOf(o: any): any; getOwnPropertyDescriptor(o: any, p: string): PropertyDescriptor; getOwnPropertyNames(o: any): string[]; create(o: any, properties?: PropertyDescriptorMap): any; defineProperty(o: any, p: string, attributes: PropertyDescriptor): any; defineProperties(o: any, properties: PropertyDescriptorMap): any; seal(o: any): any; freeze(o: any): any; preventExtensions(o: any): any; isSealed(o: any): boolean; isFrozen(o: any): boolean; isExtensible(o: any): boolean; keys(o: any): string[]; }'.
!!! error TS2339: Property 'getOwnPropertyNamess' does not exist on type 'ObjectConstructor'.

View File

@ -67,13 +67,13 @@ var aDate: Date = new Date(12);
>aDate : Date
>Date : Date
>new Date(12) : Date
>Date : { (): string; new (): Date; new (value: number): Date; new (value: string): Date; new (year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): Date; prototype: Date; parse(s: string): number; UTC(year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): number; now(): number; }
>Date : DateConstructor
var anObject: Object = new Object();
>anObject : Object
>Object : Object
>new Object() : Object
>Object : { (): any; (value: any): any; new (value?: any): Object; prototype: Object; getPrototypeOf(o: any): any; getOwnPropertyDescriptor(o: any, p: string): PropertyDescriptor; getOwnPropertyNames(o: any): string[]; create(o: any, properties?: PropertyDescriptorMap): any; defineProperty(o: any, p: string, attributes: PropertyDescriptor): any; defineProperties(o: any, properties: PropertyDescriptorMap): any; seal(o: any): any; freeze(o: any): any; preventExtensions(o: any): any; isSealed(o: any): boolean; isFrozen(o: any): boolean; isExtensible(o: any): boolean; keys(o: any): string[]; }
>Object : ObjectConstructor
var anAny: any = null;
>anAny : any

View File

@ -66,12 +66,12 @@ var aString = 'this is a string';
var aDate = new Date(12);
>aDate : Date
>new Date(12) : Date
>Date : { (): string; new (): Date; new (value: number): Date; new (value: string): Date; new (year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): Date; prototype: Date; parse(s: string): number; UTC(year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): number; now(): number; }
>Date : DateConstructor
var anObject = new Object();
>anObject : Object
>new Object() : Object
>Object : { (): any; (value: any): any; new (value?: any): Object; prototype: Object; getPrototypeOf(o: any): any; getOwnPropertyDescriptor(o: any, p: string): PropertyDescriptor; getOwnPropertyNames(o: any): string[]; create(o: any, properties?: PropertyDescriptorMap): any; defineProperty(o: any, p: string, attributes: PropertyDescriptor): any; defineProperties(o: any, properties: PropertyDescriptorMap): any; seal(o: any): any; freeze(o: any): any; preventExtensions(o: any): any; isSealed(o: any): boolean; isFrozen(o: any): boolean; isExtensible(o: any): boolean; keys(o: any): string[]; }
>Object : ObjectConstructor
var anAny = null;
>anAny : any

View File

@ -25,7 +25,7 @@ var x = 5;
var server = new Date();
>server : Date
>new Date() : Date
>Date : { (): string; new (): Date; new (value: number): Date; new (value: string): Date; new (year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): Date; prototype: Date; parse(s: string): number; UTC(year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): number; now(): number; }
>Date : DateConstructor
export = server;
>server : server

View File

@ -25,7 +25,7 @@ var x = 5;
var server = new Date();
>server : Date
>new Date() : Date
>Date : { (): string; new (): Date; new (value: number): Date; new (value: string): Date; new (year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): Date; prototype: Date; parse(s: string): number; UTC(year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): number; now(): number; }
>Date : DateConstructor
export = server;
>server : server

View File

@ -67,13 +67,13 @@ for(var aDate: Date = new Date(12);;){}
>aDate : Date
>Date : Date
>new Date(12) : Date
>Date : { (): string; new (): Date; new (value: number): Date; new (value: string): Date; new (year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): Date; prototype: Date; parse(s: string): number; UTC(year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): number; now(): number; }
>Date : DateConstructor
for(var anObject: Object = new Object();;){}
>anObject : Object
>Object : Object
>new Object() : Object
>Object : { (): any; (value: any): any; new (value?: any): Object; prototype: Object; getPrototypeOf(o: any): any; getOwnPropertyDescriptor(o: any, p: string): PropertyDescriptor; getOwnPropertyNames(o: any): string[]; create(o: any, properties?: PropertyDescriptorMap): any; defineProperty(o: any, p: string, attributes: PropertyDescriptor): any; defineProperties(o: any, properties: PropertyDescriptorMap): any; seal(o: any): any; freeze(o: any): any; preventExtensions(o: any): any; isSealed(o: any): boolean; isFrozen(o: any): boolean; isExtensible(o: any): boolean; keys(o: any): string[]; }
>Object : ObjectConstructor
for(var anAny: any = null;;){}
>anAny : any

View File

@ -118,7 +118,7 @@ for (var a: string[] = []; ;) { }
for (var a = new Array<string>(); ;) { }
>a : string[]
>new Array<string>() : string[]
>Array : { (arrayLength?: number): any[]; <T>(arrayLength: number): T[]; <T>(...items: T[]): T[]; new (arrayLength?: number): any[]; new <T>(arrayLength: number): T[]; new <T>(...items: T[]): T[]; isArray(arg: any): boolean; prototype: any[]; }
>Array : ArrayConstructor
for (var a: typeof a; ;) { }
>a : string[]

View File

@ -41,7 +41,7 @@ var r = foo(new Function());
>foo(new Function()) : Function
>foo : <T extends Function>(x: T) => T
>new Function() : Function
>Function : { (...args: string[]): Function; new (...args: string[]): Function; prototype: Function; }
>Function : FunctionConstructor
var r1 = foo((x) => x);
>r1 : (x: any) => any

View File

@ -4,5 +4,5 @@ function clone():number {
throw new Error("To be implemented");
>new Error("To be implemented") : Error
>Error : { (message?: string): Error; new (message?: string): Error; prototype: Error; }
>Error : ErrorConstructor
}

View File

@ -13,7 +13,7 @@ salt.apply("hello", []);
>(new Function("return 5"))() : any
>(new Function("return 5")) : Function
>new Function("return 5") : Function
>Function : { (...args: string[]): Function; new (...args: string[]): Function; prototype: Function; }
>Function : FunctionConstructor

View File

@ -68,7 +68,7 @@ var r3 = utils.mapReduce(c, (x) => { return 1 }, (y) => { return new Date() });
>(y) => { return new Date() } : (y: number) => Date
>y : number
>new Date() : Date
>Date : { (): string; new (): Date; new (value: number): Date; new (value: string): Date; new (year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): Date; prototype: Date; parse(s: string): number; UTC(year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): number; now(): number; }
>Date : DateConstructor
var r4 = utils.mapReduce(c, (x: string) => { return 1 }, (y: number) => { return new Date() });
>r4 : Collection<Date>
@ -82,7 +82,7 @@ var r4 = utils.mapReduce(c, (x: string) => { return 1 }, (y: number) => { return
>(y: number) => { return new Date() } : (y: number) => Date
>y : number
>new Date() : Date
>Date : { (): string; new (): Date; new (value: number): Date; new (value: string): Date; new (year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): Date; prototype: Date; parse(s: string): number; UTC(year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): number; now(): number; }
>Date : DateConstructor
var f1 = (x: string) => { return 1 };
>f1 : (x: string) => number
@ -94,7 +94,7 @@ var f2 = (y: number) => { return new Date() };
>(y: number) => { return new Date() } : (y: number) => Date
>y : number
>new Date() : Date
>Date : { (): string; new (): Date; new (value: number): Date; new (value: string): Date; new (year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): Date; prototype: Date; parse(s: string): number; UTC(year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): number; now(): number; }
>Date : DateConstructor
var r5 = utils.mapReduce(c, f1, f2);
>r5 : Collection<Date>

View File

@ -9,7 +9,7 @@ function setFunc(v){}
Object.defineProperty({}, "0", <PropertyDescriptor>({
>Object.defineProperty({}, "0", <PropertyDescriptor>({ get: getFunc, set: setFunc, configurable: true })) : any
>Object.defineProperty : (o: any, p: string, attributes: PropertyDescriptor) => any
>Object : { (): any; (value: any): any; new (value?: any): Object; prototype: Object; getPrototypeOf(o: any): any; getOwnPropertyDescriptor(o: any, p: string): PropertyDescriptor; getOwnPropertyNames(o: any): string[]; create(o: any, properties?: PropertyDescriptorMap): any; defineProperty(o: any, p: string, attributes: PropertyDescriptor): any; defineProperties(o: any, properties: PropertyDescriptorMap): any; seal(o: any): any; freeze(o: any): any; preventExtensions(o: any): any; isSealed(o: any): boolean; isFrozen(o: any): boolean; isExtensible(o: any): boolean; keys(o: any): string[]; }
>Object : ObjectConstructor
>defineProperty : (o: any, p: string, attributes: PropertyDescriptor) => any
>{} : {}
><PropertyDescriptor>({ get: getFunc, set: setFunc, configurable: true }) : PropertyDescriptor

View File

@ -22,7 +22,7 @@ var e = [{}, Object]; // {}[]
>e : {}[]
>[{}, Object] : {}[]
>{} : {}
>Object : { (): any; (value: any): any; new (value?: any): Object; prototype: Object; getPrototypeOf(o: any): any; getOwnPropertyDescriptor(o: any, p: string): PropertyDescriptor; getOwnPropertyNames(o: any): string[]; create(o: any, properties?: PropertyDescriptorMap): any; defineProperty(o: any, p: string, attributes: PropertyDescriptor): any; defineProperties(o: any, properties: PropertyDescriptorMap): any; seal(o: any): any; freeze(o: any): any; preventExtensions(o: any): any; isSealed(o: any): boolean; isFrozen(o: any): boolean; isExtensible(o: any): boolean; keys(o: any): string[]; }
>Object : ObjectConstructor
var f = [[], [1]]; // number[][]
>f : number[][]

View File

@ -1,5 +1,5 @@
//// [implementArrayInterface.ts]
declare class ArrayConstructor<T> implements Array<T> {
declare class MyArray<T> implements Array<T> {
toString(): string;
toLocaleString(): string;
concat<U extends T[]>(...items: U[]): T[];

View File

@ -1,6 +1,6 @@
=== tests/cases/compiler/implementArrayInterface.ts ===
declare class ArrayConstructor<T> implements Array<T> {
>ArrayConstructor : ArrayConstructor<T>
declare class MyArray<T> implements Array<T> {
>MyArray : MyArray<T>
>T : T
>Array : T[]
>T : T

View File

@ -4,7 +4,7 @@ Array.prototype.slice();
>Array.prototype.slice() : any[]
>Array.prototype.slice : (start?: number, end?: number) => any[]
>Array.prototype : any[]
>Array : { (arrayLength?: number): any[]; <T>(arrayLength: number): T[]; <T>(...items: T[]): T[]; new (arrayLength?: number): any[]; new <T>(arrayLength: number): T[]; new <T>(...items: T[]): T[]; isArray(arg: any): boolean; prototype: any[]; }
>Array : ArrayConstructor
>prototype : any[]
>slice : (start?: number, end?: number) => any[]
@ -12,7 +12,7 @@ Array.prototype.slice(0);
>Array.prototype.slice(0) : any[]
>Array.prototype.slice : (start?: number, end?: number) => any[]
>Array.prototype : any[]
>Array : { (arrayLength?: number): any[]; <T>(arrayLength: number): T[]; <T>(...items: T[]): T[]; new (arrayLength?: number): any[]; new <T>(arrayLength: number): T[]; new <T>(...items: T[]): T[]; isArray(arg: any): boolean; prototype: any[]; }
>Array : ArrayConstructor
>prototype : any[]
>slice : (start?: number, end?: number) => any[]
@ -20,7 +20,7 @@ Array.prototype.slice(0, 1);
>Array.prototype.slice(0, 1) : any[]
>Array.prototype.slice : (start?: number, end?: number) => any[]
>Array.prototype : any[]
>Array : { (arrayLength?: number): any[]; <T>(arrayLength: number): T[]; <T>(...items: T[]): T[]; new (arrayLength?: number): any[]; new <T>(arrayLength: number): T[]; new <T>(...items: T[]): T[]; isArray(arg: any): boolean; prototype: any[]; }
>Array : ArrayConstructor
>prototype : any[]
>slice : (start?: number, end?: number) => any[]

View File

@ -4,7 +4,7 @@
Date.prototype.constructor;
>Date.prototype.constructor : Function
>Date.prototype : Date
>Date : { (): string; new (): Date; new (value: number): Date; new (value: string): Date; new (year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): Date; prototype: Date; parse(s: string): number; UTC(year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): number; now(): number; }
>Date : DateConstructor
>prototype : Date
>constructor : Function
@ -12,7 +12,7 @@ Date.prototype.toString();
>Date.prototype.toString() : string
>Date.prototype.toString : () => string
>Date.prototype : Date
>Date : { (): string; new (): Date; new (value: number): Date; new (value: string): Date; new (year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): Date; prototype: Date; parse(s: string): number; UTC(year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): number; now(): number; }
>Date : DateConstructor
>prototype : Date
>toString : () => string
@ -20,7 +20,7 @@ Date.prototype.toDateString();
>Date.prototype.toDateString() : string
>Date.prototype.toDateString : () => string
>Date.prototype : Date
>Date : { (): string; new (): Date; new (value: number): Date; new (value: string): Date; new (year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): Date; prototype: Date; parse(s: string): number; UTC(year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): number; now(): number; }
>Date : DateConstructor
>prototype : Date
>toDateString : () => string
@ -28,7 +28,7 @@ Date.prototype.toTimeString();
>Date.prototype.toTimeString() : string
>Date.prototype.toTimeString : () => string
>Date.prototype : Date
>Date : { (): string; new (): Date; new (value: number): Date; new (value: string): Date; new (year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): Date; prototype: Date; parse(s: string): number; UTC(year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): number; now(): number; }
>Date : DateConstructor
>prototype : Date
>toTimeString : () => string
@ -36,7 +36,7 @@ Date.prototype.toLocaleString();
>Date.prototype.toLocaleString() : string
>Date.prototype.toLocaleString : () => string
>Date.prototype : Date
>Date : { (): string; new (): Date; new (value: number): Date; new (value: string): Date; new (year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): Date; prototype: Date; parse(s: string): number; UTC(year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): number; now(): number; }
>Date : DateConstructor
>prototype : Date
>toLocaleString : () => string
@ -44,7 +44,7 @@ Date.prototype.toLocaleDateString();
>Date.prototype.toLocaleDateString() : string
>Date.prototype.toLocaleDateString : () => string
>Date.prototype : Date
>Date : { (): string; new (): Date; new (value: number): Date; new (value: string): Date; new (year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): Date; prototype: Date; parse(s: string): number; UTC(year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): number; now(): number; }
>Date : DateConstructor
>prototype : Date
>toLocaleDateString : () => string
@ -52,7 +52,7 @@ Date.prototype.toLocaleTimeString();
>Date.prototype.toLocaleTimeString() : string
>Date.prototype.toLocaleTimeString : () => string
>Date.prototype : Date
>Date : { (): string; new (): Date; new (value: number): Date; new (value: string): Date; new (year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): Date; prototype: Date; parse(s: string): number; UTC(year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): number; now(): number; }
>Date : DateConstructor
>prototype : Date
>toLocaleTimeString : () => string
@ -60,7 +60,7 @@ Date.prototype.valueOf();
>Date.prototype.valueOf() : number
>Date.prototype.valueOf : () => number
>Date.prototype : Date
>Date : { (): string; new (): Date; new (value: number): Date; new (value: string): Date; new (year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): Date; prototype: Date; parse(s: string): number; UTC(year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): number; now(): number; }
>Date : DateConstructor
>prototype : Date
>valueOf : () => number
@ -68,7 +68,7 @@ Date.prototype.getTime();
>Date.prototype.getTime() : number
>Date.prototype.getTime : () => number
>Date.prototype : Date
>Date : { (): string; new (): Date; new (value: number): Date; new (value: string): Date; new (year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): Date; prototype: Date; parse(s: string): number; UTC(year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): number; now(): number; }
>Date : DateConstructor
>prototype : Date
>getTime : () => number
@ -76,7 +76,7 @@ Date.prototype.getFullYear();
>Date.prototype.getFullYear() : number
>Date.prototype.getFullYear : () => number
>Date.prototype : Date
>Date : { (): string; new (): Date; new (value: number): Date; new (value: string): Date; new (year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): Date; prototype: Date; parse(s: string): number; UTC(year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): number; now(): number; }
>Date : DateConstructor
>prototype : Date
>getFullYear : () => number
@ -84,7 +84,7 @@ Date.prototype.getUTCFullYear();
>Date.prototype.getUTCFullYear() : number
>Date.prototype.getUTCFullYear : () => number
>Date.prototype : Date
>Date : { (): string; new (): Date; new (value: number): Date; new (value: string): Date; new (year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): Date; prototype: Date; parse(s: string): number; UTC(year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): number; now(): number; }
>Date : DateConstructor
>prototype : Date
>getUTCFullYear : () => number
@ -92,7 +92,7 @@ Date.prototype.getMonth();
>Date.prototype.getMonth() : number
>Date.prototype.getMonth : () => number
>Date.prototype : Date
>Date : { (): string; new (): Date; new (value: number): Date; new (value: string): Date; new (year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): Date; prototype: Date; parse(s: string): number; UTC(year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): number; now(): number; }
>Date : DateConstructor
>prototype : Date
>getMonth : () => number
@ -100,7 +100,7 @@ Date.prototype.getUTCMonth();
>Date.prototype.getUTCMonth() : number
>Date.prototype.getUTCMonth : () => number
>Date.prototype : Date
>Date : { (): string; new (): Date; new (value: number): Date; new (value: string): Date; new (year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): Date; prototype: Date; parse(s: string): number; UTC(year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): number; now(): number; }
>Date : DateConstructor
>prototype : Date
>getUTCMonth : () => number
@ -108,7 +108,7 @@ Date.prototype.getDate();
>Date.prototype.getDate() : number
>Date.prototype.getDate : () => number
>Date.prototype : Date
>Date : { (): string; new (): Date; new (value: number): Date; new (value: string): Date; new (year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): Date; prototype: Date; parse(s: string): number; UTC(year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): number; now(): number; }
>Date : DateConstructor
>prototype : Date
>getDate : () => number
@ -116,7 +116,7 @@ Date.prototype.getUTCDate();
>Date.prototype.getUTCDate() : number
>Date.prototype.getUTCDate : () => number
>Date.prototype : Date
>Date : { (): string; new (): Date; new (value: number): Date; new (value: string): Date; new (year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): Date; prototype: Date; parse(s: string): number; UTC(year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): number; now(): number; }
>Date : DateConstructor
>prototype : Date
>getUTCDate : () => number
@ -124,7 +124,7 @@ Date.prototype.getDay();
>Date.prototype.getDay() : number
>Date.prototype.getDay : () => number
>Date.prototype : Date
>Date : { (): string; new (): Date; new (value: number): Date; new (value: string): Date; new (year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): Date; prototype: Date; parse(s: string): number; UTC(year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): number; now(): number; }
>Date : DateConstructor
>prototype : Date
>getDay : () => number
@ -132,7 +132,7 @@ Date.prototype.getUTCDay();
>Date.prototype.getUTCDay() : number
>Date.prototype.getUTCDay : () => number
>Date.prototype : Date
>Date : { (): string; new (): Date; new (value: number): Date; new (value: string): Date; new (year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): Date; prototype: Date; parse(s: string): number; UTC(year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): number; now(): number; }
>Date : DateConstructor
>prototype : Date
>getUTCDay : () => number
@ -140,7 +140,7 @@ Date.prototype.getHours();
>Date.prototype.getHours() : number
>Date.prototype.getHours : () => number
>Date.prototype : Date
>Date : { (): string; new (): Date; new (value: number): Date; new (value: string): Date; new (year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): Date; prototype: Date; parse(s: string): number; UTC(year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): number; now(): number; }
>Date : DateConstructor
>prototype : Date
>getHours : () => number
@ -148,7 +148,7 @@ Date.prototype.getUTCHours();
>Date.prototype.getUTCHours() : number
>Date.prototype.getUTCHours : () => number
>Date.prototype : Date
>Date : { (): string; new (): Date; new (value: number): Date; new (value: string): Date; new (year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): Date; prototype: Date; parse(s: string): number; UTC(year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): number; now(): number; }
>Date : DateConstructor
>prototype : Date
>getUTCHours : () => number
@ -156,7 +156,7 @@ Date.prototype.getMinutes();
>Date.prototype.getMinutes() : number
>Date.prototype.getMinutes : () => number
>Date.prototype : Date
>Date : { (): string; new (): Date; new (value: number): Date; new (value: string): Date; new (year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): Date; prototype: Date; parse(s: string): number; UTC(year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): number; now(): number; }
>Date : DateConstructor
>prototype : Date
>getMinutes : () => number
@ -164,7 +164,7 @@ Date.prototype.getUTCMinutes();
>Date.prototype.getUTCMinutes() : number
>Date.prototype.getUTCMinutes : () => number
>Date.prototype : Date
>Date : { (): string; new (): Date; new (value: number): Date; new (value: string): Date; new (year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): Date; prototype: Date; parse(s: string): number; UTC(year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): number; now(): number; }
>Date : DateConstructor
>prototype : Date
>getUTCMinutes : () => number
@ -172,7 +172,7 @@ Date.prototype.getSeconds();
>Date.prototype.getSeconds() : number
>Date.prototype.getSeconds : () => number
>Date.prototype : Date
>Date : { (): string; new (): Date; new (value: number): Date; new (value: string): Date; new (year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): Date; prototype: Date; parse(s: string): number; UTC(year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): number; now(): number; }
>Date : DateConstructor
>prototype : Date
>getSeconds : () => number
@ -180,7 +180,7 @@ Date.prototype.getUTCSeconds();
>Date.prototype.getUTCSeconds() : number
>Date.prototype.getUTCSeconds : () => number
>Date.prototype : Date
>Date : { (): string; new (): Date; new (value: number): Date; new (value: string): Date; new (year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): Date; prototype: Date; parse(s: string): number; UTC(year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): number; now(): number; }
>Date : DateConstructor
>prototype : Date
>getUTCSeconds : () => number
@ -188,7 +188,7 @@ Date.prototype.getMilliseconds();
>Date.prototype.getMilliseconds() : number
>Date.prototype.getMilliseconds : () => number
>Date.prototype : Date
>Date : { (): string; new (): Date; new (value: number): Date; new (value: string): Date; new (year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): Date; prototype: Date; parse(s: string): number; UTC(year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): number; now(): number; }
>Date : DateConstructor
>prototype : Date
>getMilliseconds : () => number
@ -196,7 +196,7 @@ Date.prototype.getUTCMilliseconds();
>Date.prototype.getUTCMilliseconds() : number
>Date.prototype.getUTCMilliseconds : () => number
>Date.prototype : Date
>Date : { (): string; new (): Date; new (value: number): Date; new (value: string): Date; new (year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): Date; prototype: Date; parse(s: string): number; UTC(year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): number; now(): number; }
>Date : DateConstructor
>prototype : Date
>getUTCMilliseconds : () => number
@ -204,7 +204,7 @@ Date.prototype.getTimezoneOffset();
>Date.prototype.getTimezoneOffset() : number
>Date.prototype.getTimezoneOffset : () => number
>Date.prototype : Date
>Date : { (): string; new (): Date; new (value: number): Date; new (value: string): Date; new (year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): Date; prototype: Date; parse(s: string): number; UTC(year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): number; now(): number; }
>Date : DateConstructor
>prototype : Date
>getTimezoneOffset : () => number
@ -212,7 +212,7 @@ Date.prototype.setTime(0);
>Date.prototype.setTime(0) : number
>Date.prototype.setTime : (time: number) => number
>Date.prototype : Date
>Date : { (): string; new (): Date; new (value: number): Date; new (value: string): Date; new (year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): Date; prototype: Date; parse(s: string): number; UTC(year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): number; now(): number; }
>Date : DateConstructor
>prototype : Date
>setTime : (time: number) => number
@ -220,7 +220,7 @@ Date.prototype.setMilliseconds(0);
>Date.prototype.setMilliseconds(0) : number
>Date.prototype.setMilliseconds : (ms: number) => number
>Date.prototype : Date
>Date : { (): string; new (): Date; new (value: number): Date; new (value: string): Date; new (year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): Date; prototype: Date; parse(s: string): number; UTC(year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): number; now(): number; }
>Date : DateConstructor
>prototype : Date
>setMilliseconds : (ms: number) => number
@ -228,7 +228,7 @@ Date.prototype.setUTCMilliseconds(0);
>Date.prototype.setUTCMilliseconds(0) : number
>Date.prototype.setUTCMilliseconds : (ms: number) => number
>Date.prototype : Date
>Date : { (): string; new (): Date; new (value: number): Date; new (value: string): Date; new (year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): Date; prototype: Date; parse(s: string): number; UTC(year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): number; now(): number; }
>Date : DateConstructor
>prototype : Date
>setUTCMilliseconds : (ms: number) => number
@ -236,7 +236,7 @@ Date.prototype.setSeconds(0);
>Date.prototype.setSeconds(0) : number
>Date.prototype.setSeconds : (sec: number, ms?: number) => number
>Date.prototype : Date
>Date : { (): string; new (): Date; new (value: number): Date; new (value: string): Date; new (year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): Date; prototype: Date; parse(s: string): number; UTC(year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): number; now(): number; }
>Date : DateConstructor
>prototype : Date
>setSeconds : (sec: number, ms?: number) => number
@ -244,7 +244,7 @@ Date.prototype.setUTCSeconds(0);
>Date.prototype.setUTCSeconds(0) : number
>Date.prototype.setUTCSeconds : (sec: number, ms?: number) => number
>Date.prototype : Date
>Date : { (): string; new (): Date; new (value: number): Date; new (value: string): Date; new (year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): Date; prototype: Date; parse(s: string): number; UTC(year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): number; now(): number; }
>Date : DateConstructor
>prototype : Date
>setUTCSeconds : (sec: number, ms?: number) => number
@ -252,7 +252,7 @@ Date.prototype.setMinutes(0);
>Date.prototype.setMinutes(0) : number
>Date.prototype.setMinutes : (min: number, sec?: number, ms?: number) => number
>Date.prototype : Date
>Date : { (): string; new (): Date; new (value: number): Date; new (value: string): Date; new (year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): Date; prototype: Date; parse(s: string): number; UTC(year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): number; now(): number; }
>Date : DateConstructor
>prototype : Date
>setMinutes : (min: number, sec?: number, ms?: number) => number
@ -260,7 +260,7 @@ Date.prototype.setUTCMinutes(0);
>Date.prototype.setUTCMinutes(0) : number
>Date.prototype.setUTCMinutes : (min: number, sec?: number, ms?: number) => number
>Date.prototype : Date
>Date : { (): string; new (): Date; new (value: number): Date; new (value: string): Date; new (year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): Date; prototype: Date; parse(s: string): number; UTC(year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): number; now(): number; }
>Date : DateConstructor
>prototype : Date
>setUTCMinutes : (min: number, sec?: number, ms?: number) => number
@ -268,7 +268,7 @@ Date.prototype.setHours(0);
>Date.prototype.setHours(0) : number
>Date.prototype.setHours : (hours: number, min?: number, sec?: number, ms?: number) => number
>Date.prototype : Date
>Date : { (): string; new (): Date; new (value: number): Date; new (value: string): Date; new (year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): Date; prototype: Date; parse(s: string): number; UTC(year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): number; now(): number; }
>Date : DateConstructor
>prototype : Date
>setHours : (hours: number, min?: number, sec?: number, ms?: number) => number
@ -276,7 +276,7 @@ Date.prototype.setUTCHours(0);
>Date.prototype.setUTCHours(0) : number
>Date.prototype.setUTCHours : (hours: number, min?: number, sec?: number, ms?: number) => number
>Date.prototype : Date
>Date : { (): string; new (): Date; new (value: number): Date; new (value: string): Date; new (year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): Date; prototype: Date; parse(s: string): number; UTC(year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): number; now(): number; }
>Date : DateConstructor
>prototype : Date
>setUTCHours : (hours: number, min?: number, sec?: number, ms?: number) => number
@ -284,7 +284,7 @@ Date.prototype.setDate(0);
>Date.prototype.setDate(0) : number
>Date.prototype.setDate : (date: number) => number
>Date.prototype : Date
>Date : { (): string; new (): Date; new (value: number): Date; new (value: string): Date; new (year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): Date; prototype: Date; parse(s: string): number; UTC(year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): number; now(): number; }
>Date : DateConstructor
>prototype : Date
>setDate : (date: number) => number
@ -292,7 +292,7 @@ Date.prototype.setUTCDate(0);
>Date.prototype.setUTCDate(0) : number
>Date.prototype.setUTCDate : (date: number) => number
>Date.prototype : Date
>Date : { (): string; new (): Date; new (value: number): Date; new (value: string): Date; new (year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): Date; prototype: Date; parse(s: string): number; UTC(year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): number; now(): number; }
>Date : DateConstructor
>prototype : Date
>setUTCDate : (date: number) => number
@ -300,7 +300,7 @@ Date.prototype.setMonth(0);
>Date.prototype.setMonth(0) : number
>Date.prototype.setMonth : (month: number, date?: number) => number
>Date.prototype : Date
>Date : { (): string; new (): Date; new (value: number): Date; new (value: string): Date; new (year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): Date; prototype: Date; parse(s: string): number; UTC(year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): number; now(): number; }
>Date : DateConstructor
>prototype : Date
>setMonth : (month: number, date?: number) => number
@ -308,7 +308,7 @@ Date.prototype.setUTCMonth(0);
>Date.prototype.setUTCMonth(0) : number
>Date.prototype.setUTCMonth : (month: number, date?: number) => number
>Date.prototype : Date
>Date : { (): string; new (): Date; new (value: number): Date; new (value: string): Date; new (year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): Date; prototype: Date; parse(s: string): number; UTC(year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): number; now(): number; }
>Date : DateConstructor
>prototype : Date
>setUTCMonth : (month: number, date?: number) => number
@ -316,7 +316,7 @@ Date.prototype.setFullYear(0);
>Date.prototype.setFullYear(0) : number
>Date.prototype.setFullYear : (year: number, month?: number, date?: number) => number
>Date.prototype : Date
>Date : { (): string; new (): Date; new (value: number): Date; new (value: string): Date; new (year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): Date; prototype: Date; parse(s: string): number; UTC(year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): number; now(): number; }
>Date : DateConstructor
>prototype : Date
>setFullYear : (year: number, month?: number, date?: number) => number
@ -324,7 +324,7 @@ Date.prototype.setUTCFullYear(0);
>Date.prototype.setUTCFullYear(0) : number
>Date.prototype.setUTCFullYear : (year: number, month?: number, date?: number) => number
>Date.prototype : Date
>Date : { (): string; new (): Date; new (value: number): Date; new (value: string): Date; new (year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): Date; prototype: Date; parse(s: string): number; UTC(year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): number; now(): number; }
>Date : DateConstructor
>prototype : Date
>setUTCFullYear : (year: number, month?: number, date?: number) => number
@ -332,7 +332,7 @@ Date.prototype.toUTCString();
>Date.prototype.toUTCString() : string
>Date.prototype.toUTCString : () => string
>Date.prototype : Date
>Date : { (): string; new (): Date; new (value: number): Date; new (value: string): Date; new (year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): Date; prototype: Date; parse(s: string): number; UTC(year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): number; now(): number; }
>Date : DateConstructor
>prototype : Date
>toUTCString : () => string
@ -340,7 +340,7 @@ Date.prototype.toISOString();
>Date.prototype.toISOString() : string
>Date.prototype.toISOString : () => string
>Date.prototype : Date
>Date : { (): string; new (): Date; new (value: number): Date; new (value: string): Date; new (year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): Date; prototype: Date; parse(s: string): number; UTC(year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): number; now(): number; }
>Date : DateConstructor
>prototype : Date
>toISOString : () => string
@ -348,7 +348,7 @@ Date.prototype.toJSON(null);
>Date.prototype.toJSON(null) : string
>Date.prototype.toJSON : (key?: any) => string
>Date.prototype : Date
>Date : { (): string; new (): Date; new (value: number): Date; new (value: string): Date; new (year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): Date; prototype: Date; parse(s: string): number; UTC(year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): number; now(): number; }
>Date : DateConstructor
>prototype : Date
>toJSON : (key?: any) => string

View File

@ -4,7 +4,7 @@
Object.prototype.constructor;
>Object.prototype.constructor : Function
>Object.prototype : Object
>Object : { (): any; (value: any): any; new (value?: any): Object; prototype: Object; getPrototypeOf(o: any): any; getOwnPropertyDescriptor(o: any, p: string): PropertyDescriptor; getOwnPropertyNames(o: any): string[]; create(o: any, properties?: PropertyDescriptorMap): any; defineProperty(o: any, p: string, attributes: PropertyDescriptor): any; defineProperties(o: any, properties: PropertyDescriptorMap): any; seal(o: any): any; freeze(o: any): any; preventExtensions(o: any): any; isSealed(o: any): boolean; isFrozen(o: any): boolean; isExtensible(o: any): boolean; keys(o: any): string[]; }
>Object : ObjectConstructor
>prototype : Object
>constructor : Function
@ -12,7 +12,7 @@ Object.prototype.toString();
>Object.prototype.toString() : string
>Object.prototype.toString : () => string
>Object.prototype : Object
>Object : { (): any; (value: any): any; new (value?: any): Object; prototype: Object; getPrototypeOf(o: any): any; getOwnPropertyDescriptor(o: any, p: string): PropertyDescriptor; getOwnPropertyNames(o: any): string[]; create(o: any, properties?: PropertyDescriptorMap): any; defineProperty(o: any, p: string, attributes: PropertyDescriptor): any; defineProperties(o: any, properties: PropertyDescriptorMap): any; seal(o: any): any; freeze(o: any): any; preventExtensions(o: any): any; isSealed(o: any): boolean; isFrozen(o: any): boolean; isExtensible(o: any): boolean; keys(o: any): string[]; }
>Object : ObjectConstructor
>prototype : Object
>toString : () => string
@ -20,7 +20,7 @@ Object.prototype.toLocaleString();
>Object.prototype.toLocaleString() : string
>Object.prototype.toLocaleString : () => string
>Object.prototype : Object
>Object : { (): any; (value: any): any; new (value?: any): Object; prototype: Object; getPrototypeOf(o: any): any; getOwnPropertyDescriptor(o: any, p: string): PropertyDescriptor; getOwnPropertyNames(o: any): string[]; create(o: any, properties?: PropertyDescriptorMap): any; defineProperty(o: any, p: string, attributes: PropertyDescriptor): any; defineProperties(o: any, properties: PropertyDescriptorMap): any; seal(o: any): any; freeze(o: any): any; preventExtensions(o: any): any; isSealed(o: any): boolean; isFrozen(o: any): boolean; isExtensible(o: any): boolean; keys(o: any): string[]; }
>Object : ObjectConstructor
>prototype : Object
>toLocaleString : () => string
@ -28,7 +28,7 @@ Object.prototype.valueOf();
>Object.prototype.valueOf() : Object
>Object.prototype.valueOf : () => Object
>Object.prototype : Object
>Object : { (): any; (value: any): any; new (value?: any): Object; prototype: Object; getPrototypeOf(o: any): any; getOwnPropertyDescriptor(o: any, p: string): PropertyDescriptor; getOwnPropertyNames(o: any): string[]; create(o: any, properties?: PropertyDescriptorMap): any; defineProperty(o: any, p: string, attributes: PropertyDescriptor): any; defineProperties(o: any, properties: PropertyDescriptorMap): any; seal(o: any): any; freeze(o: any): any; preventExtensions(o: any): any; isSealed(o: any): boolean; isFrozen(o: any): boolean; isExtensible(o: any): boolean; keys(o: any): string[]; }
>Object : ObjectConstructor
>prototype : Object
>valueOf : () => Object
@ -36,7 +36,7 @@ Object.prototype.hasOwnProperty("string");
>Object.prototype.hasOwnProperty("string") : boolean
>Object.prototype.hasOwnProperty : (v: string) => boolean
>Object.prototype : Object
>Object : { (): any; (value: any): any; new (value?: any): Object; prototype: Object; getPrototypeOf(o: any): any; getOwnPropertyDescriptor(o: any, p: string): PropertyDescriptor; getOwnPropertyNames(o: any): string[]; create(o: any, properties?: PropertyDescriptorMap): any; defineProperty(o: any, p: string, attributes: PropertyDescriptor): any; defineProperties(o: any, properties: PropertyDescriptorMap): any; seal(o: any): any; freeze(o: any): any; preventExtensions(o: any): any; isSealed(o: any): boolean; isFrozen(o: any): boolean; isExtensible(o: any): boolean; keys(o: any): string[]; }
>Object : ObjectConstructor
>prototype : Object
>hasOwnProperty : (v: string) => boolean
@ -44,16 +44,16 @@ Object.prototype.isPrototypeOf(Object);
>Object.prototype.isPrototypeOf(Object) : boolean
>Object.prototype.isPrototypeOf : (v: Object) => boolean
>Object.prototype : Object
>Object : { (): any; (value: any): any; new (value?: any): Object; prototype: Object; getPrototypeOf(o: any): any; getOwnPropertyDescriptor(o: any, p: string): PropertyDescriptor; getOwnPropertyNames(o: any): string[]; create(o: any, properties?: PropertyDescriptorMap): any; defineProperty(o: any, p: string, attributes: PropertyDescriptor): any; defineProperties(o: any, properties: PropertyDescriptorMap): any; seal(o: any): any; freeze(o: any): any; preventExtensions(o: any): any; isSealed(o: any): boolean; isFrozen(o: any): boolean; isExtensible(o: any): boolean; keys(o: any): string[]; }
>Object : ObjectConstructor
>prototype : Object
>isPrototypeOf : (v: Object) => boolean
>Object : { (): any; (value: any): any; new (value?: any): Object; prototype: Object; getPrototypeOf(o: any): any; getOwnPropertyDescriptor(o: any, p: string): PropertyDescriptor; getOwnPropertyNames(o: any): string[]; create(o: any, properties?: PropertyDescriptorMap): any; defineProperty(o: any, p: string, attributes: PropertyDescriptor): any; defineProperties(o: any, properties: PropertyDescriptorMap): any; seal(o: any): any; freeze(o: any): any; preventExtensions(o: any): any; isSealed(o: any): boolean; isFrozen(o: any): boolean; isExtensible(o: any): boolean; keys(o: any): string[]; }
>Object : ObjectConstructor
Object.prototype.propertyIsEnumerable("string");
>Object.prototype.propertyIsEnumerable("string") : boolean
>Object.prototype.propertyIsEnumerable : (v: string) => boolean
>Object.prototype : Object
>Object : { (): any; (value: any): any; new (value?: any): Object; prototype: Object; getPrototypeOf(o: any): any; getOwnPropertyDescriptor(o: any, p: string): PropertyDescriptor; getOwnPropertyNames(o: any): string[]; create(o: any, properties?: PropertyDescriptorMap): any; defineProperty(o: any, p: string, attributes: PropertyDescriptor): any; defineProperties(o: any, properties: PropertyDescriptorMap): any; seal(o: any): any; freeze(o: any): any; preventExtensions(o: any): any; isSealed(o: any): boolean; isFrozen(o: any): boolean; isExtensible(o: any): boolean; keys(o: any): string[]; }
>Object : ObjectConstructor
>prototype : Object
>propertyIsEnumerable : (v: string) => boolean

View File

@ -4,7 +4,7 @@ String.prototype.slice();
>String.prototype.slice() : string
>String.prototype.slice : (start?: number, end?: number) => string
>String.prototype : String
>String : { (value?: any): string; new (value?: any): String; prototype: String; fromCharCode(...codes: number[]): string; }
>String : StringConstructor
>prototype : String
>slice : (start?: number, end?: number) => string
@ -12,7 +12,7 @@ String.prototype.slice(0);
>String.prototype.slice(0) : string
>String.prototype.slice : (start?: number, end?: number) => string
>String.prototype : String
>String : { (value?: any): string; new (value?: any): String; prototype: String; fromCharCode(...codes: number[]): string; }
>String : StringConstructor
>prototype : String
>slice : (start?: number, end?: number) => string
@ -20,7 +20,7 @@ String.prototype.slice(0,1);
>String.prototype.slice(0,1) : string
>String.prototype.slice : (start?: number, end?: number) => string
>String.prototype : String
>String : { (value?: any): string; new (value?: any): String; prototype: String; fromCharCode(...codes: number[]): string; }
>String : StringConstructor
>prototype : String
>slice : (start?: number, end?: number) => string

View File

@ -27,7 +27,7 @@ module M {
>this : Gar
>fa : Foo[]
>new Array<Foo>(this.x * this.y) : Foo[]
>Array : { (arrayLength?: number): any[]; <T>(arrayLength: number): T[]; <T>(...items: T[]): T[]; new (arrayLength?: number): any[]; new <T>(arrayLength: number): T[]; new <T>(...items: T[]): T[]; isArray(arg: any): boolean; prototype: any[]; }
>Array : ArrayConstructor
>Foo : Foo
>this.x * this.y : number
>this.x : number

View File

@ -51,13 +51,13 @@ var r4 = true ? new Date() : null;
>r4 : Date
>true ? new Date() : null : Date
>new Date() : Date
>Date : { (): string; new (): Date; new (value: number): Date; new (value: string): Date; new (year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): Date; prototype: Date; parse(s: string): number; UTC(year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): number; now(): number; }
>Date : DateConstructor
var r4 = true ? null : new Date();
>r4 : Date
>true ? null : new Date() : Date
>new Date() : Date
>Date : { (): string; new (): Date; new (value: number): Date; new (value: string): Date; new (year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): Date; prototype: Date; parse(s: string): number; UTC(year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): number; now(): number; }
>Date : DateConstructor
var r5 = true ? /1/ : null;
>r5 : RegExp
@ -281,13 +281,13 @@ var r19 = true ? new Object() : null;
>r19 : Object
>true ? new Object() : null : Object
>new Object() : Object
>Object : { (): any; (value: any): any; new (value?: any): Object; prototype: Object; getPrototypeOf(o: any): any; getOwnPropertyDescriptor(o: any, p: string): PropertyDescriptor; getOwnPropertyNames(o: any): string[]; create(o: any, properties?: PropertyDescriptorMap): any; defineProperty(o: any, p: string, attributes: PropertyDescriptor): any; defineProperties(o: any, properties: PropertyDescriptorMap): any; seal(o: any): any; freeze(o: any): any; preventExtensions(o: any): any; isSealed(o: any): boolean; isFrozen(o: any): boolean; isExtensible(o: any): boolean; keys(o: any): string[]; }
>Object : ObjectConstructor
var r19 = true ? null : new Object();
>r19 : Object
>true ? null : new Object() : Object
>new Object() : Object
>Object : { (): any; (value: any): any; new (value?: any): Object; prototype: Object; getPrototypeOf(o: any): any; getOwnPropertyDescriptor(o: any, p: string): PropertyDescriptor; getOwnPropertyNames(o: any): string[]; create(o: any, properties?: PropertyDescriptorMap): any; defineProperty(o: any, p: string, attributes: PropertyDescriptor): any; defineProperties(o: any, properties: PropertyDescriptorMap): any; seal(o: any): any; freeze(o: any): any; preventExtensions(o: any): any; isSealed(o: any): boolean; isFrozen(o: any): boolean; isExtensible(o: any): boolean; keys(o: any): string[]; }
>Object : ObjectConstructor
var r20 = true ? {} : null;
>r20 : {}

View File

@ -6,7 +6,7 @@
Object.defineProperty(obj, "accProperty", <PropertyDescriptor>({
>Object.defineProperty(obj, "accProperty", <PropertyDescriptor>({ get: function () { eval("public = 1;"); return 11; }, set: function (v) { } })) : any
>Object.defineProperty : (o: any, p: string, attributes: PropertyDescriptor) => any
>Object : { (): any; (value: any): any; new (value?: any): Object; prototype: Object; getPrototypeOf(o: any): any; getOwnPropertyDescriptor(o: any, p: string): PropertyDescriptor; getOwnPropertyNames(o: any): string[]; create(o: any, properties?: PropertyDescriptorMap): any; defineProperty(o: any, p: string, attributes: PropertyDescriptor): any; defineProperties(o: any, properties: PropertyDescriptorMap): any; seal(o: any): any; freeze(o: any): any; preventExtensions(o: any): any; isSealed(o: any): boolean; isFrozen(o: any): boolean; isExtensible(o: any): boolean; keys(o: any): string[]; }
>Object : ObjectConstructor
>defineProperty : (o: any, p: string, attributes: PropertyDescriptor) => any
>obj : {}
><PropertyDescriptor>({ get: function () { eval("public = 1;"); return 11; }, set: function (v) { } }) : PropertyDescriptor

View File

@ -343,43 +343,43 @@ var r13 = i[-01]
>-01 : number
var b = {
>b : { "1": number; "0.1": void; ".1": Object; "1.": string; "1..": boolean; "1.0": Date; "-1.0": RegExp; "-1": { (): string; new (): Date; new (value: number): Date; new (value: string): Date; new (year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): Date; prototype: Date; parse(s: string): number; UTC(year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): number; now(): number; }; }
>{ "0.1": <void>null, ".1": new Object(), "1": 1, "1.": "", "1..": true, "1.0": new Date(), "-1.0": /123/, "-1": Date} : { "1": number; "0.1": void; ".1": Object; "1.": string; "1..": boolean; "1.0": Date; "-1.0": RegExp; "-1": { (): string; new (): Date; new (value: number): Date; new (value: string): Date; new (year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): Date; prototype: Date; parse(s: string): number; UTC(year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): number; now(): number; }; }
>b : { "1": number; "0.1": void; ".1": Object; "1.": string; "1..": boolean; "1.0": Date; "-1.0": RegExp; "-1": DateConstructor; }
>{ "0.1": <void>null, ".1": new Object(), "1": 1, "1.": "", "1..": true, "1.0": new Date(), "-1.0": /123/, "-1": Date} : { "1": number; "0.1": void; ".1": Object; "1.": string; "1..": boolean; "1.0": Date; "-1.0": RegExp; "-1": DateConstructor; }
"0.1": <void>null,
><void>null : void
".1": new Object(),
>new Object() : Object
>Object : { (): any; (value: any): any; new (value?: any): Object; prototype: Object; getPrototypeOf(o: any): any; getOwnPropertyDescriptor(o: any, p: string): PropertyDescriptor; getOwnPropertyNames(o: any): string[]; create(o: any, properties?: PropertyDescriptorMap): any; defineProperty(o: any, p: string, attributes: PropertyDescriptor): any; defineProperties(o: any, properties: PropertyDescriptorMap): any; seal(o: any): any; freeze(o: any): any; preventExtensions(o: any): any; isSealed(o: any): boolean; isFrozen(o: any): boolean; isExtensible(o: any): boolean; keys(o: any): string[]; }
>Object : ObjectConstructor
"1": 1,
"1.": "",
"1..": true,
"1.0": new Date(),
>new Date() : Date
>Date : { (): string; new (): Date; new (value: number): Date; new (value: string): Date; new (year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): Date; prototype: Date; parse(s: string): number; UTC(year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): number; now(): number; }
>Date : DateConstructor
"-1.0": /123/,
"-1": Date
>Date : { (): string; new (): Date; new (value: number): Date; new (value: string): Date; new (year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): Date; prototype: Date; parse(s: string): number; UTC(year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): number; now(): number; }
>Date : DateConstructor
};
var r1 = b['0.1'];
>r1 : void
>b['0.1'] : void
>b : { "1": number; "0.1": void; ".1": Object; "1.": string; "1..": boolean; "1.0": Date; "-1.0": RegExp; "-1": { (): string; new (): Date; new (value: number): Date; new (value: string): Date; new (year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): Date; prototype: Date; parse(s: string): number; UTC(year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): number; now(): number; }; }
>b : { "1": number; "0.1": void; ".1": Object; "1.": string; "1..": boolean; "1.0": Date; "-1.0": RegExp; "-1": DateConstructor; }
var r2 = b['.1'];
>r2 : Object
>b['.1'] : Object
>b : { "1": number; "0.1": void; ".1": Object; "1.": string; "1..": boolean; "1.0": Date; "-1.0": RegExp; "-1": { (): string; new (): Date; new (value: number): Date; new (value: string): Date; new (year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): Date; prototype: Date; parse(s: string): number; UTC(year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): number; now(): number; }; }
>b : { "1": number; "0.1": void; ".1": Object; "1.": string; "1..": boolean; "1.0": Date; "-1.0": RegExp; "-1": DateConstructor; }
var r3 = b['1'];
>r3 : number
>b['1'] : number
>b : { "1": number; "0.1": void; ".1": Object; "1.": string; "1..": boolean; "1.0": Date; "-1.0": RegExp; "-1": { (): string; new (): Date; new (value: number): Date; new (value: string): Date; new (year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): Date; prototype: Date; parse(s: string): number; UTC(year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): number; now(): number; }; }
>b : { "1": number; "0.1": void; ".1": Object; "1.": string; "1..": boolean; "1.0": Date; "-1.0": RegExp; "-1": DateConstructor; }
var r3 = c[1];
>r3 : number
@ -389,7 +389,7 @@ var r3 = c[1];
var r4 = b['1.'];
>r4 : string
>b['1.'] : string
>b : { "1": number; "0.1": void; ".1": Object; "1.": string; "1..": boolean; "1.0": Date; "-1.0": RegExp; "-1": { (): string; new (): Date; new (value: number): Date; new (value: string): Date; new (year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): Date; prototype: Date; parse(s: string): number; UTC(year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): number; now(): number; }; }
>b : { "1": number; "0.1": void; ".1": Object; "1.": string; "1..": boolean; "1.0": Date; "-1.0": RegExp; "-1": DateConstructor; }
var r3 = c[1.]; // same as indexing by 1 when done numerically
>r3 : number
@ -399,12 +399,12 @@ var r3 = c[1.]; // same as indexing by 1 when done numerically
var r5 = b['1..'];
>r5 : boolean
>b['1..'] : boolean
>b : { "1": number; "0.1": void; ".1": Object; "1.": string; "1..": boolean; "1.0": Date; "-1.0": RegExp; "-1": { (): string; new (): Date; new (value: number): Date; new (value: string): Date; new (year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): Date; prototype: Date; parse(s: string): number; UTC(year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): number; now(): number; }; }
>b : { "1": number; "0.1": void; ".1": Object; "1.": string; "1..": boolean; "1.0": Date; "-1.0": RegExp; "-1": DateConstructor; }
var r6 = b['1.0'];
>r6 : Date
>b['1.0'] : Date
>b : { "1": number; "0.1": void; ".1": Object; "1.": string; "1..": boolean; "1.0": Date; "-1.0": RegExp; "-1": { (): string; new (): Date; new (value: number): Date; new (value: string): Date; new (year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): Date; prototype: Date; parse(s: string): number; UTC(year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): number; now(): number; }; }
>b : { "1": number; "0.1": void; ".1": Object; "1.": string; "1..": boolean; "1.0": Date; "-1.0": RegExp; "-1": DateConstructor; }
var r3 = c[1.0]; // same as indexing by 1 when done numerically
>r3 : number

View File

@ -130,5 +130,5 @@ var r4 = b.foo(new Date());
>b : { foo: <T extends Date>(x: T) => number; }
>foo : <T extends Date>(x: T) => number
>new Date() : Date
>Date : { (): string; new (): Date; new (value: number): Date; new (value: string): Date; new (year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): Date; prototype: Date; parse(s: string): number; UTC(year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): number; now(): number; }
>Date : DateConstructor

View File

@ -1,9 +1,9 @@
tests/cases/compiler/redefineArray.ts(1,1): error TS2323: Type '(n: number, s: string) => number' is not assignable to type '{ (arrayLength?: number): any[]; <T>(arrayLength: number): T[]; <T>(...items: T[]): T[]; new (arrayLength?: number): any[]; new <T>(arrayLength: number): T[]; new <T>(...items: T[]): T[]; isArray(arg: any): boolean; prototype: any[]; }'.
tests/cases/compiler/redefineArray.ts(1,1): error TS2323: Type '(n: number, s: string) => number' is not assignable to type 'ArrayConstructor'.
Property 'isArray' is missing in type '(n: number, s: string) => number'.
==== tests/cases/compiler/redefineArray.ts (1 errors) ====
Array = function (n:number, s:string) {return n;};
~~~~~
!!! error TS2323: Type '(n: number, s: string) => number' is not assignable to type '{ (arrayLength?: number): any[]; <T>(arrayLength: number): T[]; <T>(...items: T[]): T[]; new (arrayLength?: number): any[]; new <T>(arrayLength: number): T[]; new <T>(...items: T[]): T[]; isArray(arg: any): boolean; prototype: any[]; }'.
!!! error TS2323: Type '(n: number, s: string) => number' is not assignable to type 'ArrayConstructor'.
!!! error TS2323: Property 'isArray' is missing in type '(n: number, s: string) => number'.

View File

@ -20,7 +20,7 @@ function fn6(): Date { return new Date(12); }
>fn6 : () => Date
>Date : Date
>new Date(12) : Date
>Date : { (): string; new (): Date; new (value: number): Date; new (value: string): Date; new (year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): Date; prototype: Date; parse(s: string): number; UTC(year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): number; now(): number; }
>Date : DateConstructor
function fn7(): any { return null; }
>fn7 : () => any

View File

@ -16,7 +16,7 @@ module M1 {
>Array.prototype.reduce.apply : (thisArg: any, argArray?: any) => any
>Array.prototype.reduce : { (callbackfn: (previousValue: any, currentValue: any, currentIndex: number, array: any[]) => any, initialValue?: any): any; <U>(callbackfn: (previousValue: U, currentValue: any, currentIndex: number, array: any[]) => U, initialValue: U): U; }
>Array.prototype : any[]
>Array : { (arrayLength?: number): any[]; <T>(arrayLength: number): T[]; <T>(...items: T[]): T[]; new (arrayLength?: number): any[]; new <T>(arrayLength: number): T[]; new <T>(...items: T[]): T[]; isArray(arg: any): boolean; prototype: any[]; }
>Array : ArrayConstructor
>prototype : any[]
>reduce : { (callbackfn: (previousValue: any, currentValue: any, currentIndex: number, array: any[]) => any, initialValue?: any): any; <U>(callbackfn: (previousValue: U, currentValue: any, currentIndex: number, array: any[]) => U, initialValue: U): U; }
>apply : (thisArg: any, argArray?: any) => any

View File

@ -35,7 +35,7 @@ try
throw new Error();
>new Error() : Error
>Error : { (message?: string): Error; new (message?: string): Error; prototype: Error; }
>Error : ErrorConstructor
}
catch (e)
>e : any

View File

@ -24,7 +24,7 @@ var r = f({ s: new Object() }); // ok
>{ s: new Object() } : { s: Object; }
>s : Object
>new Object() : Object
>Object : { (): any; (value: any): any; new (value?: any): Object; prototype: Object; getPrototypeOf(o: any): any; getOwnPropertyDescriptor(o: any, p: string): PropertyDescriptor; getOwnPropertyNames(o: any): string[]; create(o: any, properties?: PropertyDescriptorMap): any; defineProperty(o: any, p: string, attributes: PropertyDescriptor): any; defineProperties(o: any, properties: PropertyDescriptorMap): any; seal(o: any): any; freeze(o: any): any; preventExtensions(o: any): any; isSealed(o: any): boolean; isFrozen(o: any): boolean; isExtensible(o: any): boolean; keys(o: any): string[]; }
>Object : ObjectConstructor
r.s && r.s.toFixed(); // would blow up at runtime
>r.s && r.s.toFixed() : string

View File

@ -25,11 +25,11 @@ switch (x) {
case new Date(12):
>new Date(12) : Date
>Date : { (): string; new (): Date; new (value: number): Date; new (value: string): Date; new (year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): Date; prototype: Date; parse(s: string): number; UTC(year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): number; now(): number; }
>Date : DateConstructor
case new Object():
>new Object() : Object
>Object : { (): any; (value: any): any; new (value?: any): Object; prototype: Object; getPrototypeOf(o: any): any; getOwnPropertyDescriptor(o: any, p: string): PropertyDescriptor; getOwnPropertyNames(o: any): string[]; create(o: any, properties?: PropertyDescriptorMap): any; defineProperty(o: any, p: string, attributes: PropertyDescriptor): any; defineProperties(o: any, properties: PropertyDescriptorMap): any; seal(o: any): any; freeze(o: any): any; preventExtensions(o: any): any; isSealed(o: any): boolean; isFrozen(o: any): boolean; isExtensible(o: any): boolean; keys(o: any): string[]; }
>Object : ObjectConstructor
case /[a-z]/:
case[]:
@ -111,11 +111,11 @@ switch (undefined) { }
switch (new Date(12)) { }
>new Date(12) : Date
>Date : { (): string; new (): Date; new (value: number): Date; new (value: string): Date; new (year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): Date; prototype: Date; parse(s: string): number; UTC(year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): number; now(): number; }
>Date : DateConstructor
switch (new Object()) { }
>new Object() : Object
>Object : { (): any; (value: any): any; new (value?: any): Object; prototype: Object; getPrototypeOf(o: any): any; getOwnPropertyDescriptor(o: any, p: string): PropertyDescriptor; getOwnPropertyNames(o: any): string[]; create(o: any, properties?: PropertyDescriptorMap): any; defineProperty(o: any, p: string, attributes: PropertyDescriptor): any; defineProperties(o: any, properties: PropertyDescriptorMap): any; seal(o: any): any; freeze(o: any): any; preventExtensions(o: any): any; isSealed(o: any): boolean; isFrozen(o: any): boolean; isExtensible(o: any): boolean; keys(o: any): string[]; }
>Object : ObjectConstructor
switch (/[a-z]/) { }
switch ([]) { }

View File

@ -74,7 +74,7 @@ throw aString;
var aDate = new Date(12);
>aDate : Date
>new Date(12) : Date
>Date : { (): string; new (): Date; new (value: number): Date; new (value: string): Date; new (year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): Date; prototype: Date; parse(s: string): number; UTC(year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): number; now(): number; }
>Date : DateConstructor
throw aDate;
>aDate : Date
@ -82,7 +82,7 @@ throw aDate;
var anObject = new Object();
>anObject : Object
>new Object() : Object
>Object : { (): any; (value: any): any; new (value?: any): Object; prototype: Object; getPrototypeOf(o: any): any; getOwnPropertyDescriptor(o: any, p: string): PropertyDescriptor; getOwnPropertyNames(o: any): string[]; create(o: any, properties?: PropertyDescriptorMap): any; defineProperty(o: any, p: string, attributes: PropertyDescriptor): any; defineProperties(o: any, properties: PropertyDescriptorMap): any; seal(o: any): any; freeze(o: any): any; preventExtensions(o: any): any; isSealed(o: any): boolean; isFrozen(o: any): boolean; isExtensible(o: any): boolean; keys(o: any): string[]; }
>Object : ObjectConstructor
throw anObject;
>anObject : Object
@ -225,7 +225,7 @@ throw ['a', ['b']];
throw /[a-z]/;
throw new Date();
>new Date() : Date
>Date : { (): string; new (): Date; new (value: number): Date; new (value: string): Date; new (year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): Date; prototype: Date; parse(s: string): number; UTC(year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): number; now(): number; }
>Date : DateConstructor
throw new C();
>new C() : C
@ -233,7 +233,7 @@ throw new C();
throw new Object();
>new Object() : Object
>Object : { (): any; (value: any): any; new (value?: any): Object; prototype: Object; getPrototypeOf(o: any): any; getOwnPropertyDescriptor(o: any, p: string): PropertyDescriptor; getOwnPropertyNames(o: any): string[]; create(o: any, properties?: PropertyDescriptorMap): any; defineProperty(o: any, p: string, attributes: PropertyDescriptor): any; defineProperties(o: any, properties: PropertyDescriptorMap): any; seal(o: any): any; freeze(o: any): any; preventExtensions(o: any): any; isSealed(o: any): boolean; isFrozen(o: any): boolean; isExtensible(o: any): boolean; keys(o: any): string[]; }
>Object : ObjectConstructor
throw new D<number>();
>new D<number>() : D<number>

View File

@ -635,7 +635,7 @@ var log = _.bind((message?: string, ...rest: string[]) => { }, Date);
>(message?: string, ...rest: string[]) => { } : (message?: string, ...rest: string[]) => void
>message : string
>rest : string[]
>Date : { (): string; new (): Date; new (value: number): Date; new (value: string): Date; new (year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): Date; prototype: Date; parse(s: string): number; UTC(year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): number; now(): number; }
>Date : DateConstructor
_.delay(log, 1000, 'logged later');
>_.delay(log, 1000, 'logged later') : number
@ -1097,7 +1097,7 @@ _.isDate(new Date());
>_ : Underscore.Static
>isDate : (object: any) => boolean
>new Date() : Date
>Date : { (): string; new (): Date; new (value: number): Date; new (value: string): Date; new (year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): Date; prototype: Date; parse(s: string): number; UTC(year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): number; now(): number; }
>Date : DateConstructor
_.isRegExp(/moe/);
>_.isRegExp(/moe/) : boolean

View File

@ -126,7 +126,7 @@ var a: string[] = [];
var a = new Array<string>();
>a : string[]
>new Array<string>() : string[]
>Array : { (arrayLength?: number): any[]; <T>(arrayLength: number): T[]; <T>(...items: T[]): T[]; new (arrayLength?: number): any[]; new <T>(arrayLength: number): T[]; new <T>(...items: T[]): T[]; isArray(arg: any): boolean; prototype: any[]; }
>Array : ArrayConstructor
var a: typeof a;
>a : string[]

View File

@ -1,4 +1,4 @@
declare class ArrayConstructor<T> implements Array<T> {
declare class MyArray<T> implements Array<T> {
toString(): string;
toLocaleString(): string;
concat<U extends T[]>(...items: U[]): T[];