undefined和null与真值表

undefined

undefined类型只有undefined一个值.
表示变量已经定义,但是没有值
或者变量未定义

  1. 变量已定义,但是没有值
var a
a // undefined
  1. 变量未定义
typeof b // undefined

null

null指向不存在的对象, 表示变量是一个空的对象指针.

typeof null // object

undefined和null

  1. undefined和null都保存在栈内存上, 区别是null是个对象指针, 但是值是空.
  2. undefined可以被隐形类型转换为null
undefined == null // true
  1. 如果我们定义预定义一个对象, 可以先赋值为null.
  2. null和undefined都是保存在栈内存上, 区别是null实际上还指向堆内存.
  3. 判断对象是否存在某一个键的时候, 可以
if ( obj.c == null ) {
//doSomething
}

这样等于了

if ( obj.c === null || obj.c === undefined ) {
//doSomething
}

推荐阅读更多精彩内容

  • 第一章: JS简介 从当初简单的语言,变成了现在能够处理复杂计算和交互,拥有闭包、匿名函数, 甚至元编程等...
    LaBaby_阅读 592评论 0 6
  • 前端07班 王语句JavaScript程序的执行单位为行(line),也就是一行一行地执行。一般情况下,每一行就是...
    ea203453e188阅读 664评论 0 4
  • 转载请声明出处 博客原文 随手翻阅以前的学习笔记,顺便整理一下放在这里,方便自己复习,也希望你有也有帮助吧 第一课...
    前端进阶之旅阅读 11,391评论 13 95
  • 因为react的state中存储的数据在页面刷新之后会清空(若设定了初始值则会重置为初始值),为了将state中的...
    _敏讷阅读 473评论 0 0
  • 了解一个人从他潜意识切入的话题便知道他的品味与追求......
    只为一人醉阅读 62评论 0 0
  • 跳出日本圈子来看日语 我々日本人は言うまでもなく、日常生活における他愛もない会話から物事を深く思考するに至るまで日...
    禾禾呈呈阅读 132评论 0 0
  • 我是一个很喜欢怀旧的人。 以前上大学、用的手机内存小、和自己喜欢的人聊天、聊天记录舍不得删、基本可以每天拿出来看、...
    无意惹东风阅读 109评论 3 1