typeof 方法在 JavaScript 中是如何工作的? [复制]
Posted
技术标签:
【中文标题】typeof 方法在 JavaScript 中是如何工作的? [复制]【英文标题】:How does the typeof method works in Javascript? [duplicate] 【发布时间】:2017-08-06 01:35:46 【问题描述】:if(typeof(variable) === "boolean")
// variable is a boolean
下面两个代码示例中哪一个与上面的等效?
示例 1
if(variable === true || variable === false)
// variable is a boolean
示例 2
if(variable == true || variable == false)
// variable is a boolean
【问题讨论】:
显然不是第二个,因为1 == true
,但不是布尔值
如果这是您的问题,为什么不在控制台中尝试typeof(1) == 'boolean'
,而不是问人?
【参考方案1】:
第一种情况是等价的。 ===
执行与==
相同的操作,只是它不执行任何类型转换。详情请见this answer。
所以,
if ( variable === true || variable === false)
...
仅当 variable
是布尔变量时才会评估为真。
至于typeof
的内部工作原理,你可以阅读this,当然是manual。请记住,typeof
是语言运算符,很像 ===
、==
或 &
。要确切地知道它是如何实现的以及它是如何知道变量类型的,您需要检查它的代码。
我从来没有看过 javascript 引擎的源代码,所以我不知道你可以在哪里看。
【讨论】:
以上是关于typeof 方法在 JavaScript 中是如何工作的? [复制]的主要内容,如果未能解决你的问题,请参考以下文章
lua中是 ffi 解析 是如何处理数据包的/pkt是如何传进去的 fsfsfs
[100 Tips About Shell] Shell中是如何处理换行符的