[Resuelto] Acceder elemento de objeto javascript

Iniciado por GMB, 13 Febrero 2020, 20:49 PM

0 Miembros y 2 Visitantes están viendo este tema.

@XSStringManolo

#10
Cita de: GMB en 14 Febrero 2020, 20:28 PM
Jajaja, pues si que me he liado !
Pero ya daré con la solución aunque me tenga que dar cabezazos contra la pantalla.
Muchísimaas gracias a todos, sois unos máquinas !!!!

Te puse las modificaciones que tienes que hacer en los códigos. Chequea el libro que te viene todo.


Cita de: MinusFour en 14 Febrero 2020, 20:47 PMYo no he hablado de closures para nada en este tema. El tema de scopes va completamente ligado a la pregunta porque es claramente acerca de variables. Encima, mi respuesta es a tu propuesta. Si te vengo a corregir la tengo que "liar".
Siguiendo tu misma lógica si se habla del tema de scopes va completamente ligado a las closures.

Cita de: MinusFour en 14 Febrero 2020, 20:47 PMVa, no lo vi la primera vez que leí el mensaje. El punto es que... enumerable o no, no tiene caso alguno. Nadie aquí pregunto por ese detalle. Y hay varias instancias que las consideraría normal en la que las propiedades no son enumerables.
Va ligado al tema del uso de Object.entries() que propongo como solución a uno de los problemas propuestos debido a que solo muestra las propiedades enumerables. No puedes entender lo que son las propiedades enumerables que retorna Object.entries() sin saber lo que son las propiedades enumerables y porque existen. Por eso lo menciono.

Cita de: MinusFour en 14 Febrero 2020, 20:47 PMCall no es ninguna propiedad de una función
Si lo es, te acabo de citar ecma-internacional. Te cito literalmente otra fuente para despejar todas las dudas:
Cita de: Libro The Principles of object-oriented javascript by Nicholas C. Zakas"Chapter 2. Functions:
As discussed in Chapter 1, functions are actually objects in javascript. The defining characteristic of a function---what distinguishes it from any other object---is the presence of an internal property named [[call]]. Internal properties are not accesible via code but rather define the behavior of code as it executes.
ECMAScript defines multiple internal properties for objects in javascript, and these internal properties are indicated by double-square-bracket notation.

The [[call]] property is unique to functions and indicates that the object can be executed. Because only functions have this property, the typeof operator is defined by ECMAScript to return "function" for any object with a [[call]] property. That led to some confusion in the past, because some browsers also included a [[call]] property for regular expressions, which were thus incorrectly identified as functions.

Cita de: MinusFour en 14 Febrero 2020, 20:47 PMFunction.prototype.call si es una propiedad alcanzable en la cadena de herencia de funciones pero Function.prototype.call no es [[Call]].

Tu dijiste que [[Call]] no es enumerable. [[Call]]》no es una propiedad...

https://tc39.es/ecma262/#sec-object-internal-methods-and-internal-slots

"Estos métodos internos no forman parte del lenguaje de ECMAScript. Son definidos por está especificación para propósitos de exposición."

Ese no es [[Call]].. ese es Function.prototype.call...

https://tc39.es/ecma262/#sec-function.prototype.call
En esto si tienes razón. Me confundí. [[call]] es método interno como concepto en el engine de javascript. prototipe.call es el método alcanzable al que debí hacer referencia.


Dios, como la lían los corchetes en el foro!