J'ai déjà rencontré un opérateur "===". Mais je ne me souviens pas de ce que c'était .. ou où l'utilisons-nous .. ou existe-t-il un tel type d'opérateur? où est-il utilisé ??À quoi sert l'opérateur "==="?
Répondre
En PHP, JavaScript, ECMAScript, ActionScript 3.0, et un certain nombre d'autres semblables, les langages dynamiques, il existe deux types de contrôles à l'égalité: == (d'égalité non stricte) et === (égalité stricte). Pour afficher un exemple:
5 == "5" // yep, these are equal, because "5" becomes 5 when converted to int
5 === "5" // nope, these have a different type
Fondamentalement, lorsque vous utilisez ==, vous risquez des conversions de type automatiques. L'utilisation de === garantit que les valeurs sont logiquement égales ET que les types des objets sont également égaux.
Son utilisé en JavaScript, PHP et peut-être plus (que je n'ai peut-être pas encore rencontré!), Il est utilisé pour comparer si les deux choses comparées sont du même type d'objet et ont la même valeur.
Également utilisé dans PHP .. – vpram86
Non seulement JS. Aussi dans beaucoup d'autres langues. –
@Aviator @ Felix merci de souligner, édité :) –
=== est l'égalité, au moins en PHP
Here is a link qui aide à expliquer thsi
Et dans Prolog aussi, si je me souviens. Je ne suis pas certain. – MatrixFrog
Il teste habituellement si deux objets sont les mêmes. c'est à dire. pas s'ils ont la même valeur (s) mais s'ils sont vraiment le même objet.
En JavaScript, ==
tape coercion, alors que ===
, l'opérateur "strict equality" ne le fait pas. Par exemple:
"1" == 1; // true
"1" === 1; // false
Il y a aussi un opérateur d'inégalité stricte correspondant, !==
.
"===" opérateur est utilisé pour vérifier les valeurs sont égales ainsi que le même type.
Exemple
$a === $b if $a is equal to $b, and they are of the same type.
Dans Ruby, triple equals est l'opérateur (implicitement) utilisé par la construction case/when
pour déterminer quand un objet "tombe" dans un cas particulier. Par exemple, Ruby a un concept d'objets "Range"; 1..10
signifie «toutes les valeurs comprises entre 1 et 10 inclusivement». Donc `3 == 1..10 'est faux, puisque le 3 est un nombre et le 1..10 est un Range. Mais,
3 === 1..10
renvoie vrai, puisque 3 est dans cette gamme. Case/when utilise ceci pour décider à quel cas appartient un argument. Ainsi,
case a
when (1..10)
puts "This is a valid rating"
else
puts "invalid"
end
fonctionne comme prévu.
- 1. À quoi sert MyAssembly.XmlSerializers.dll?
- 2. À quoi sert "float_t"?
- 3. À quoi sert httpContext.Response.SubStatusCode?
- 4. À quoi sert pcap_pkthdr?
- 5. À quoi sert l'iframe?
- 6. À quoi sert Go?
- 7. À quoi sert IList?
- 8. À quoi sert ApplicationDomain.domainMemory?
- 9. À quoi sert __gxx_personality_v0?
- 10. À quoi sert SocketOptionName.ReuseAddress?
- 11. À quoi sert WindowsTokenRoleProvider?
- 12. À quoi sert getVoiceMailAlphaTag()?
- 13. À quoi sert Automapper?
- 14. À quoi sert l'hexagone?
- 15. System.Web.Abstractions: à quoi sert-il?
- 16. À quoi sert sql-dump?
- 17. à quoi sert un manifeste?
- 18. À quoi sert sys/user.h?
- 19. À quoi sert le glyphe?
- 20. PHP: à quoi sert pcntl_signal?
- 21. A quoi sert AJAX?
- 22. A quoi sert Webprofile?
- 23. À quoi sert la variable d'environnement XDG_SESSION_COOKIE?
- 24. $$ dans jQuery, à quoi cela sert-il?
- 25. À quoi sert le jeton d'utilisateur?
- 26. À quoi sert l'application Android Facebook
- 27. À quoi sert Microsoft Document Explorer 2008?
- 28. À quoi sert le nom d'index SQL?
- 29. À quoi sert l'opérateur de substitution Perl?
- 30. à quoi sert le bouton image?
Y a-t-il une différence entre Javascript et ECMAScript? –
@Turtle, oui. ECMAScript est l'effort de normalisation linguistique sur lequel repose JavaScript (JavaScript étant le premier), et de nombreux langages - pas seulement JavaScript - dérivent leur syntaxe principale d'ECMAScript, mais ajoutent ensuite d'autres éléments ou constructions (par exemple, ActionScript 3.0).La principale différence entre JavaScript et ECMAScript, est que JavaScript est ECMAScript tel qu'il se produit en pratique ... c'est-à-dire, comment les navigateurs implémentent réellement ECMAScript (tels que les déviations par rapport à la norme, extensions, etc.) –
Vous avez fait une erreur sur le second exemple , devrait être '5 ===" 5 "' au lieu de '5 === 5'. –