聊聊NaN

152 阅读1分钟
  • what ?

       NaN: not a number;


  • 类型

      typeof NaN // 'number'


  • 唯一自反:

      NaN谁都不等于,连自己都不等于!!!任性吧

      NaN === NaN // false;


  • NaN判断:
       isNaN(undefined) // true;

       isNaN(null) // false;

       isNaN(123) //false;

       isNaN('aaa') // true;

      Number.isNaN('123') // false;

      Number.isNaN('xxx') // true;

      Number.isNaN(false) // false;

      推荐使用Number.isNaN来判断, 先判断是否可以转为数字,如果可以再继续判断;


  • 数学运算失败时:

      +undefined // NaN;

      +'xxx' // NaN;