Avatar ·

O que é null/nil em JavaScript e como trabalhar com ele?

Olá a todos! Comecei a estudar JavaScript (Node.js) e me deparei com uma confusão entre os termos null e nil. Em outras linguagens, como Ruby ou Go, nil é o valor padrão para "nada". Já em JS, vejo apenas null e undefined. Mas ouvi dizer que alguns usam nil em código Node.js. Alguém pode me explicar se existe nil como um tipo separado em JavaScript? Ou é apenas um apelido para null?

Tentei escrever um script simples para testar:

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

// Tentativa de usar nil
let c = nil; // ReferenceError: nil is not defined

Esperava que nil funcionasse, mas recebi um erro. Pergunta: como lidar corretamente com a ausência de valor em JavaScript? Em quais casos usar null e em quais usar u