Comment déterminer si une variable est undefined ou null en JavaScript ?
Bonjour à tous ! Je viens de commencer à apprendre JavaScript et j'ai rencontré un problème. Dans mon code, je dois souvent vérifier si une variable existe ou non, mais je confonds `undefined` et `null`.
Par exemple, j'ai une fonction qui prend un paramètre `name`. Si l'utilisateur n'a pas passé de nom, je veux afficher le message "Nom non spécifié". Mais s'il a passé `null`, je veux aussi traiter cela comme une absence de nom.
Voici comment j'ai essayé de faire :
```javascript
function greet(name) {
if (name == undefined) {
console.log("Nom non spécifié");
} else {
console.log("Bonjour, " + name);
}
}
greet(); // affiche "Nom non spécifié" — fonctionne
greet(null); // affiche "Bonjour, null" — mais devrait afficher "Nom non spécifié" !
```
Pourquoi `name == undefined` ne détecte-t-il pas `null` ? J'ai lu qu'il y a les opérateurs `==` et `===`, mais je ne comprends pas la différence. J'ai aussi entendu parler de `typeof`, mais il semble réservé aux chaînes. Dites-moi comment vérifier correctement à la fois `undefined` et `null` ? Et y a-t-il une différence entre ces deux ?