TypeScript/tests/cases/conformance/types/nonPrimitive/nonPrimitiveNarrow.ts
Herrington Darkholme c19221cb3e accept new baselines
2016-12-22 10:07:22 +08:00

23 lines
327 B
TypeScript

class Narrow {
narrowed: boolean
}
var a: object
if (a instanceof Narrow) {
a.narrowed; // ok
a = 123; // error
}
if (typeof a === 'number') {
a.toFixed(); // error, never
}
var b: object | null
if (typeof b === 'object') {
b.toString(); // ok, object | null
} else {
b.toString(); // error, never
}