Try this in the location bar of your browser (this will run the statements through the JavaScript implementation of your browser and write the evaluated value as a new document):
javascript: typeof("17" - 0)
This type casts the string "17" to the number 17. Your result will be number.
BUT:
javascript: typeof("17" + 0)
will type cast the number 0 to the string "0" and will concatenate it to the string "17", so you will get "170". Your result will be string.
AHA!
This looks like a thing that can result in bugs in implementations.
That's why I think it's better to use "parseInt" and "toString".
ReplyDelete