29
A
回答
44
typeof
关键字代表运营商在Javascript
编程。
为typeof
运营商在specification正确的定义是:
typeof[(]expression[)] ;
这是利用typeof
作为typeof(expression)
或typeof expression
背后的原因。
即将到来为什么它已被实现,因此可能会让开发人员处理其代码中的可见性级别。因此,可以使用typeof使用干净的条件语句:
if (typeof myVar === 'undefined')
// ...
;
或者说明使用()
的可读性的原因更复杂的表达式:
var isTrue = (typeof (myVar = anotherVar) !== 'undefined') && (myVar === true));
编辑:
在某些情况下,对typeof
运算符使用括号可以使编写的代码更容易产生歧义。
以下面的表达式为例,其中typeof
运算符在没有括号的情况下使用。 typeof
会返回空字符串文字和数字之间的连接结果的类型,还是字符串文字的类型?
typeof "" + 42
综观上述的操作者和precedence of the operators typeof
and +
的定义,似乎以前的表达式是等效于:
typeof("") + 42 // Returns the string `string42`
在这种情况下,使用括号与typeof
将带来更多的清晰度你试图表达什么:
typeof("" + 42) // Returns the string `string`
相关问题
- 1. 为什么括号需要
- 2. 为什么在这里需要括号?
- 3. 为什么添加字典类的方法不需要括号?
- 4. 为什么我不需要括号for循环和if语句
- 5. 为什么使用typeof()创建弱引用不需要指针星号?
- 6. 为什么在Haskell中需要花括号为'neg square 4.2'?
- 7. 为什么CoffeeScript在下列情况下需要括号?
- 8. Groovy:为什么我需要将escape方括号加倍?
- 9. 为什么我的函数需要括号?
- 10. 为什么需要两个括号在c/C++中使用宏?
- 11. 为什么我们需要添加括号来评估JSON?
- 12. 为什么我需要在RegEx中使用双曲括号?
- 13. 为什么在这个lambda函数周围需要括号?
- 14. 为什么在元组中需要括号?
- 15. JavaScript即时函数调用 - 为什么函数需要括号?
- 16. 为什么我们需要围绕宏块的括号?
- 17. C++构造函数重载 - 为什么说我需要括号?
- 18. 为什么需要双括号与std :: is_same
- 19. json文本需要用括号包装。为什么?
- 20. 为什么函数组合需要括号?
- 21. 熊猫:为什么双括号需要布尔索引
- 22. 为什么JavaScript的eval需要括号来评估JSON数据?
- 23. 为什么我的serialVersionUID后需要一个大括号?
- 24. 为什么红宝石在这里需要括号?
- 25. 为什么打印一个整数的__repr__需要括号?
- 26. 为什么有些变量需要引号而不需要引号
- 27. 为什么“typeof”与“typeof()”相同?
- 28. 为什么不需要document.getElementById?
- 29. 为什么我不需要
- 30. 为什么高优先级操作符的原子不需要圆括号?
这不是一个函数。 – 2013-04-05 21:22:49
要添加,它是一个类似于'+'或'-'的运算符https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Operators/typeof – 2013-04-05 21:23:25
因为'typeof'是一个运算符,而不是一个函数。 – jmoerdyk 2013-04-05 21:23:30