¿Cuál es la diferencia entre nulo e indefinido en js?

La diferencia entre nulo e indefinido:

1. Los tipos de datos son diferentes

Use typeof para juzgar, el tipo de datos de nulo es objeto, y el tipo de datos de indefinido es indefinido

typeof(null) //object  typeof(undefined) //undefined

2. Los valores de nulo e indefinido son iguales, pero cuando los dos se comparan por igualdad, los dos no son iguales. (porque sus tipos de datos son diferentes)

null==undefined //true  null===undefined //false
//理解:=是赋值 ==是值相等  ===值和数据类型都相等

3. Los valores convertidos en números son diferentes

Number(null) //0         Number(null+2) //2
Number(undefined) //NaN  Number(undefined+2) //NaN

4. Nulo significa "vacío", lo que significa un puntero nulo, la variable indefinida no ha sido declarada o ha sido declarada pero no ha sido asignada (sin inicializar)

let a;
console.log(a); // undefined
let b=null;
console.log(b) // null

Supongo que te gusta

Origin blog.csdn.net/weixin_45308405/article/details/127839485
Recomendado
Clasificación