2019-09-30 21:33:28 +02:00
|
|
|
=== tests/cases/conformance/expressions/optionalChaining/callChain/callChain.2.ts ===
|
|
|
|
declare const o1: undefined | (() => number);
|
|
|
|
>o1 : () => number
|
|
|
|
|
|
|
|
o1?.();
|
|
|
|
>o1?.() : number
|
|
|
|
>o1 : () => number
|
|
|
|
|
|
|
|
declare const o2: undefined | { b: () => number };
|
|
|
|
>o2 : { b: () => number; }
|
|
|
|
>b : () => number
|
|
|
|
|
|
|
|
o2?.b();
|
|
|
|
>o2?.b() : number
|
|
|
|
>o2?.b : () => number
|
|
|
|
>o2 : { b: () => number; }
|
|
|
|
>b : () => number
|
|
|
|
|
|
|
|
declare const o3: { b: (() => { c: string }) | undefined };
|
2020-04-02 04:50:21 +02:00
|
|
|
>o3 : { b: (() => { c: string;}) | undefined; }
|
|
|
|
>b : () => { c: string;}
|
2019-09-30 21:33:28 +02:00
|
|
|
>c : string
|
|
|
|
|
|
|
|
o3.b?.().c;
|
|
|
|
>o3.b?.().c : string
|
|
|
|
>o3.b?.() : { c: string; }
|
|
|
|
>o3.b : () => { c: string; }
|
|
|
|
>o3 : { b: () => { c: string; }; }
|
|
|
|
>b : () => { c: string; }
|
|
|
|
>c : string
|
|
|
|
|