Trabajando con el constructor Object
Todo en JavaScript es un objeto, heredan propiedades y métodos del constructor Object
.
prototype
prototype
es una propiedad que tiene el constructor Object
que no es mas que una cadena de funcionalidades entre las cuales podemos encontrar métodos como: hasOwnProperty
, propertyIsEnumerable
, toString
, etc.
Es considerada una propiedad viva de tal modo que si nosotros agregamos propiedades o funcionalidades en esta propiedad, automáticamente serán heredadas a todos los demás objetos de JavaScript pues todos heredan del prototype
de Object
.
No es una práctica muy recomendada pero es útil cuando queremos agregar métodos que no están soportados en navegadores viejos. Ejemplo es5-shim
keys
Esté método de Object
devuelve un arreglo con las propiedades enumerables de un objeto dado.
freeze
Este método retorna un objeto congelado, esto quiere desir que no es posible agregar/eliminar ni editar propiedades.
Una vez que el objeto ha sido congelado, no se puede descongelar, no existe unFreeze
. Si necesitamos modificar valores, podemos crear una copia del objeto con ayuda del método keys
de la siguiente manera:
seal
Este método es similar a freeze
, no podemos agregar ni eliminar propiedades, pero si podemos modificar las existentes.