null和undefined的区别简书 (undefined是null吗)

null:表示一个"无"的对象,转化为数值时为0

怎么产生:null是人为进行赋值的。比如某个函数或者数组等等复杂类型,你如果想要进行一个舍弃 (释放内存时) ,可以把它赋值为null。

1.在设计js的时候,先设计了null,为什么设计null,设计之初借鉴了java语言

2.null会被隐式转换成0,很不容易发现错误

3.先有null后有undefined

<script>
        console.log(Number(null));//0
        console.log(typeof Number(null));//number
    </script>

undefined:表示一个"无"的原始值,转化为数值时为NaN

怎么产生:变量声明了但是未赋值,自动赋值的

<script>
        console.log(Number(undefined));//NaN
        console.log(typeof Number(undefined));//number
  </script>

都是基本数据类型的一种:

 <script>
        console.log(null);//object
        console.log(undefined);//undefined
    </script>

值相等,但是不全等

 <script>
        console.log(null == undefined);//true
        console.log(null === undefined);//false
    </script>

简单点来说

null 是 不存在 undefined 是 错误、不明确、未定义