Using Object.prototype.toString.call() to check for a number in JavaScript

For numbers, the Object.prototype.toString.call() function is basically equivalent to using the typeof keyword.

Hi Stas Kovalenko, thanks for stopping by with your very useful response to my article on how to check for a number in JavaScript!

The JavaScript statement Object.prototype.toString.call() can indeed differentiate between numbers, objects, and even arrays, because it returns a string that specifies the object type in more detail than typeof.

Author Moon describes it well in Better Programming:

Indeed, your code example should always work the same as typeof:

Thanks for sharing! I think Object.prototype.toString.call() is the most generic way of checking data types in JavaScript, because it will differentiate between types of objects (such as arrays) and that can be useful at times.

Image for post
Image for post
Photo by dylan nolte on Unsplash

πŸ€“ The physical therapist who writes JavaScript πŸ’ͺ Web Developer 😎 Mentor 🧠 DPT πŸ˜„ SEO Expert 😁 React πŸ˜† Jamstack πŸ’¬ Ask me anything πŸ‘‰ DoctorDerek.com πŸ‘ˆ

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store