Home Javascript - 关于 null, undefined, 0, [], true, false, void
Post
Cancel

Javascript - 关于 null, undefined, 0, [], true, false, void

  • ECMAScript中的数据类型:
    • 原始类型: Undefined、Null、Boolean、Number 、 String、Symbol(ECMAScript 6 新定义,类似于C中的枚举类型)
    • 复杂数据类型:Objet
  • null 是 Object
  • undefined == null //true (undefined 派生自null)
  • 0 == ‘’ // true
  • [] == false // true
  • 最初设计中,null是一个表示”无”的对象,转为数值时为0;undefined是一个表示”无”的原始值,转为数值时为NaN。
  • null表示”没有对象”,即该处不应该有值
  • undefined表示”缺少值”,就是此处应该有一个值,但是还没有定义
  • null 可理解为一个空指针,尚未指向任何对象。
  • 判断变量是否为undefined :
    • 使用 === 或者 !== , 当使用普通相等符== 时,会同时检查是否等于null
    • 使用typeof操作符
  • 判断变量是否为null:
    • 使用 === 或者 !==
    • 不可使用typeof , typeof null == ‘object’ // true
  • void 运算符 对给定的表达式进行求值,然后返回 undefined
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
if (!undefined) 
    console.log('undefined is false');
// undefined is false

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

undefined == null
// true

Object.getPrototypeOf(Object.prototype)
// null

var i;
i // undefined

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

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

var x = f();
x // undefined

var value;

console.log(typeof data); // "undefined"
console.log(typeof value); // "undefined"
console.log(data === undefined); //error


var data;
console.log(data === void 0); //true
This post is licensed under CC BY 4.0 by the author.

前端 - About Sass/Scss

Javascript - 关于 apply, call, bind, this

Trending Tags