Articles

JavaScript: Qué es Object.crear()?

Otros usos ingeniosos del objeto.crear()

Objeto.crear() puede tomar un segundo argumento

Objeto.create() se puede usar para hacer uso de algunas de las muchas peculiaridades de JavaScript. En primer lugar, puede tomar un segundo argumento como un objeto que tiene propiedades que desea incluir en el objeto recién devuelto. No solo eso, sino que en realidad puede pasar como el primer argumento, esencialmente diciendo que no debe haber ningún prototipo en el objeto devuelto. Esto puede parecer relativamente inútil, y es probable que la mayoría de los casos de uso lo sea, pero ¿qué pasaría si quisiera un objeto que no tuviera un prototipo? Por ejemplo, supongamos que necesita un objeto estático cuyas propiedades nunca deben cambiarse, ni usted ni nadie más. Los literales de objetos, creados usando el {} básico, vienen con una serie de propiedades integradas, incluidas las que los hacen configurables; mientras que los objetos creados con Object.create() will only have properties that you explicitly assign.

The regular instantiation of a JS object has all kinds of properties built-in, inherited from the Object.prototype

With Object.crear, podemos definir exactamente qué propiedades existen, incluido el prototipo

Así que ahora, si queremos, podemos hacer un objeto que no tenga conexión con el Objeto.prototipo.

sin Embargo, desde nuestro nuevo objeto no tiene ninguna conexión con el prototipo, también no tiene enumerable, escribir, o propiedades configurables. Lo que significa que podemos agregar a este objeto tanto como queramos, pero no podemos cambiar o eliminar nada.

aunque acabamos de reasignados myProp, se mantiene en 42.

incluso Podemos volver «false» cuando se utiliza la palabra clave delete

En la mayoría de los casos, esto no es lo que usted quiere. Pero ciertamente hay algunos casos extremos en los que un objeto estático e inmutable es exactamente lo que necesita. Si está trabajando en un equipo y tiene un objeto en su código que definitivamente nunca necesita que se eliminen/cambien sus propiedades, Object.create() puede ser exactamente lo que estás buscando.

Objeto So.create () es súper útil cuando se trata de herencia clásica, pero también le da al programador control total sobre el objeto que se está creando, lo que puede ser bastante agradable.