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 37 38 39 40 41 42 43 44 45 46 47 48
|
=== tests/cases/compiler/typeGuardConstructorNarrowAny.ts ===
// Narrowing any to primitives
let var1: any;
>var1 : Symbol(var1, Decl(typeGuardConstructorNarrowAny.ts, 1, 3))
if (var1.constructor === String) {
>var1 : Symbol(var1, Decl(typeGuardConstructorNarrowAny.ts, 1, 3))
>String : Symbol(String, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --) ... and 6 more)
var1; // String
>var1 : Symbol(var1, Decl(typeGuardConstructorNarrowAny.ts, 1, 3))
}
if (var1.constructor === Number) {
>var1 : Symbol(var1, Decl(typeGuardConstructorNarrowAny.ts, 1, 3))
>Number : Symbol(Number, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2020.number.d.ts, --, --))
var1; // Number
>var1 : Symbol(var1, Decl(typeGuardConstructorNarrowAny.ts, 1, 3))
}
if (var1.constructor === Boolean) {
>var1 : Symbol(var1, Decl(typeGuardConstructorNarrowAny.ts, 1, 3))
>Boolean : Symbol(Boolean, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --))
var1; // Boolean
>var1 : Symbol(var1, Decl(typeGuardConstructorNarrowAny.ts, 1, 3))
}
if (var1.constructor === Array) {
>var1 : Symbol(var1, Decl(typeGuardConstructorNarrowAny.ts, 1, 3))
>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --) ... and 3 more)
var1; // any[]
>var1 : Symbol(var1, Decl(typeGuardConstructorNarrowAny.ts, 1, 3))
}
if (var1.constructor === Symbol) {
>var1 : Symbol(var1, Decl(typeGuardConstructorNarrowAny.ts, 1, 3))
>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2019.symbol.d.ts, --, --))
var1; // Symbol
>var1 : Symbol(var1, Decl(typeGuardConstructorNarrowAny.ts, 1, 3))
}
if (var1.constructor === BigInt) {
>var1 : Symbol(var1, Decl(typeGuardConstructorNarrowAny.ts, 1, 3))
>BigInt : Symbol(BigInt, Decl(lib.es2020.bigint.d.ts, --, --), Decl(lib.es2020.bigint.d.ts, --, --))
var1; // BigInt
>var1 : Symbol(var1, Decl(typeGuardConstructorNarrowAny.ts, 1, 3))
}
|