typeof是一个运算符和一个函数

在JavaScript中, typeof是一个运算符和一个函数。 它更好地用作操作员还是功能? 为什么?


typeof是一个操作符。 您可以使用以下方式轻松检查:

typeof(typeof)

typeof函数,这个表达式将返回'function'的字符串,但它会导致一个语法错误:

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

所以, typeof不能是一个函数。 可能括号记法typeof(foo)让你认为typeof是一个函数,但在语法上,这些括号不是函数调用 - 它们是用于分组的,就像(2 + 3) *2 。 事实上,你可以添加你想要的任意数量的:

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

我认为你根据清晰度选择你想要的,作为一种习惯,我通常以下面的方式将它用作操作符,因为它很清楚,至少IMO:

if(typeof thing === "string") { 
  alert("this is a string");
}

if(typeof thing === "function") {
  alert("this is a function");
}

这与这种格式相反:

if(typeof(thing) === "string") { 
  alert("this is a string");
}

对我而言,读取速度稍慢。 如果你做typeof(thing)它是一样的东西,所以不管漂浮你的船。 你可以在这里得到一个完整的阅读和期望的字符串。

链接地址: http://www.djcxy.com/p/31707.html

上一篇: typeof is an operator and a function

下一篇: getting only integers from a list of tuples python 3