tests/cases/conformance/expressions/unaryOperators/typeofOperator/typeofOperatorWithStringType.ts(44,1): error TS2695: Left side of comma operator is unused and has no side effects.
tests/cases/conformance/expressions/unaryOperators/typeofOperator/typeofOperatorWithStringType.ts(50,1): error TS7028: Unused label.
tests/cases/conformance/expressions/unaryOperators/typeofOperator/typeofOperatorWithStringType.ts(51,1): error TS7028: Unused label.
tests/cases/conformance/expressions/unaryOperators/typeofOperator/typeofOperatorWithStringType.ts(52,1): error TS7028: Unused label.
tests/cases/conformance/expressions/unaryOperators/typeofOperator/typeofOperatorWithStringType.ts(54,1): error TS7028: Unused label.
tests/cases/conformance/expressions/unaryOperators/typeofOperator/typeofOperatorWithStringType.ts(55,1): error TS7028: Unused label.
tests/cases/conformance/expressions/unaryOperators/typeofOperator/typeofOperatorWithStringType.ts(56,1): error TS7028: Unused label.
tests/cases/conformance/expressions/unaryOperators/typeofOperator/typeofOperatorWithStringType.ts(57,1): error TS7028: Unused label.


==== tests/cases/conformance/expressions/unaryOperators/typeofOperator/typeofOperatorWithStringType.ts (8 errors) ====
    // typeof  operator on string type
    var STRING: string;
    var STRING1: string[] = ["", "abc"];
    
    function foo(): string { return "abc"; }
    
    class A {
        public a: string;
        static foo() { return ""; }
    }
    module M {
        export var n: string;
    }
    
    var objA = new A();
    
    // string type var
    var ResultIsString1 = typeof STRING;
    var ResultIsString2 = typeof STRING1;
    
    // string type literal
    var ResultIsString3 = typeof "";
    var ResultIsString4 = typeof { x: "", y: "" };
    var ResultIsString5 = typeof { x: "", y: (s: string) => { return s; } };
    
    // string type expressions
    var ResultIsString6 = typeof objA.a;
    var ResultIsString7 = typeof M.n;
    var ResultIsString8 = typeof STRING1[0];
    var ResultIsString9 = typeof foo();
    var ResultIsString10 = typeof A.foo();
    var ResultIsString11 = typeof (STRING + STRING);
    var ResultIsString12 = typeof STRING.charAt(0);
    
    // multiple typeof  operators
    var ResultIsString13 = typeof typeof STRING;
    var ResultIsString14 = typeof typeof typeof (STRING + STRING);
    
    // miss assignment operators
    typeof "";
    typeof STRING;
    typeof STRING1;
    typeof foo();
    typeof objA.a, M.n;
    ~~~~~~~~~~~~~
!!! error TS2695: Left side of comma operator is unused and has no side effects.
    
    // use typeof in type query
    var z: string;
    var x: string[];
    var r: () => string;
    z: typeof STRING;
    ~
!!! error TS7028: Unused label.
    x: typeof STRING1;
    ~
!!! error TS7028: Unused label.
    r: typeof foo;
    ~
!!! error TS7028: Unused label.
    var y = { a: "", b: "" };
    z: typeof y.a;
    ~
!!! error TS7028: Unused label.
    z: typeof objA.a;
    ~
!!! error TS7028: Unused label.
    z: typeof A.foo;
    ~
!!! error TS7028: Unused label.
    z: typeof M.n;
    ~
!!! error TS7028: Unused label.