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