TypeScript/tests/baselines/reference/typeofOperatorWithEnumType.js

64 lines
1.5 KiB
TypeScript
Raw Normal View History

2014-07-13 01:04:16 +02:00
//// [typeofOperatorWithEnumType.ts]
// typeof operator on enum type
enum ENUM { };
enum ENUM1 { A, B, "" };
2014-07-13 01:04:16 +02:00
// enum type var
var ResultIsString1 = typeof ENUM;
var ResultIsString2 = typeof ENUM1;
// enum type expressions
2014-10-08 20:11:36 +02:00
var ResultIsString3 = typeof ENUM1["A"];
var ResultIsString4 = typeof (ENUM[0] + ENUM1["B"]);
2014-07-13 01:04:16 +02:00
// multiple typeof operators
var ResultIsString5 = typeof typeof ENUM;
2014-10-08 20:11:36 +02:00
var ResultIsString6 = typeof typeof typeof (ENUM[0] + ENUM1.B);
2014-07-13 01:04:16 +02:00
// miss assignment operators
typeof ENUM;
typeof ENUM1;
2014-10-08 20:11:36 +02:00
typeof ENUM1["B"];
2014-07-13 01:04:16 +02:00
typeof ENUM, ENUM1;
// use typeof in type query
enum z { };
z: typeof ENUM;
z: typeof ENUM1;
//// [typeofOperatorWithEnumType.js]
2014-08-14 15:48:40 +02:00
// typeof operator on enum type
2014-07-13 01:04:16 +02:00
var ENUM;
(function (ENUM) {
})(ENUM || (ENUM = {}));
;
var ENUM1;
(function (ENUM1) {
ENUM1[ENUM1["A"] = 0] = "A";
ENUM1[ENUM1["B"] = 1] = "B";
2014-07-13 01:04:16 +02:00
ENUM1[ENUM1[""] = 2] = "";
})(ENUM1 || (ENUM1 = {}));
;
// enum type var
2014-07-13 01:04:16 +02:00
var ResultIsString1 = typeof ENUM;
var ResultIsString2 = typeof ENUM1;
// enum type expressions
var ResultIsString3 = typeof ENUM1["A"];
var ResultIsString4 = typeof (ENUM[0] + ENUM1["B"]);
// multiple typeof operators
2014-07-13 01:04:16 +02:00
var ResultIsString5 = typeof typeof ENUM;
var ResultIsString6 = typeof typeof typeof (ENUM[0] + ENUM1.B);
// miss assignment operators
2014-07-13 01:04:16 +02:00
typeof ENUM;
typeof ENUM1;
typeof ENUM1["B"];
2014-07-13 01:04:16 +02:00
typeof ENUM, ENUM1;
2014-08-14 15:48:40 +02:00
// use typeof in type query
2014-07-13 01:04:16 +02:00
var z;
(function (z) {
})(z || (z = {}));
;
z: typeof ENUM;
z: typeof ENUM1;