JavaScript Coding Question – 14

  • number1() : This will give output as 123. Because it calls with no arguments and returns default value 123.
  • number2(new Number(123)) : This is called with a Number object wrapping 123, so number2 returns this Number object as-is as [Number: 123]
  • The === operator checks for both value and type. Since a primitive number (123) and a Number object wrapping 123 have different types, the comparison returns false.
  • NOTE : Suppose if we use == operator for comparison it gives the output as true because JavaScript attempts to convert the Number object into a primitive for comparison. When an object like new Number(123) is compared to a primitive, JavaScript calls the object’s .valueOf() method to get its primitive value.

Leave a comment