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.
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.
3. Array.isArray() method
In fact, js has provided a method to determine whether it is an array type, as follows:
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).
#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();
Then there is this method , you can get the object name like this:
or
## 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!