Tanto congelar como sellar se usan para crear objetos no extensibles en JavaScript, pero hay muchas diferencias entre ellos. Object.seal() permite cambios en las propiedades existentes de un objeto, mientras que Object.freeze() no lo permite. Object.freeze() hace que un objeto sea inmune a todo, incluso no se pueden realizar pequeños cambios. Object.seal() evita la eliminación de propiedades existentes pero no puede evitar cambios externos. Sintaxis:
Object.freeze(objectname);
Ejemplo 1: Muestra la implementación de Object.seal() .
javascript
<script> // creates an object var obj = { // assigns 10 to value value: 10 }; // creates a non-extensible object Object.seal(obj); // the value gets updated to 20 obj.value = 20; console.log(obj.value); </script>
Producción:
20
El ejemplo 1 muestra cómo se usa Object.seal() para crear un objeto no extensible, pero eso no evita que se cambie el valor del objeto y se ve que el valor se actualiza a 20. Sintaxis:
Object.seal(objectname);
Ejemplo 2: Muestra la implementación de Object.freeze() .
javascript
<script> // creates an object var obj = { // assigns 10 to value value: 10 }; // creates a non-extensible object Object.freeze(obj); // updates the value obj.value = 20; // but cannot change the existing value console.log(obj.value); </script>
Producción:
10
El ejemplo 2 muestra cómo se usa Object.freeze() para crear un objeto no extensible, pero donde se evita que se cambie el valor existente del objeto y se da 10 como salida.
Veamos las diferencias en forma tabular -:
congelar | sello | |
1. | freeze() es un objeto javascript que se usa para evitar que el objeto agregue nuevas propiedades | seal() es un método Javascript que se utiliza para hacer que las propiedades de un objeto no sean configurables. |
2. | También se utiliza para que no se modifiquen las propiedades existentes actualmente | También se usa para que no se agreguen nuevas propiedades. |
3. |
Su sintaxis es -: Objeto.congelar(objeto) |
Su sintaxis es -: Objeto.sello(objeto) |
4. | Toma un parámetro como un objeto. | Toma parámetros como un objeto. |
5. | Su tipo de retorno es del tipo objeto. | Su tipo de retorno es del tipo objeto sellado . |
6. |
Sus navegadores compatibles son -: Chrome, Internet Explorer, Safari, Microsoft Edge, Opera Firefox |
Sus navegadores compatibles son -: Chrome, Internet Explorer, Safari, Microsoft Edge, Ópera, Firefox |