Quelle est la différence entre == et === en JavaScript ? Quand utiliser chaque opérateur ?
Bonjour à tous ! Je viens de commencer à apprendre JavaScript et j'ai rencontré une situation que je ne comprends pas. Dans le code, je vois souvent deux opérateurs de comparaison similaires : `==` et `===`. Au début, je pensais qu'ils faisaient la même chose, mais ensuite j'ai remarqué un comportement étrange.
Par exemple, j'ai écrit ce code :
```javascript
console.log(5 == "5"); // true
console.log(5 === "5"); // false
```
Pourquoi dans le premier cas JavaScript dit que le nombre 5 et la chaîne "5" sont égaux, mais pas dans le second ? Pourtant, ce sont des types de données différents !
Ou encore cet exemple :
```javascript
console.log(false == 0); // true
console.log(false === 0); // false
```
Je suis complètement perdu. Est-ce que `false` et `0` sont la même chose ? Mais ce n'est pas le cas ! `false` est une valeur booléenne, et `0` est un nombre.
Expliquez-moi, s'il vous plaît, quelle est la différence entre ces opérateurs. Quand faut-il utiliser `==` et quand `===` ? Et pourquoi JavaScript a-t-il deux façons différentes de comparer ? Je vous serais très reconnaissant pour une explication claire avec des exemples.