JS orientado a objetos

Para explicar todo esto claramente, permítanme comenzar con los objetos. Las personas de otros lenguajes orientados a objetos (como Java) pueden pensar que los objetos en JS también son instanciados por clases y se componen de propiedades y métodos.

De hecho, en JS, los objetos no son lo que piensas (eso es lo que pensé al principio), o se llaman directamente objetos. En realidad, son solo colecciones de pares de mapeo, como mapas y diccionarios. y otros conceptos. Hay alrededor de siete tipos (signos más) en JS, a saber, números, cadenas, vacíos, indefinidos, booleanos, símbolos y objetos. A excepción de los objetos, otros tipos son tipos primitivos, lo que significa que son simples y contienen pocas cosas. Básicamente son tipos representados por literales (como algunos tipos en lenguaje C, que ocupan mucho espacio y otros nada). Un objeto es básicamente una colección de pares clave-valor, que es un tipo de referencia. Tiene un nombre que lo señala para que otros lo usen, al igual que no puedes transportar cosas pesadas, solo toma nota para registrar la ubicación. cosas. Entonces, cuando un objeto A y un objeto B están anidados juntos, simplemente significa que A tiene una referencia a B, y B en realidad no está contenido en A, aunque así lo parezca (especialmente desde el literal del objeto (desde una perspectiva cuantitativa). ), por lo que existen las llamadas copias profundas y copias superficiales.

Hay un dicho llamado "Todo en JavaScript es un objeto", porque en muchos casos, el tipo original se convertirá automáticamente en un objeto y las funciones son en realidad objetos, por lo que esta frase parece muy interesante. .

Explicar la naturaleza del objeto es comprender correctamente el objeto, porque está relacionado con la comprensión posterior.