Estoy aprendiendo sobre los diferentes tipos de propiedades que un objeto puede tener en javascript (¿propiedades propias, propiedades heredadas y propiedades de prototipo?)
Encontré estos dos artículos y me confundí un poco.
¿Estos dos artículos se refieren a lo mismo?
Cuando la gente dice propiedades heredadas, ¿se refiere a propiedades prototipo? ¿Son estos términos intercambiables?
¿Cuántos tipos diferentes de propiedades hay?
¡Gracias de antemano! :)
Enlace a artículos:
https://attacomsian.com/blog/javascript-own-inherited-properties
Sí, se refieren a lo mismo.
En JavaScript, generalmente, si puede recuperar un valor de un objeto haciendo referencia a un miembro, por ejemplo, obj.someProp , entonces ese miembro ( someProp aquí) es
Una referencia de miembro determinada es una u otra (o no existe ni en la instancia ni en ninguno de los objetos prototipo, en cuyo caso se evalúa como undefined ).
Cuando la gente dice propiedades heredadas, ¿se refiere a propiedades prototipo? ¿Son estos términos intercambiables?
Principalmente. Sería un poco más exacto decir que los objetos heredan de otros objetos ("herencia prototípica"), y que hacer referencia a una propiedad en un objeto secundario se evaluará como la propiedad en el primer objeto principal que tiene esa propiedad, si el objeto secundario no lo tiene Esta sección de la especificación entra en más detalles.
¿Cuántos tipos diferentes de propiedades hay?
Sí, las propiedades pueden tener diferentes tipos: hay propiedades de datos y propiedades de acceso , y las propiedades también pueden ser enumerables (o no) y/o configurables (o no), pero sería engañoso decir que estos tipos están en el mismo categoría. Los tipos que acabo de mencionar son atributos de propiedad , y cada propiedad directamente en un objeto tiene alguna configuración de las anteriores. La herencia prototípica de propiedades es una categoría diferente: los atributos de propiedad no tienen ninguna noción de propiedades heredadas, porque los atributos de propiedad solo se refieren a propiedades en un objeto en sí.