1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
|
=== tests/cases/conformance/expressions/typeGuards/typeGuardTautologicalConsistiency.ts ===
let stringOrNumber: string | number;
>stringOrNumber : string | number
if (typeof stringOrNumber === "number") {
>typeof stringOrNumber === "number" : boolean
>typeof stringOrNumber : "string" | "number" | "bigint" | "boolean" | "symbol" | "undefined" | "object" | "function"
>stringOrNumber : string | number
>"number" : "number"
if (typeof stringOrNumber !== "number") {
>typeof stringOrNumber !== "number" : boolean
>typeof stringOrNumber : "string" | "number" | "bigint" | "boolean" | "symbol" | "undefined" | "object" | "function"
>stringOrNumber : number
>"number" : "number"
stringOrNumber;
>stringOrNumber : never
}
}
if (typeof stringOrNumber === "number" && typeof stringOrNumber !== "number") {
>typeof stringOrNumber === "number" && typeof stringOrNumber !== "number" : boolean
>typeof stringOrNumber === "number" : boolean
>typeof stringOrNumber : "string" | "number" | "bigint" | "boolean" | "symbol" | "undefined" | "object" | "function"
>stringOrNumber : string | number
>"number" : "number"
>typeof stringOrNumber !== "number" : boolean
>typeof stringOrNumber : "string" | "number" | "bigint" | "boolean" | "symbol" | "undefined" | "object" | "function"
>stringOrNumber : number
>"number" : "number"
stringOrNumber;
>stringOrNumber : never
}
|