what's the result of 1 + undefined

前端 未结 3 1186
天涯浪人
天涯浪人 2020-12-17 01:11
1 + undefined = ?  
  1. first, String(undefined) get string \"undefined\"
  2. second, 1 + \"undefined\" = \"1undefined\"

what

3条回答
  •  青春惊慌失措
    2020-12-17 02:02

    NaN is the result of a failed Number operation.

    1 + undefined           // NaN
    "1" + undefined         // "1undefined"
    1 + "" + undefined      // "1undefined"
    1 + ("" + undefined)    // "1undefined"
    typeof NaN              // "number"
    typeof undefined        // "undefined"
    NaN === NaN             // false (it's not reflexive!)
    undefined === undefined // true (it's reflexive)
    NaN.toString()          // "NaN"
    

    NaN means Not a Number where a number was expected. Any Number operation with NaN will result in NaN as well.

提交回复
热议问题