=== tests/cases/conformance/expressions/commaOperator/commaOperatorWithSecondOperandBooleanType.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 //The second operand type is boolean ANY, BOOLEAN; >ANY, BOOLEAN : boolean >ANY : any >BOOLEAN : boolean BOOLEAN, BOOLEAN; >BOOLEAN, BOOLEAN : boolean >BOOLEAN : boolean >BOOLEAN : boolean NUMBER, BOOLEAN; >NUMBER, BOOLEAN : boolean >NUMBER : number >BOOLEAN : boolean STRING, BOOLEAN; >STRING, BOOLEAN : boolean >STRING : string >BOOLEAN : boolean OBJECT, BOOLEAN; >OBJECT, BOOLEAN : boolean >OBJECT : Object >BOOLEAN : boolean //Return type is boolean var resultIsBoolean1 = (ANY, BOOLEAN); >resultIsBoolean1 : boolean >(ANY, BOOLEAN) : boolean >ANY, BOOLEAN : boolean >ANY : any >BOOLEAN : boolean var resultIsBoolean2 = (BOOLEAN, BOOLEAN); >resultIsBoolean2 : boolean >(BOOLEAN, BOOLEAN) : boolean >BOOLEAN, BOOLEAN : boolean >BOOLEAN : boolean >BOOLEAN : boolean var resultIsBoolean3 = (NUMBER, BOOLEAN); >resultIsBoolean3 : boolean >(NUMBER, BOOLEAN) : boolean >NUMBER, BOOLEAN : boolean >NUMBER : number >BOOLEAN : boolean var resultIsBoolean4 = (STRING, BOOLEAN); >resultIsBoolean4 : boolean >(STRING, BOOLEAN) : boolean >STRING, BOOLEAN : boolean >STRING : string >BOOLEAN : boolean var resultIsBoolean5 = (OBJECT, BOOLEAN); >resultIsBoolean5 : boolean >(OBJECT, BOOLEAN) : boolean >OBJECT, BOOLEAN : boolean >OBJECT : Object >BOOLEAN : boolean //Literal and expression null, BOOLEAN; >null, BOOLEAN : boolean >null : null >BOOLEAN : boolean ANY = undefined, BOOLEAN; >ANY = undefined, BOOLEAN : boolean >ANY = undefined : undefined >ANY : any >undefined : undefined >BOOLEAN : boolean 1, true; >1, true : boolean >1 : number >true : boolean ++NUMBER, true; >++NUMBER, true : boolean >++NUMBER : number >NUMBER : number >true : boolean [1, 2, 3], !BOOLEAN; >[1, 2, 3], !BOOLEAN : boolean >[1, 2, 3] : number[] >1 : number >2 : number >3 : number >!BOOLEAN : boolean >BOOLEAN : boolean OBJECT = [1, 2, 3], BOOLEAN = false; >OBJECT = [1, 2, 3], BOOLEAN = false : boolean >OBJECT = [1, 2, 3] : number[] >OBJECT : Object >[1, 2, 3] : number[] >1 : number >2 : number >3 : number >BOOLEAN = false : boolean >BOOLEAN : boolean >false : boolean var resultIsBoolean6 = (null, BOOLEAN); >resultIsBoolean6 : boolean >(null, BOOLEAN) : boolean >null, BOOLEAN : boolean >null : null >BOOLEAN : boolean var resultIsBoolean7 = (ANY = undefined, BOOLEAN); >resultIsBoolean7 : boolean >(ANY = undefined, BOOLEAN) : boolean >ANY = undefined, BOOLEAN : boolean >ANY = undefined : undefined >ANY : any >undefined : undefined >BOOLEAN : boolean var resultIsBoolean8 = (1, true); >resultIsBoolean8 : boolean >(1, true) : boolean >1, true : boolean >1 : number >true : boolean var resultIsBoolean9 = (++NUMBER, true); >resultIsBoolean9 : boolean >(++NUMBER, true) : boolean >++NUMBER, true : boolean >++NUMBER : number >NUMBER : number >true : boolean var resultIsBoolean10 = ([1, 2, 3], !BOOLEAN); >resultIsBoolean10 : boolean >([1, 2, 3], !BOOLEAN) : boolean >[1, 2, 3], !BOOLEAN : boolean >[1, 2, 3] : number[] >1 : number >2 : number >3 : number >!BOOLEAN : boolean >BOOLEAN : boolean var resultIsBoolean11 = (OBJECT = [1, 2, 3], BOOLEAN = false); >resultIsBoolean11 : boolean >(OBJECT = [1, 2, 3], BOOLEAN = false) : boolean >OBJECT = [1, 2, 3], BOOLEAN = false : boolean >OBJECT = [1, 2, 3] : number[] >OBJECT : Object >[1, 2, 3] : number[] >1 : number >2 : number >3 : number >BOOLEAN = false : boolean >BOOLEAN : boolean >false : boolean