¿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 como se ve 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.isSealed() El método Object.isSealed() se utiliza para determinar si un objeto está sellado o no.
Un objeto está sellado si se cumplen todas las condiciones mencionadas a continuación:
- Si no es extensible.
- Si todas sus propiedades no son configurables.
- Si no es removible (pero no necesariamente sin escritura).
Object.isSealed() toma el objeto como un argumento que debe verificarse y devuelve un valor booleano que representa si el objeto está sellado o no.
Aplicaciones:
- Object.isSealed() se utiliza para comprobar si un objeto está sellado o no.
Sintaxis:
Object.isSealed(obj)
Parámetros Utilizados:
obj : Es el objeto que se tiene que comprobar.
Valor devuelto:
Object.isSealed() devuelve un valor booleano que representa si el objeto está sellado o no.
A continuación se proporcionan ejemplos de la función anterior.
Ejemplos:
Input : const object = { property: 'hi geeksforgeeks' }; console.log(Object.isSealed(object)); Output : false
Explicación: en el ejemplo anterior, el objeto no se ha sellado con el método Object.seal(), por lo tanto, devuelve falso cuando se verifica con el método Object.isSealed().
Input : const object = { property: 'hi geeksforgeeks' }; Object.seal(object); console.log(Object.isSealed(object)); Output : true
Explicación: en el ejemplo anterior, el objeto se selló con el método Object.seal(), por lo tanto, devuelve verdadero cuando se verifica con el método Object.isSealed().
Los códigos para la función anterior se proporcionan a continuación.
Código 1:
<script> // creating an object constructor // and assigning values to it const object = { property: 'hi geeksforgeeks' }; // checking whether the object // is sealed or not console.log(Object.isSealed(object)); </script>
PRODUCCIÓN :
false
Código 2:
<script> // creating an object constructor // and assigning values to it const object = { property: 'hi geeksforgeeks' }; // Using seal() method to seal the object Object.seal(object); // checking whether the // object is frozen or not console.log(Object.isSealed(object)); </script>
PRODUCCIÓN :
true
Excepciones:
- Causa un TypeError si el argumento pasado no es un objeto.
- Si un objeto no se pasa como argumento al método, entonces lo trata como un objeto sellado y devuelve verdadero.
Navegadores compatibles:
- Chrome 6 y superior
- Borde 12 y superior
- Firefox 4 y superior
- Internet Explorer 9 y superior
- Ópera 12 y superior
- Safari 5.1 y superior
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