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
|
=== tests/cases/conformance/expressions/nullishCoalescingOperator/nullishCoalescingOperator8.ts ===
declare const a: { p: string | undefined, m(): string | undefined };
>a : { p: string | undefined; m(): string | undefined; }
>p : string | undefined
>m : () => string | undefined
declare const b: { p: string | undefined, m(): string | undefined };
>b : { p: string | undefined; m(): string | undefined; }
>p : string | undefined
>m : () => string | undefined
const n1 = a.p ?? "default";
>n1 : string
>a.p ?? "default" : string
>a.p : string | undefined
>a : { p: string | undefined; m(): string | undefined; }
>p : string | undefined
>"default" : "default"
const n2 = a.m() ?? "default";
>n2 : string
>a.m() ?? "default" : string
>a.m() : string | undefined
>a.m : () => string | undefined
>a : { p: string | undefined; m(): string | undefined; }
>m : () => string | undefined
>"default" : "default"
const n3 = a.m() ?? b.p ?? b.m() ?? "default";;
>n3 : string
>a.m() ?? b.p ?? b.m() ?? "default" : string
>a.m() ?? b.p ?? b.m() : string | undefined
>a.m() ?? b.p : string | undefined
>a.m() : string | undefined
>a.m : () => string | undefined
>a : { p: string | undefined; m(): string | undefined; }
>m : () => string | undefined
>b.p : string | undefined
>b : { p: string | undefined; m(): string | undefined; }
>p : string | undefined
>b.m() : string | undefined
>b.m : () => string | undefined
>b : { p: string | undefined; m(): string | undefined; }
>m : () => string | undefined
>"default" : "default"
|