Tag: instanceof

节点与Chrome,实施instanceof,多个文件

我有这个奇怪的行为,希望你能帮助我。 =) 我有一个设置,我需要使用Mocha运行JavaScripttesting。 代码由TypeScript生成,testing通过commonjs和commonjs模块在浏览器和nodejs中运行。 问题是,我想使用instanceof ,但显然,行为会根据代码是在Node还是在Chrome运行而有所不同。 示例如下。 // file Actions.ts Class Action {..} Class ViewAction extends Action {..} Class MyViewAction extends ViewAction {..} // file App.ts var action = new MyViewAction(); // file App.ts or Elsewhere.ts foo(action) { var testA = action instanceof MyViewAction; var testB = (<any>action.constructor).name === "MyViewAction"; } 问题是,如果在不同的commonjs模块中调用foo,则如果在Node运行,则testA将变为false ,但如果在Chrome运行则为true ,而testB在两种情况下都为true 。 […]

JavaScript中typeof和instanceof的区别

我正在使用node.js,所以这可能是特定于V8的。 我一直注意到typeof和instanceof之间的差异,但是这里有一个真正让我感到困惑的东西: var foo = 'foo'; console.log(typeof foo); Output: "string" console.log(foo instanceof String); Output: false 那里发生了什么?