Search code examples
javascript

Objects and arrays addition


Can anyone explain to me how the results of the following was evaluated?

{} + {} // NaN
[] + {} // "[object Object]"
{} + [] // 0
[] + [] // ""

Solution

  • Here is a full explanation of this, check it.

    And note {} + {} is NaN if you execute it directly in the console because {} is thought of a block rather than an object.

    ({}+{}) should be '[object Object][object Object]'

    The real result is:

    console.log({}+{}) // '[object Object][object Object]'
    console.log([]+{}) // '[object Object]'
    console.log({}+[]) // '[object Object]'
    console.log([]+[]) // ''