跳到主要内容

data-undefined

基本类型之一的 Undefined 只拥有一个值 undefined ,代表未定义的值。凡是未被定义和赋值的变量、属性或参数,都默认为 undefined

问题


问题一、null 和 undefined 有什么关系?

相同点

  • 都是代表着空类型
  • 转换为Boolean都是false
  • null == undefined 结果为 true

不同点

  • typeof null 结果为 {}typeof undefined 结果为 undefined
  • Number(null) 结果为 0Number(undefined) 结果为 NaN
  • null === undefined 结果为 false

问题二、undefined >= undefined 为什么是 false

检验

console.log(undefined >= undefined) // false

原因

>= 大于等于操作符,要求两边必须为数值类型,所以要对undefined强制类型转换,内部执行ToNumber(undefined) 输出NaN , 所以最后的表达式为undefined >= undefined 可以转化为 NaN >= NaN , 由于 NaN 不大于、等于、小于任何值,所以结果为false