出于好奇, typeof 不是常规方法或函数,而是将其放在变量或数据前面的原因是什么。
他们这样做:
var something = typeof somethingElse;
而不是:
var something = somethingElse.typeof();
此外,引用 typeof 和 var 关键字的正确术语是什么?他们是运营商吗?
出于好奇, typeof 不是常规方法或函数,而是将其放在变量或数据前面的原因是什么。
他们这样做:
var something = typeof somethingElse;
而不是:
var something = somethingElse.typeof();
此外,引用 typeof 和 var 关键字的正确术语是什么?他们是运营商吗?
是的,是一元运算符,typeof
如+
、-
、~
和。另一方面,它是变量声明语句的一部分,并且没有花哨的名称。!
void
var
我猜它没有成为一种方法的原因是双重的:
null
和上使用它undefined
。如果它是一个常规方法,那么它们都不会起作用,并且为特定方法看起来的东西添加特殊例外是混乱的。
Mozilla 文档将 typeof 称为运算符。根据他们的文档:
typeof 运算符返回一个字符串,指示未计算的操作数的类型。
请注意,他们称之为什么并不重要,它是 ECMA 规范所称的。
根据 Mozilla 的文档,运算符的类型在 JavaScript 1.1 和 ECMA 版本中定义:ECMA-262(以及 E4X 对象的 ECMA-357)
如果您有兴趣,请参阅5.1 版的 ECMA 262 规范(警告 - pdf 链接)在第 71 页的第 11.4.3 节中查看 typeof 运算符。