¿Objetos y constructores de objetos en JavaScript?
En el mundo vivo de la programación orientada a objetos, ya sabemos la importancia de las clases y los objetos, pero a diferencia de otros lenguajes de programación, JavaScript no tiene las clases tradicionales que se ven en otros lenguajes. Pero JavaScript tiene objetos y constructores que funcionan principalmente de la misma manera para realizar el mismo tipo de operaciones.
- Los constructores son funciones generales de JavaScript que se utilizan con la palabra clave «nuevo». Los constructores son de dos tipos en JavaScript, es decir, constructores incorporados (array y objeto) y constructores personalizados (definen propiedades y métodos para objetos específicos).
- Los constructores pueden ser útiles cuando necesitamos una forma de crear un «tipo» de objeto que se pueda usar varias veces sin tener que redefinir el objeto cada vez y esto podría lograrse usando la función Object Constructor. Es una convención usar mayúsculas en el nombre de los constructores para distinguirlos de las funciones regulares.
Por ejemplo, considere el siguiente código:
function Automobile(color) { this.color=color; } var vehicle1 = new Automobile ("red");
La función «Automóvil()» es un constructor de objetos, y sus propiedades y métodos, es decir, «color», se declara dentro de ella con el prefijo «esto». Los objetos definidos usando un constructor de objetos se convierten en instantes usando la palabra clave «nuevo».
Cuando se llama a new Automobile(), JavaScript hace dos cosas:
- Crea un nuevo objeto nuevo (instancia) Automobile() y lo asigna a una variable.
- Establece la propiedad del constructor, es decir, el «color» del objeto en Automóvil.
Método
Object.is() El método Object.is() se utiliza para determinar si dos valores son iguales o no.
Dos valores pueden ser iguales si tienen una de las siguientes propiedades:
- Si ambos valores no están definidos.
- Si ambos valores son nulos.
- Si ambos valores son verdaderos o falsos.
- Si ambas strings tienen la misma longitud con los mismos caracteres y en el mismo orden.
- Si ambos valores son números y ambos son “+0”.
- Si ambos valores son números y ambos son «-0».
- Si ambos valores son números y ambos son «NaN» o ambos son distintos de cero y ambos no son NaN y ambos tienen el mismo valor.
Object.is() toma dos argumentos que son los valores a comparar y devuelve un valor booleano que indica si los dos argumentos son iguales o no.
Diferencia entre el método Object.is() y el operador “==”
El operador “==” y “===” trata los valores numéricos “+0” y “-0” como iguales, mientras que el método Object.is() los trata como no igual. Aparte de eso, el operador “==” y “===” no trata Número.Nan igual a Nan.
Aplicaciones:
- Object.is() se usa para comparar dos strings.
- Object.is() se usa para comparar dos números.
- Object.is() se usa para comparar la polaridad de dos números.
- Object.is() se usa para comparar dos objetos.
Sintaxis:
Object.is(value1, value2)
Parámetros Utilizados:
value1 : Es el primer valor a comparar.
value1 : Es el segundo valor a comparar.
Valor devuelto:
Object.is() devuelve un valor booleano que indica si los dos argumentos son iguales o no.
A continuación se proporcionan ejemplos de la función anterior.
Ejemplos:
Input : Object.is('geeksforgeeks', 'geeksforgeeks'); Output: true
Explicación: en el ejemplo anterior, el método Object.is() devuelve verdadero porque las dos strings pasadas como argumento tienen la misma longitud con los mismos caracteres y en el mismo orden.
Input : Object.is('geeksforgeeks', 'gfg'); Output : false
Explicación: en el ejemplo anterior, el método Object.is() devuelve falso porque las dos strings pasadas como argumento no tienen la misma longitud con los mismos caracteres y en el mismo orden.
Input : Object.is(0,-0); Output: false
Explicación: en el ejemplo anterior, el método Object.is() devuelve falso porque los dos números pasados como argumento tienen polaridad diferente.
Input : var check = { a: 100 }; Object.is(check, check); Output: true
Explicación: en el ejemplo anterior, se creó un objeto «verificar» y se pasó como parámetro al método Object.is(). Devuelve verdadero porque ambos parámetros son un solo objeto y se comparan entre sí.
Los códigos para la función anterior se proporcionan a continuación.
Código 1:
javascript
<script> // Comparing strings of the same length // with the same characters in the same order Object.is('geeksforgeeks', 'geeksforgeeks'); </script>
PRODUCCIÓN :
true
Código 2:
javascript
<script> // Comparing two different strings Object.is('geeksforgeeks', 'gfg'); </script>
PRODUCCIÓN :
false
Código 3:
javascript
<script> // Comparing 0 and -0 Object.is(0,-0); </script>
PRODUCCIÓN :
false
Código 4:
javascript
<script> // Comparing a variable with itself var check = { a: 100 }; Object.is(check, check); </script>
PRODUCCIÓN :
false
Excepciones:
- El operador “==” y “===” trata los valores numéricos “+0” y “-0” como iguales, pero el método object.is() los trata de manera diferente.
- El método Object.is() no fuerza los valores antes de la comparación, incluso si son de diferentes tipos de datos.
Navegador compatible:
- Chrome 30 y superior
- Edge12 y superior
- Firefox 22 y superior
- Ópera17 y superior
- Safari 9 y superior
Referencia: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is
Publicación traducida automáticamente
Artículo escrito por Shubrodeep Banerjee y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA