Do you know what will be the output of this code?
JavaScript
console.log("This is a string." instanceof String);
Show answer and explanation
This actually returns false.
The reason for that circumstance is that JavaScript distinguishes between primitives and objects.
And “This is a string.” is actually a primitive string and not an instance of the object String.
If the code was like this:
new String("This is a string.") instanceof String
you’d actually get the result you would have expected at the beginning.
What instanceof actually does is checking if the String constructor is nested within the prototype chain of the value provided.
In this case, it isn’t.