我正在学习JavaScript,我在代码中看到使用typeof
和typeof()
的代码相同,例如:
结果是两种情况下的数字:
console.log(typeof 1);
console.log(typeof(1));
答案 0 :(得分:8)
typeof
是一元运算符 - 例如与void
和delete
相同。使用分组()
包装其表达式只是为了方便(并且 - 理论上 - 覆盖默认优先级),但从未将其视为函数调用。
答案 1 :(得分:2)
因为“typeof”是一个运算符(不是函数,不是对象),并且运算符可以在带括号的表达式中使用:
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/typeof
答案 2 :(得分:1)
typeof是一个运算符,就像+, - ,%,&&它不是一种方法,“1”不是传递的参数,不需要括号。但是它会接受括号,因为它们只是指定操作的顺序,就像(1)+(2)是可接受的,即使括号不是必需的。所以你给出的例子在两种情况下都是可以接受的。
答案 3 :(得分:0)
typeof运算符不是函数。您可以用括号括起操作数,以便表达式看起来像一个函数调用,但括号将只是作为一个分组操作符(仅次于默认啄食顺序中的逗号操作符!)。实际上,您可以使用各种标点符号来装饰操作数,而不会使运算符脱轨。
typeof (2) //"number"
typeof(2) //"number"
typeof ("a", 3) //"number"
typeof (1 + 1) //"number"