2018-11-05

    null和undefined是两种数据类型, null表示空对象, undefined表示缺少初始值。

    null是一种类型, 赋值变量为null型。

    未定义的变量, 即为undefined。

    1. var a = null
    2. a // null
    3. var b
    4. b // undefined
    5. typeof(b) // "undefined"

    标准解释

    1. 6.1.1 The Undefined Type
    2. The Undefined type has exactly one value, called undefined. Any variable that has not been assigned a value has the value undefined.
    3. 6.1.2 The Null Type
    4. The Null type has exactly one value, called null.

    undefined使用场景:

    • 判断变量, 判断函数传参异常, 判断对象字段和方法是否存在(或者正确使用Object.propretype.call(ob, ‘key’))
    • es6中应对eslint规范的export default undefined

    廖雪峰网站截图:

    [JS]如何区分null和undefined - 图1