Le « pas certain » ne pose en fait pas vraiment de problème, il faut juste comprendre ce qui est vrai et ce qui est faux.
Je ne sais pas si ton exemple est incomplet ou pas, mais il semble juste que == fait une comparaison avec transtypage alors que ===, non. Je en vois pas ce qu'il y a d'incertain. À part si ça viens de la gestion du undefined.
Parfois c'est simple, il n'y a qu'un booléen (ou une expression) qui puisse être vrai ou fausse. Parfois c'est un peu plus complexe que ça. C'est comme == / equals en java (enfin le problème n'est pas le même, mais le fait de tester deux choses différentes, mais pas tout le temps).
En Java tu dois savoir que tu manipule des références et ce qu'est la programmation orientée objet. C'est peut être compliqué mais c'est 2 des notions importantes du langage dont tout découle de manière assez cohérente.
Non. Il faut bien voir aussi que ce qui est traité en javascript est, initialement, essentiellement textuel. Par exemple, si je te demande de saisir un entier dans un champ d'une page web, je vais recevoir une chaine de caractère. De la sorte, traiter 0 et "0" de la même manière a du sens puisque initialement tu ne peux pas faire la différence. Cette souplesse a des avantages, et des inconvénients. Il faut juste l'apprendre et l'utiliser à bon escient. Comme toute spécificité d'un langage.
C'est une fausse excuse. Le shell aussi ne traite que des chaines de caractères et il s'en sort de manière trivial. Il faut avoir une gestion du typage en rapport avec ce que tu traite et ce que tu veux donner comme possibilité.
Tous les contenus que j'écris ici sont sous licence CC0 (j'abandonne autant que possible mes droits d'auteur sur mes écrits)
[^] # Re: Petite question ...
Posté par barmic . En réponse au journal Deux nouvelles pour Qt. Évalué à 2.
Je ne sais pas si ton exemple est incomplet ou pas, mais il semble juste que == fait une comparaison avec transtypage alors que ===, non. Je en vois pas ce qu'il y a d'incertain. À part si ça viens de la gestion du undefined.
En Java tu dois savoir que tu manipule des références et ce qu'est la programmation orientée objet. C'est peut être compliqué mais c'est 2 des notions importantes du langage dont tout découle de manière assez cohérente.
C'est une fausse excuse. Le shell aussi ne traite que des chaines de caractères et il s'en sort de manière trivial. Il faut avoir une gestion du typage en rapport avec ce que tu traite et ce que tu veux donner comme possibilité.
Tous les contenus que j'écris ici sont sous licence CC0 (j'abandonne autant que possible mes droits d'auteur sur mes écrits)