Propiedades dinámicas con Object.defineProperty (II)

Anteriormente expliqué de qué trata Object.defineProperty, creando la propiedad fullName para un solo objeto. Pero si quisieramos crear varios objetos person, tendríamos que definir la propiedad fullName para cada uno. Excepto que no, ya que podemos usar prototypes (aquí puedes leer sobre prototypes).

Para el ejemplo anterior tenemos que crear una función Person, con el que crearemos más objetos que tengan nombre y apellido. Dado que el prototype de una función es un objeto, podemos ejecutar Object.defineProperty directamente sobre el prototype de esta función Person.

De esta forma, cada instancia de la función Person tendrá una propiedad dinámica llamada fullName.