A diferença entre nulo e indefinido:
1. Os tipos de dados são diferentes
Use typeof para julgar, o tipo de dados nulo é objeto e o tipo de dados indefinido é indefinido
typeof(null) //object typeof(undefined) //undefined
2. Os valores de nulo e indefinido são iguais, mas quando os dois são comparados por igualdade, os dois não são iguais. (porque seus tipos de dados são diferentes)
null==undefined //true null===undefined //false
//理解:=是赋值 ==是值相等 ===值和数据类型都相等
3. Os valores convertidos em números são diferentes
Number(null) //0 Number(null+2) //2
Number(undefined) //NaN Number(undefined+2) //NaN
4. Nulo significa "vazio", o que significa um ponteiro nulo; variável indefinida não foi declarada ou foi declarada, mas não foi atribuída (não inicializada)
let a;
console.log(a); // undefined
let b=null;
console.log(b) // null