在javascript中,new运算符是否总是返回new语句中提到的相同类型的对象?

trans1st0r

给出以下代码:

function foo(){ 
   return foo; 
}
var bar = new foo();

console.log(bar instanceof foo);

我希望输出为“ true”。但是,它是“ false”。

为什么bar对象不是foo类型?

另一方面,如果我只是从foo返回一个数字(例如2),则输出为true。

保罗

当从构造函数返回原语(例如2)时,返回值将被忽略。而是返回new创建的对象,就像构造函数没有return语句时一样。如果从构造函数返回对象,则无论该对象是否具有构造函数作为其内部原型,都将返回该对象(注意:函数是Javascript中的对象)。

在您的情况下,您将返回一个函数;该函数是foo,但不是foo的实例。

查看新操作员

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

是否可以使用&&和|| Java中相同的if语句中的运算符?

来自分类Dev

C中的IF语句中的运算符++

来自分类Dev

C中的IF语句中的运算符++

来自分类Dev

运算符重载:仅可包含相同类型对象的成员与非成员

来自分类Dev

是否可以使用'+'运算符添加两个相同类的对象

来自分类Dev

+ !! if语句中的运算符

来自分类Dev

C ++:在函数内创建新对象并返回结果时,是否必须使用new运算符创建对象?

来自分类Dev

返回语句中的三元运算符

来自分类Dev

返回语句中的空合并运算符 - c#

来自分类Dev

是否可以在Rust中为不同类型实现equals运算符?

来自分类Dev

如何基于相同类型中提到的键在打字稿中声明类型?

来自分类Dev

Javascript`new`运算符和原型

来自分类Dev

JavaScript 函数和 new 运算符

来自分类Dev

或“ ||”运算符在php中的if语句中不起作用

来自分类Dev

使用逻辑OR运算符的if语句中的多个比较在JavaScript中不起作用

来自分类Dev

不能理解此语句-运算符后的返回类型

来自分类Dev

Python:print()语句中的%运算符

来自分类Dev

Python If语句中的运算符

来自分类Dev

Revit语句中的运算符错误

来自分类Dev

“ IN”语句中的“ CASE WHEN”运算符

来自分类Dev

if语句中的按位运算符

来自分类Dev

TSQL NOT运算符在where语句中

来自分类Dev

Python:print()语句中的%运算符

来自分类Dev

(+)=“ +等于”运算符在SQL语句中

来自分类Dev

Python If语句中的运算符

来自分类Dev

if语句中的赋值运算符

来自分类Dev

将new运算符与javascript函数一起返回会返回奇数范围

来自分类Dev

C ++ new运算符是否保证返回的指针不会更改其值?

来自分类Dev

JavaScript中对象的运算符==和===

Related 相关文章

热门标签

归档