typeof is an operator and a function

后端 未结 2 1058
旧时难觅i
旧时难觅i 2020-12-07 18:18

In JavaScript typeof is an operator and a function. Is it better used as an operator or a function? Why?

2条回答
  •  南笙
    南笙 (楼主)
    2020-12-07 19:14

    typeof is an operator. You can easily check it using:

    typeof(typeof)
    

    Were typeof a function, this expression would return 'function' string, but it results in a syntax error:

    js> typeof(typeof);
    typein:8: SyntaxError: syntax error:
    typein:8: typeof(typeof);
    typein:8: .............^
    

    so, typeof cannot be a function. Probably parenthesis-notation typeof(foo) made you think typeof is a function, but syntactically, those parenthesis are not function call - they are those used for grouping, just like (2 + 3) *2. In fact, you can add any number of them you want:

    typeof(((((foo))))); // is equal to typeof foo;
    

提交回复
热议问题