-
Notifications
You must be signed in to change notification settings - Fork 13.4k
Expand file tree
/
Copy paththisTypeComparison.types
More file actions
77 lines (67 loc) · 1.26 KB
/
thisTypeComparison.types
File metadata and controls
77 lines (67 loc) · 1.26 KB
1
2
3
4
5
6
7
8
9
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
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
//// [tests/cases/compiler/thisTypeComparison.ts] ////
=== thisTypeComparison.ts ===
class AA {
>AA : AA
> : ^^
do1() {
>do1 : () => void
> : ^^^^^^^^^^
const b = dd.getB();
>b : BB
> : ^^
>dd.getB() : BB
> : ^^
>dd.getB : () => BB
> : ^^^^^^
>dd : BB
> : ^^
>getB : () => BB
> : ^^^^^^
if (this === b) {
>this === b : boolean
> : ^^^^^^^
>this : this
> : ^^^^
>b : BB
> : ^^
console.log("this === b");
>console.log("this === b") : void
> : ^^^^
>console.log : (...data: any[]) => void
> : ^^^^ ^^ ^^^^^
>console : Console
> : ^^^^^^^
>log : (...data: any[]) => void
> : ^^^^ ^^ ^^^^^
>"this === b" : "this === b"
> : ^^^^^^^^^^^^
}
}
}
class BB extends AA {
>BB : BB
> : ^^
>AA : AA
> : ^^
getB(): BB { return this; }
>getB : () => BB
> : ^^^^^^
>this : this
> : ^^^^
}
let dd = new BB();
>dd : BB
> : ^^
>new BB() : BB
> : ^^
>BB : typeof BB
> : ^^^^^^^^^
dd.do1();
>dd.do1() : void
> : ^^^^
>dd.do1 : () => void
> : ^^^^^^^^^^
>dd : BB
> : ^^
>do1 : () => void
> : ^^^^^^^^^^