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/types/literal/stringLiteralsAssertionsInEqualityComparisons02.ts ===
type EnhancedString = string & { enhancements: any };
>EnhancedString : string & { enhancements: any; }
>enhancements : any
var a = "foo" === "bar" as "baz";
>a : boolean
>"foo" === "bar" as "baz" : boolean
>"foo" : "foo"
>"bar" as "baz" : "baz"
>"bar" : "bar"
var b = "foo" !== ("bar" as "foo");
>b : boolean
>"foo" !== ("bar" as "foo") : boolean
>"foo" : "foo"
>("bar" as "foo") : "foo"
>"bar" as "foo" : "foo"
>"bar" : "bar"
var c = "foo" == (<number>"bar");
>c : boolean
>"foo" == (<number>"bar") : boolean
>"foo" : "foo"
>(<number>"bar") : number
><number>"bar" : number
>"bar" : "bar"
var d = "foo" === ("bar" as EnhancedString);
>d : boolean
>"foo" === ("bar" as EnhancedString) : boolean
>"foo" : "foo"
>("bar" as EnhancedString) : EnhancedString
>"bar" as EnhancedString : EnhancedString
>"bar" : "bar"
|