TypeScript/tests/baselines/reference/logicalNotOperatorWithBooleanType.js

75 lines
1.5 KiB
TypeScript
Raw Normal View History

2014-07-13 01:04:16 +02:00
//// [logicalNotOperatorWithBooleanType.ts]
// ! operator on boolean type
var BOOLEAN: boolean;
function foo(): boolean { return true; }
class A {
public a: boolean;
static foo() { return false; }
}
module M {
export var n: boolean;
}
var objA = new A();
// boolean type var
var ResultIsBoolean1 = !BOOLEAN;
// boolean type literal
var ResultIsBoolean2 = !true;
var ResultIsBoolean3 = !{ x: true, y: false };
// boolean type expressions
var ResultIsBoolean4 = !objA.a;
var ResultIsBoolean5 = !M.n;
var ResultIsBoolean6 = !foo();
var ResultIsBoolean7 = !A.foo();
// multiple ! operators
var ResultIsBoolean = !!BOOLEAN;
// miss assignment operators
!true;
!BOOLEAN;
!foo();
!true, false;
!objA.a;
!M.n;
//// [logicalNotOperatorWithBooleanType.js]
// ! operator on boolean type
2014-07-13 01:04:16 +02:00
var BOOLEAN;
function foo() { return true; }
2014-07-13 01:04:16 +02:00
var A = (function () {
function A() {
}
A.foo = function () { return false; };
2014-07-13 01:04:16 +02:00
return A;
})();
var M;
(function (M) {
M.n;
})(M || (M = {}));
var objA = new A();
// boolean type var
2014-07-13 01:04:16 +02:00
var ResultIsBoolean1 = !BOOLEAN;
// boolean type literal
2014-07-13 01:04:16 +02:00
var ResultIsBoolean2 = !true;
var ResultIsBoolean3 = !{ x: true, y: false };
// boolean type expressions
2014-07-13 01:04:16 +02:00
var ResultIsBoolean4 = !objA.a;
var ResultIsBoolean5 = !M.n;
var ResultIsBoolean6 = !foo();
var ResultIsBoolean7 = !A.foo();
// multiple ! operators
2014-07-13 01:04:16 +02:00
var ResultIsBoolean = !!BOOLEAN;
// miss assignment operators
2014-07-13 01:04:16 +02:00
!true;
!BOOLEAN;
!foo();
!true, false;
!objA.a;
!M.n;