* migrate nullish coalescing commit * add more test case * add branch type check test * add more tests * fix nullish precedence * update public api * add rescan question question token to fix regression * update public api baseline * Added tests that emit for nullish coalescing operator conforming with grammar restrictions when assertions are used. * Fixed emit to hoist temporary variables (they previously went undeclared). Added tests to ensure calls and property accesses are only called once. * use not equal to null * rename factory * add grammar check * fix more cases * Fix handling of nullish coalescing oprator in expando objects. * Fixed classifier to support ?? operator. * update baseline * accept baseline * fix review * update emitter and more testcase * update control flow * make linter happy * update libs * avoid unnecessary assert * fix typooo * Fixes for control-flow analysis
8 lines
265 B
TypeScript
8 lines
265 B
TypeScript
// @strict: true
|
|
|
|
declare const a: { p: string | undefined, m(): string | undefined };
|
|
declare const b: { p: string | undefined, m(): string | undefined };
|
|
|
|
const n1 = a.p ?? "default";
|
|
const n2 = a.m() ?? "default";
|
|
const n3 = a.m() ?? b.p ?? b.m() ?? "default";;
|