Home >Java >JavaBase >Java determines whether an object is an array

Java determines whether an object is an array

王林
王林Original
2019-11-21 11:34:446316browse

Java determines whether an object is an array

1. Starting from the constructor, obj instanceof Array

typeof and instanceof can be used to determine variables. The typeof method returns a string to represent the type of data. ; But typeof is not accurate to determine the data type. For example, the typeof return value of arrays, regular expressions, dates, and objects is all object, which will cause some errors.

The instanceof operator is used to test whether an object has the prototype property of a constructor in its prototype chain and returns a Boolean value.

Java determines whether an object is an array

2. Start with the prototype, Array.prototype.isPrototypeOf(obj);

Use the isPrototypeOf() method to determine whether Array is the prototype of obj In the chain, if yes, it returns true, otherwise false.

Java determines whether an object is an array

3. Array.isArray() method

In fact, js has provided a method to determine whether it is an array type, as follows:

Java determines whether an object is an array

In MDN, the difference between isArray and instanceof is compared. When Array.isArray() is not available, MDN has made the following patch, indicating that it is still recommended to use the third method mentioned earlier. Method Object.prototype.toString.call(obj).

Java determines whether an object is an array

#4. According to the class attribute (class attribute) of the object, call the toString() method across the prototype chain.

Explain that once an object is created in js, it will carry the type name of the created object internally. Once created, it cannot be modified. So how to get the type name of this object?

js provides the method of calling the toString method in the object prototype, Object.prototype.toString.call(obj); because the toString() method inherited by many objects has been rewritten, in order to be able to call the correct toString () version, which is the most original version. You can use the Function.call() method, where call can be understood in this way, which is equivalent to obj borrowing this Object.prototype.toString();

Java determines whether an object is an array

Then there is this method , you can get the object name like this:

Java determines whether an object is an array

or

Java determines whether an object is an array

## Recommended tutorial:

Getting Started with Java Development

The above is the detailed content of Java determines whether an object is an array. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn