Closed
Description
TypeScript Version: 3.7.x-dev.20200221
Search Terms:
Code
const m = ''.match('');
m?.[0] && m[0];
m?.[0]! && m[0];
m?.[0].length! > 0 && m[0];
m?.[0].split('').slice() && m[0];
m?.[0].split('')!.slice() && m[0];
Expected behavior:
const m = ''.match('');
m?.[0] && m[0]; // ok
m?.[0]! && m[0]; // ok
m?.[0].length! > 0 && m[0]; // ok
m?.[0].split('').slice() && m[0]; // ok
m?.[0].split('')!.slice() && m[0]; // ok
Actual behavior:
const m = ''.match('');
m?.[0] && m[0]; // ok
m?.[0]! && m[0]; // error
m?.[0].length! > 0 && m[0]; // error
m?.[0].split('').slice() && m[0]; // ok
m?.[0].split('')!.slice() && m[0]; // error
Related Issues: