Junior
What is the purpose of the `instanceof` operator?
sobes.tech AI
Answer from AI
The instanceof operator is used to check whether an object is an instance of a specific class or subclass, or if it implements a particular interface.
Examples of usage:
- Type checking for safe casting:
// Check if object is a String before casting if (object instanceof String) { String s = (String) object; // work with string s } - Executing type-specific code:
# Check the type of an object to perform corresponding logic if isinstance(obj, list): # work with list pass elif isinstance(obj, dict): # work with dictionary pass - In testing, to verify the type of a return value or collection elements:
// Check if the returned object is an instance of ExpectedClass expect(result).toBeInstanceOf(ExpectedClass); - When working with class hierarchies, to determine the specific type of an object.
In languages with strong dynamic typing (e.g., Python, JavaScript), similar checks can be performed using built-in functions (isinstance() in Python, instanceof in JavaScript).
It is important to remember that excessive use of instanceof may indicate improper design, where polymorphism could be applied more effectively.