=== tests/cases/conformance/controlFlow/controlFlowAliasingCatchVariables.ts === try {} catch (e) { >e : unknown const isString = typeof e === 'string'; >isString : boolean >typeof e === 'string' : boolean >typeof e : "string" | "number" | "bigint" | "boolean" | "symbol" | "undefined" | "object" | "function" >e : unknown >'string' : "string" if (isString) { >isString : boolean e.toUpperCase(); // e string >e.toUpperCase() : string >e.toUpperCase : () => string >e : string >toUpperCase : () => string } if (typeof e === 'string') { >typeof e === 'string' : boolean >typeof e : "string" | "number" | "bigint" | "boolean" | "symbol" | "undefined" | "object" | "function" >e : unknown >'string' : "string" e.toUpperCase(); // e string >e.toUpperCase() : string >e.toUpperCase : () => string >e : string >toUpperCase : () => string } } try {} catch (e) { >e : unknown const isString = typeof e === 'string'; >isString : boolean >typeof e === 'string' : boolean >typeof e : "string" | "number" | "bigint" | "boolean" | "symbol" | "undefined" | "object" | "function" >e : unknown >'string' : "string" e = 1; >e = 1 : 1 >e : unknown >1 : 1 if (isString) { >isString : boolean e.toUpperCase(); // e any/unknown >e.toUpperCase() : any >e.toUpperCase : any >e : unknown >toUpperCase : any } if (typeof e === 'string') { >typeof e === 'string' : boolean >typeof e : "string" | "number" | "bigint" | "boolean" | "symbol" | "undefined" | "object" | "function" >e : unknown >'string' : "string" e.toUpperCase(); // e string >e.toUpperCase() : string >e.toUpperCase : () => string >e : string >toUpperCase : () => string } }