Esta es una pregunta general/fundamental para ayudarme a comprender los antecedentes técnicos de los Objetos en Javascript.
Viniendo de Java, estoy acostumbrado a que los Objetos (conceptualmente) sean una colección de variables y métodos. Sin embargo, en Javascript también puede acceder a propiedades como un diccionario similar a Python.
obj.property obj['property']
En general, esto tiene sentido, ya que los objetos son esencialmente una colección significativa de pares clave/valor.
Sin embargo, me pregunto cómo se implementa realmente. ¿Es una tabla hash, una estructura de datos o son variables "normales" pero con una forma alternativa de acceder a ellas? Por ejemplo, la sintaxis de Java sugiere que las propiedades son variables normales cuando se declara una clase como esta:
class A { int a = 1; int b = 2; }
En JS, en realidad nunca declaras una propiedad con let o const. ¿Significa esto que la propiedad en realidad solo se está insertando en alguna estructura/recopilación de datos?