TypeScript Version: 2.9.0-dev.20180512
Search Terms:
Code
// @strictNullChecks: truefunctiontest1(param?: {prop: string}){switch(param&¶m.prop){case'foo':
returnparam.prop;// error: 'param' is possibly undefined}}functiontest2(param: {prop?: string}){switch(param&¶m.prop){case'foo':
returnparam.prop.charAt(0);// error: 'param.prop' is possibly undefined}}Expected behavior:
Compiles without error.
Actual behavior:
strictNullChecks errors as described in the comments above.
Playground Link:https://agentcooper.github.io/typescript-play/?noImplicitReturns=false#code/GYVwdgxgLglg9mABFApgZygRgBQAcCGATvgLYD8AXIgN66Fy5UaExgDmAvgJQ0BQiiNAHcYUCAAtEeIqUQAyOYgLESAOjoMe1fgMQR8aFIgDkwOHGMUduxIRRQQhJMtLr6uANyIA9N8QpCekIqYxcSY0QYNCU4NDQYACMAGwBPRHAAExRgVhQMnQ5eQt5QSFgEZHQoACZpFSpad0pBKBZ2bj4BYVEJKTD5RTC3TU7dfUMTMwsrGwE7ByclGTUNXFUJIgBBKGwABi4vX39AuGCTIdWIqJi4xNT0sCycsDyCoqA
Related Issues:
#23818
TypeScript Version: 2.9.0-dev.20180512
Search Terms:
Code
Expected behavior:
Compiles without error.
Actual behavior:
strictNullChecks errors as described in the comments above.
Playground Link:https://agentcooper.github.io/typescript-play/?noImplicitReturns=false#code/GYVwdgxgLglg9mABFApgZygRgBQAcCGATvgLYD8AXIgN66Fy5UaExgDmAvgJQ0BQiiNAHcYUCAAtEeIqUQAyOYgLESAOjoMe1fgMQR8aFIgDkwOHGMUduxIRRQQhJMtLr6uANyIA9N8QpCekIqYxcSY0QYNCU4NDQYACMAGwBPRHAAExRgVhQMnQ5eQt5QSFgEZHQoACZpFSpad0pBKBZ2bj4BYVEJKTD5RTC3TU7dfUMTMwsrGwE7ByclGTUNXFUJIgBBKGwABi4vX39AuGCTIdWIqJi4xNT0sCycsDyCoqA
Related Issues:
#23818