TypeScript/tests/baselines/reference/commaOperatorWithSecondOperandObjectType.types
2015-04-15 16:44:20 -07:00

180 lines
3.7 KiB
Plaintext

=== tests/cases/conformance/expressions/commaOperator/commaOperatorWithSecondOperandObjectType.ts ===
var ANY: any;
>ANY : any
var BOOLEAN: boolean;
>BOOLEAN : boolean
var NUMBER: number;
>NUMBER : number
var STRING: string;
>STRING : string
var OBJECT: Object;
>OBJECT : Object
>Object : Object
class CLASS {
>CLASS : CLASS
num: number;
>num : number
}
//The second operand type is Object
ANY, OBJECT;
>ANY, OBJECT : Object
>ANY : any
>OBJECT : Object
BOOLEAN, OBJECT;
>BOOLEAN, OBJECT : Object
>BOOLEAN : boolean
>OBJECT : Object
NUMBER, OBJECT;
>NUMBER, OBJECT : Object
>NUMBER : number
>OBJECT : Object
STRING, OBJECT;
>STRING, OBJECT : Object
>STRING : string
>OBJECT : Object
OBJECT, OBJECT;
>OBJECT, OBJECT : Object
>OBJECT : Object
>OBJECT : Object
//Return type is Object
var resultIsObject1 = (ANY, OBJECT);
>resultIsObject1 : Object
>(ANY, OBJECT) : Object
>ANY, OBJECT : Object
>ANY : any
>OBJECT : Object
var resultIsObject2 = (BOOLEAN, OBJECT);
>resultIsObject2 : Object
>(BOOLEAN, OBJECT) : Object
>BOOLEAN, OBJECT : Object
>BOOLEAN : boolean
>OBJECT : Object
var resultIsObject3 = (NUMBER, OBJECT);
>resultIsObject3 : Object
>(NUMBER, OBJECT) : Object
>NUMBER, OBJECT : Object
>NUMBER : number
>OBJECT : Object
var resultIsObject4 = (STRING, OBJECT);
>resultIsObject4 : Object
>(STRING, OBJECT) : Object
>STRING, OBJECT : Object
>STRING : string
>OBJECT : Object
var resultIsObject5 = (OBJECT, OBJECT);
>resultIsObject5 : Object
>(OBJECT, OBJECT) : Object
>OBJECT, OBJECT : Object
>OBJECT : Object
>OBJECT : Object
//Literal and expression
null, OBJECT
>null, OBJECT : Object
>null : null
>OBJECT : Object
ANY = null, OBJECT
>ANY = null, OBJECT : Object
>ANY = null : null
>ANY : any
>null : null
>OBJECT : Object
true, {}
>true, {} : {}
>true : boolean
>{} : {}
!BOOLEAN, []
>!BOOLEAN, [] : undefined[]
>!BOOLEAN : boolean
>BOOLEAN : boolean
>[] : undefined[]
"string", new Date()
>"string", new Date() : Date
>"string" : string
>new Date() : Date
>Date : DateConstructor
STRING.toLowerCase(), new CLASS()
>STRING.toLowerCase(), new CLASS() : CLASS
>STRING.toLowerCase() : string
>STRING.toLowerCase : () => string
>STRING : string
>toLowerCase : () => string
>new CLASS() : CLASS
>CLASS : typeof CLASS
var resultIsObject6 = (null, OBJECT);
>resultIsObject6 : Object
>(null, OBJECT) : Object
>null, OBJECT : Object
>null : null
>OBJECT : Object
var resultIsObject7 = (ANY = null, OBJECT);
>resultIsObject7 : Object
>(ANY = null, OBJECT) : Object
>ANY = null, OBJECT : Object
>ANY = null : null
>ANY : any
>null : null
>OBJECT : Object
var resultIsObject8 = (true, {});
>resultIsObject8 : {}
>(true, {}) : {}
>true, {} : {}
>true : boolean
>{} : {}
var resultIsObject9 = (!BOOLEAN, { a: 1, b: "s" });
>resultIsObject9 : { a: number; b: string; }
>(!BOOLEAN, { a: 1, b: "s" }) : { a: number; b: string; }
>!BOOLEAN, { a: 1, b: "s" } : { a: number; b: string; }
>!BOOLEAN : boolean
>BOOLEAN : boolean
>{ a: 1, b: "s" } : { a: number; b: string; }
>a : number
>1 : number
>b : string
>"s" : string
var resultIsObject10 = ("string", new Date());
>resultIsObject10 : Date
>("string", new Date()) : Date
>"string", new Date() : Date
>"string" : string
>new Date() : Date
>Date : DateConstructor
var resultIsObject11 = (STRING.toLowerCase(), new CLASS());
>resultIsObject11 : CLASS
>(STRING.toLowerCase(), new CLASS()) : CLASS
>STRING.toLowerCase(), new CLASS() : CLASS
>STRING.toLowerCase() : string
>STRING.toLowerCase : () => string
>STRING : string
>toLowerCase : () => string
>new CLASS() : CLASS
>CLASS : typeof CLASS