I'm trying to understand difference between 4
and (4)
.
4.toString(); // SyntaxError: Unexpected token ILLEGAL
(4).toString(); // "4"
I thought it's because toString()
method is defined on Number
(object) and 4 is a primitive datatype i.e.number
which doesn't have toString()
method.
However, how does it works for (4).toString()
?
4 === (new Number(4)) // false
(4) === (new Number(4)) // false. (4) is not an instance of Number object