Una vez encontré un operador "===". Pero no recuerdo lo que era ... ¿o dónde lo usamos ... o hay tal tipo de operador? ¿Dónde se usa?¿Para qué sirve el operador "==="?
Respuesta
En PHP, JavaScript, ECMAScript, ActionScript 3.0, y un número de otros idiomas similares, dinámicas, hay dos tipos de controles de igualdad: == (igualdad no estricto) y === (igualdad estricta). Para mostrar un ejemplo:
5 == "5" // yep, these are equal, because "5" becomes 5 when converted to int
5 === "5" // nope, these have a different type
Básicamente, cada vez que utilice ==, corre el riesgo conversiones de tipos automáticos. Usar === asegura que los valores son lógicamente iguales Y que los tipos de los objetos también son iguales.
Se usa en JavaScript, PHP y puede ser más (¡que aún no he encontrado!), Se usa para comparar si las dos cosas comparadas son del mismo tipo de objeto y tienen el mismo valor.
También se utiliza en PHP .. – vpram86
No solo JS. También en muchos otros idiomas. –
@Aviator @ Felix gracias por señalar, editado :) –
=== es la igualdad, al menos en PHP
Here is a link que ayuda a explicar thsi
Y en Prolog también, según recuerdo. No estoy seguro. – MatrixFrog
Por lo general, pone a prueba si dos objetos son los mismos. es decir. no si tienen el mismo valor (s) pero si realmente son el mismo objeto.
En JavaScript, ==
escribe coerción, mientras que ===
, el operador de "igualdad estricta" no lo hace. Por ejemplo:
"1" == 1; // true
"1" === 1; // false
También hay un operador de desigualdad estricta correspondiente, !==
.
"===" operador se utiliza para comprobar los valores son iguales, así como mismo tipo.
Ejemplo
$a === $b if $a is equal to $b, and they are of the same type.
En Ruby, el triple igual es el operador (implícitamente) utilizado por la construcción case/when
para determinar cuándo un objeto "cae dentro" de un caso particular. Por ejemplo, Ruby tiene un concepto de objetos "Rango"; 1..10
significa "todos los valores entre 1 y 10, inclusive". Entonces `3 == 1..10 'es falso, ya que el 3 es un número y el 1..10 es un Rango. Pero,
3 === 1..10
devuelve verdadero, ya que 3 es en ese rango.
caso/cuando lo usa al decidir a qué caso pertenecen los argumentos. Por lo tanto,
case a
when (1..10)
puts "This is a valid rating"
else
puts "invalid"
end
funciona como esperaba.
- 1. ¿Para qué sirve el falso operador en C#?
- 2. ¿Para qué sirve __path__?
- 3. ¿Para qué sirve pushState?
- 4. ¿Para qué sirve cURL?
- 5. ¿Para qué sirve memcache.hash_strategy?
- 6. System.Web.Abstractions: ¿para qué sirve?
- 7. ¿Qué es el operador ": =" en (VB) .NET o para qué sirve?
- 8. ¿Para qué sirve Clojure?
- 9. ¿Para qué sirve SDKDDKVer.h?
- 10. ¿Para qué sirve PowerShell?
- 11. ¿Para qué sirve UnmanagedMemoryStream?
- 12. ¿Para qué sirve ApplicationDomain.domainMemory?
- 13. Cakephp, ¿para qué sirve?
- 14. ¿Para qué sirve Automapper?
- 15. ¿Para qué sirve generator.throw()?
- 16. ¿Para qué sirve Enum?
- 17. ¿Para qué sirve AnyVal.types?
- 18. ¿Para qué sirve el símbolo $ en JavaScript
- 19. ¿Para qué sirve el archivo Nuget repositories.config?
- 20. ¿Para qué sirve el atributo citar?
- 21. JSON RPC - ¿Para qué sirve el "id"?
- 22. ¿Para qué sirve el functor aplicativo 'Const'?
- 23. ¿Para qué sirve el modificador 'asmlinkage'?
- 24. ¿Para qué sirve el archivo NW MainWindow.xib?
- 25. ASP.NET MVC3: ¿Para qué sirve el paquete.config?
- 26. ¿Para qué sirve el generador GWT?
- 27. ¿Para qué sirve el ThreadGroup de Ruby?
- 28. sem_init (...): ¿Para qué sirve el parámetro pshared?
- 29. ¿Para qué sirve `type_info :: before`?
- 30. Lucene SpanQuery: ¿para qué sirve?
¿Hay alguna diferencia entre Javascript y ECMAScript? –
@Turtle, sí. ECMAScript es el esfuerzo de estandarización del lenguaje en el que se basa JavaScript (JavaScript fue primero), y hay muchos lenguajes, no solo JavaScript, que derivan su sintaxis central de ECMAScript pero luego agregan otros elementos o construcciones (por ejemplo, ActionScript 3.0).La diferencia clave entre JavaScript y ECMAScript es que JavaScript es ECMAScript tal como ocurre en la práctica ... es decir, cómo los navegadores realmente implementan ECMAScript (como desviaciones del estándar, extensiones, etc.) –
Hiciste un error tipográfico en el segundo ejemplo , debería ser '5 ===" 5 "' en lugar de '5 === 5'. –