undefined与null的区别

1、相似性

if (!undefined) console.log('undefined is false'); // undefined is false if (!null) console.log('null is false'); // null is false undefined == null// true

undefined和null在if语句中都会被自动转为false

2、不同之处

undefined

undefined表示“缺少值”,典型用法:

  • 变量被声明了,没有赋值
  • 调用函数时,应该提供的参数没有提供
  • 对象的属性没有赋值
  • 函数没有返回值

var i; i // undefinedfunction

f(x){console.log(x)} f() // undefined

var o = new Object(); o.p // undefinedr

x = f(); x // undefined

NULL

  • 作为原型链的终点
  • DOM,它是独立于语言的,不属于ECMAScript规范的范围。因为它是一个外部API,试图获取一个不存在的元素返回一个null值,而不是undefined

Object.getPrototypeOf(Object.prototype) // null

埋点:

{}与 null,类型不同(引用类型、基础类型)
NAN

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 前端07班 王语句JavaScript程序的执行单位为行(line),也就是一行一行地执行。一般情况下,每一行就是...
    ea203453e188阅读 912评论 0 4
  • 在常见的强类型语言中,通常有一个表示“空”的值,比如NULL。但是在JavaScript中,空(或者叫“无值”)有...
    _李雷阅读 385评论 0 0
  • 语句 JavaScript程序的执行单位为行(line),也就是一行一行地执行。一般情况下,每一行就是一个语句。 ...
    米塔塔阅读 465评论 1 10
  • 一、相似性 在JavaScript中,将一个变量赋值为undefined或null,老实说,几乎没区别。 unde...
    前端混合开发阅读 243评论 0 1
  • 文/若蝶 在朋友圈里看到一条微信:王思聪他爹给了他五个亿,他赚了四十亿,翻了八倍,而我拿2块钱买了一副手套,去了工...
    若蝶翩翩阅读 1,161评论 3 5