首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么"typeof“与"typeof()”相同?

为什么"typeof“与"typeof()”相同?
EN

Stack Overflow用户
提问于 2015-01-06 20:44:45
回答 3查看 385关注 0票数 4

我正在学习JavaScript,我在代码中看到了使用typeoftypeof()的相同之处,例如:

这两种情况的结果都是数字:

代码语言:javascript
复制
console.log(typeof 1); 
console.log(typeof(1));
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2015-01-06 20:47:16

根据ES5规范的说法,typeof是一个一元运算符--例如,与voiddelete一样。用分组()包装其表达式只是为了方便(理论上也是为了覆盖默认优先级),但从来没有将其视为函数调用。

票数 8
EN

Stack Overflow用户

发布于 2015-01-06 20:52:28

typeof是一个操作符,类似于+、-、% &等等。它不是一个方法,"1“不是被传递的参数,不需要括号。但是,它将接受方括号,因为它们只是指定操作顺序,就像(1) + (2)是可以接受的一样,尽管方括号是不必要的。所以你给出的例子在这两种情况下都是可以接受的。

票数 1
EN

Stack Overflow用户

发布于 2015-01-06 20:49:03

类型操作符不是函数。您可以用圆括号包围操作数,这样表达式看起来就像函数调用,但是括号只是充当分组操作符(仅次于逗号运算符)。实际上,您可以用各种形式的标点符号来修饰操作数,而不会使操作符脱轨。

代码语言:javascript
复制
typeof (2) //"number"
typeof(2) //"number"
typeof ("a", 3) //"number"
typeof (1 + 1) //"number"
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27806871

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档