


Summary of the difference between typeof and instanceof in JS_javascript skills
In JavaScript, typeof and instanceof are often used to determine whether a variable is empty or what type it is. But there are still differences between them:
typeof
typeof is a unary operation, placed before an operand, and the operand can be of any type.
The return value is a string describing the type of the operand. typeof generally can only return the following results:
number, boolean, string, function, object, undefined. We can use typeof to get whether a variable exists, such as if(typeof a!="undefined"){alert("ok")} instead of using if(a) because if a does not exist (not declared ), an error will occur. For special objects such as Array and Null, typeof will always return object. This is the limitation of typeof.
instanceof
instance: instance, example
a instanceof b?alert("true"):alert("false"); //a is an instance of b? True:False
instanceof is used to determine whether a variable is an instance of an object, such as var a=new Array();alert(a instanceof Array);
will return true, and alert(a instanceof Object) will also return true ;This is because Array is a subclass of object
. Another example: function test(){};var a=new test();alert(a instanceof test) will return
Speaking of instanceof, we have to insert one more problem, which is the arguments of function. We may all think that arguments are an
Array, but if you use instanceof to test, you will find that arguments are not an Array object, even though it looks very similar. .
Also:
Test var a=new Array();if (a instanceof Object) alert('Y');else alert('N');
Got 'Y'
But if (window instanceof Object) alert('Y');else alert('N');
Got 'N'
So, the object tested by instanceof here refers to the object in js syntax, not the dom model object.
There will be some differences using typeof
alert(typeof(window)) will get object

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics











The function of instanceof is to determine whether an object is an instance of a certain class, or whether it implements a certain interface. instanceof is an operator used to check whether an object is of a specified type. Usage scenarios of instanceof operator: 1. Type checking: can be used to determine the specific type of an object, so as to perform different logic according to different types; 2. Interface judgment: can be used to determine whether an object implements an interface, so as to determine whether an object implements an interface. The definition of the interface calls the corresponding method; 3. Downward transformation, etc.

Concept 1. This operator is used to operate on objects and check whether the object is of a specific type (type or interface type). Format 2. If the object pointed to by the variable on the left side of the calculator is an object of the class or interface on the right side of the operator, the result is true. (Objectreferencevariable)instanceof(class/interfacetype) instance packagecom.verify_instanceof;publicclassTestInstanceOf{publicstaticvoidmain(String[]args){//The following four lines of code are used to prove: instanceof

In Java, instanceof is a binary operator used to check whether an object is an instance of a class or an instance of a subclass of a class. Its syntax is "object instanceof class", where object is an object Quote, class is a class name or interface name.

instanceof is an operator in JavaScript, used to detect whether the "prototype" attribute of the constructor appears anywhere in the prototype chain of the object. The syntax is "object instanceof constructor", where object is the object to be detected and constructor is the object to be detected. Constructor to check.

The reasons for not using instanceof are: 1. The programming language you are using may not support the instanceof operator; 2. You think that using other methods can better achieve the requirements. In some cases, using other methods to check the object type may be more effective. or more suitable for your needs; 3. Not familiar with how the instanceof operator is used or unsure of its behavior; 4. In some cases, using "instanceof" may not be the best choice.

In JavaScript, typeof is an operator used to determine the data type of a given variable. Can be used to determine whether a variable is a string, number, Boolean, function, object, or undefined data type.

The reason is: The instanceof operator is used to check whether an object is an instance of a specific class (or its derived class). If the object is not an instance of a class, then type determination cannot be made and an error is thrown. To avoid this error, when using the instanceof operator, you need to ensure that the object is an instance of a class. If you are not sure about the type of an object, you can use other methods to determine the type.

When using the instanceof operator to check the type of an object, if the result is true, it means that the object is an instance of the specified type. However, the compiler does not automatically convert the object to the specified type, so a cast is required. Casting is the operation of converting an object from one type to another. After using the instanceof operator, if you determine that the object is an instance of the specified type and want to operate with that type, you need to perform cast type conversion.
