- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
namespace InstanceOf {
class Foo {
x: number
y: string
bar() {
return this.x
}
}
class Bar extends Foo { }
class Baz extends Foo { }
class Bar2 extends Bar { }
class Bar3 extends Bar { }
export function run() {
print("InstanceOf")
assert(new Bar2() instanceof Foo, "if")
assert(new Bar2() instanceof Bar, "ib")
assert(new Bar2() instanceof Bar2, "ib2")
assert(new Bar3() instanceof Bar, "ib")
assert(!(new Bar2() instanceof Baz), "!ib")
assert(!(new Foo() instanceof Baz), "!ib2")
assert(!(new Foo() instanceof Bar), "!ib2")
(new Foo()).bar();
(new Bar3()).bar();
}
}
function main()
{
InstanceOf.run()
print("done");
}
Возрадуйтесь братья и сестры. я вам принес зачатки RTTI :) и узрите этот дампик во очию.