javascript - JavaScript 中 typeof 和 instanceof 的区别

标签 javascript node.js syntax instanceof typeof

我正在使用 node.js,所以这可能是 V8 特有的。

我一直注意到 typeof 和 instanceof 之间存在一些奇怪的差异,但这里有一个让我很困扰:

var foo = 'foo';
console.log(typeof foo);

Output: "string"

console.log(foo instanceof String);

Output: false

那里发生了什么?

最佳答案

typeof 是一个构造,它“返回”你传递给它的任何东西的原始类型。
instanceof 测试右操作数是否出现在左原型(prototype)链中的任何位置。

需要注意的是,字符串字面量"abc"和字符串对象new String("abc")之间有很大的不同。在后一种情况下,typeof 将返回“object”而不是“string”。

关于javascript - JavaScript 中 typeof 和 instanceof 的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14839656/

相关文章:

javascript - Document.execCommand 不更新当前事件元素

javascript - LinkBut​​ton,如何防止用 "asp:LinkButton"双击?或在第一次点击后禁用 "asp:LinkButton"

javascript - Rails ERB select_tag,使用 javascript 更新默认值

node.js - 为什么 require ('underscore' ) 在 node.js REPL 上执行时返回 undefined?

node.js - 在 node.js 中未定义 URL

Python:使类可迭代

c - c/c++ 中的 unsigned long/long/int 有什么区别?

javascript - 将数组值代入循环以创建新数组

javascript - redis sub/pub 进出 io.connect 回调

javascript - 如何在 JavaScript 中显示 "take variables out of an object"