mirror of
https://github.com/swc-project/swc.git
synced 2024-12-24 14:16:12 +03:00
33 lines
698 B
TypeScript
33 lines
698 B
TypeScript
|
class Base {
|
||
|
a = 1;
|
||
|
constructor(x: number, y?: number, z?: number);
|
||
|
constructor(x: number, y?: number);
|
||
|
constructor(x: number) { this.a = x; }
|
||
|
}
|
||
|
|
||
|
class Derived extends Base {
|
||
|
x = 1
|
||
|
y = 'hello';
|
||
|
}
|
||
|
|
||
|
var r = new Derived(); // error
|
||
|
var r2 = new Derived(1);
|
||
|
var r3 = new Derived(1, 2);
|
||
|
var r4 = new Derived(1, 2, 3);
|
||
|
|
||
|
class Base2<T> {
|
||
|
a: T;
|
||
|
constructor(x: T, y?: T, z?: T);
|
||
|
constructor(x: T, y?: T);
|
||
|
constructor(x: T) { this.a = x; }
|
||
|
}
|
||
|
|
||
|
class D<T extends Date> extends Base2<T> {
|
||
|
x = 2
|
||
|
y: T = null;
|
||
|
}
|
||
|
|
||
|
var d = new D(); // error
|
||
|
var d2 = new D(new Date()); // ok
|
||
|
var d3 = new D(new Date(), new Date());
|
||
|
var d4 = new D(new Date(), new Date(), new Date());
|