TypeScript/tests/cases/compiler/controlFlowNullTypeAndLiteral.ts

26 lines
651 B
TypeScript
Raw Normal View History

2018-04-30 19:43:55 +02:00
// @strict: true
// Repros from #23771
const myNull: null = null;
const objWithValMaybeNull: { val: number | null } = { val: 1 };
const addOne = function (num: number) {
return num + 1;
}
if (objWithValMaybeNull.val !== null)
addOne(objWithValMaybeNull.val);
if (objWithValMaybeNull.val !== myNull)
addOne(objWithValMaybeNull.val);
if (objWithValMaybeNull.val === null)
addOne(objWithValMaybeNull.val); // Error
if (objWithValMaybeNull.val === myNull)
addOne(objWithValMaybeNull.val); // Error
function f(x: number | null) {
if(x === myNull) {
const s: string = x; // Error
}
}