当前位置: 首页 > 面试题库 >

JavaScript中的instanceof运算子是什么?

严正诚
2023-03-14
问题内容

instanceofJavaScript中的关键字可能会相当混乱首次遇到它的时候,人们往往会认为JavaScript是不是面向对象的编程语言。

  • 它是什么?
  • 它解决什么问题?
  • 什么时候合适,什么时候不合适?

问题答案:

左侧(LHS)操作数是要测试到右侧(RHS)操作数的实际对象,右侧对象是类的实际构造函数。基本定义是:

Checks the current object and returns true if the object
is of the specified object type.

这是直接从Mozilla开发人员网站获取的示例:

var color1 = new String("green");
color1 instanceof String; // returns true
var color2 = "coral"; //no type specified
color2 instanceof String; // returns false (color2 is not a String object)

值得一提的是instanceof,如果对象继承自类的原型,则其值为true:

var p = new Person("Jon");
p instanceof Person

这是p instanceof Person是因为真正p继承Person.prototype

根据OP的要求

我添加了一个带有示例代码和解释的小示例。

声明变量时,可以为其指定特定类型。

例如:

int i;
float f;
Customer c;

上面显示一些变量,即ifc。这些类型是integerfloat和用户定义的Customer数据类型。诸如此类的类型可以适用于任何语言,而不仅仅是JavaScript。但是,使用JavaScript声明变量时,您不会显式定义类型var x,x可能是数字/字符串/用户定义的数据类型。因此,instanceof它执行的操作是检查对象以查看其是否为指定的类型,因此从上面开始Customer我们可以执行以下操作:

var c = new Customer();
c instanceof Customer; //Returns true as c is just a customer
c instanceof String; //Returns false as c is not a string, it's a customer silly!

上面我们已经看到了c用type声明的Customer。我们已经对其进行了更新,并检查了它是否为类型Customer。当然,它返回true。然后,仍然使用该Customer对象,检查它是否为String。不,绝对不是String我们更新的Customer对象而不是String对象。在这种情况下,它返回false。

真的就是这么简单!



 类似资料:
  • 问题内容: 运算符是做什么用的?我看过类似的东西 但是,这对我来说都没有意义。我已经完成了研究,但只提出了没有任何解释的示例。 问题答案: 是用于测试对象(实例)是否为给定Type的子类型的二进制运算符。 想像: 然而,随着;, 因为是的超类型,可能较少。 和, 这是因为Dog既不是的子类型也不是的父类型Cat,并且它也不实现它。 请注意,上面用于的变量是类型。这是一个运行时操作,将我们带到一个用

  • 本文向大家介绍JavaScript中的运算符是什么?,包括了JavaScript中的运算符是什么?的使用技巧和注意事项,需要的朋友参考一下 让我们采用一个简单的表达式“ 4 + 5等于9”。这里4和5称为操作数,“ +”称为运算符。 JavaScript支持以下类型的运算符。 算术运算符 比较运算符 逻辑(或关系)运算符 赋值运算符 条件(或三元)运算符 例 这是一个说明运算符示例的示例-

  • 本文向大家介绍什么是JavaScript中的增量(++)运算符?,包括了什么是JavaScript中的增量(++)运算符?的使用技巧和注意事项,需要的朋友参考一下 增量运算符将整数值加1。这是一个示例,其中使用递增运算符两次将a的值递增两次 示例

  • 本文向大家介绍JavaScript中的条件运算符是什么?,包括了JavaScript中的条件运算符是什么?的使用技巧和注意事项,需要的朋友参考一下 条件运算符首先对表达式的真值或假值求值,然后根据求值结果执行两个给定语句之一。 序号 运算符和说明 1 ?:(视情况而定) 如果条件为真?然后取值X:否则取值Y 示例 尝试以下代码以了解条件运算符在JavaScript中的工作方式:

  • 本文向大家介绍JavaScript中的赋值运算符是什么?,包括了JavaScript中的赋值运算符是什么?的使用技巧和注意事项,需要的朋友参考一下 使用赋值运算符,您可以将值分配给变量。JavaScript支持以下赋值运算符- 序号 运算符和说明 1 =(简单分配) 从右侧操作数到左侧操作数分配值 例如: C = A + B将A + B的值分配给C 2 + =(添加和分配) 将右操作数添加到左操作

  • 本文向大家介绍什么是JavaScript中的逻辑运算符?,包括了什么是JavaScript中的逻辑运算符?的使用技巧和注意事项,需要的朋友参考一下 JavaScript支持以下逻辑运算符。假设变量A持有10,变量B持有20,那么, 序号 运算符和说明 1 &&(逻辑与) 如果两个操作数都不为零,则条件变为true。 例如:(A && B)是真的。 2 | | (逻辑或) 如果两个操作数中的任何一个