Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

170
Vistas
¿Cómo puedo hacer una sugerencia sobre una nueva función JS?

Recientemente me enteré de una nueva característica de Javascript (campos de instancias privadas) que le permite hacer que ciertas propiedades o métodos de objetos sean privados cuando usa una clase ES6. Por lo tanto, no puede verlos ni configurarlos usando object.property o object property = value. Sin embargo, si solo registra el objeto en la consola, le mostrará todas las propiedades, incluidos los campos supuestamente privados.

Javascript también impide que las clases secundarias puedan ver o editar la información. También bloquea la lectura de esos valores mediante Object.entries, Object.keys y Object.values. Entonces, mi pregunta es cómo puedo informar esto o posiblemente ayudar a implementar en versiones más nuevas de Javascript.

Sé que muchos de ustedes podrían pensar que no deberían incluir información confidencial en línea en el navegador, pero ¿por qué tener la función de clase privada en primer lugar?

Personalmente, puedo pensar en situaciones en las que es posible que desee ocultar información que podría procesarse detrás de escena. Por ejemplo, tal vez descifras o algún tipo de algoritmo que lleva tiempo procesar en el backend, por lo que solo quieres tener que ejecutarlo una vez. Sin embargo, necesita la información que recibe para múltiples funciones, por lo que desea almacenarla en el lado del cliente. Al mismo tiempo, no desea que el cliente pueda ver esa información.

Ejemplo: La información es legible en la consola. EDITAR: (Es posible que deba copiar y pegar el fragmento en un archivo js separado o ejecutarlo en el navegador para ver el problema).

El objeto es visible

 class Account { #pin; constructor(owner, pin) { this.owner = owner; this.#pin = pin; }}; const acc = new Account('John Doe', 1234); console.log(acc); //Shows you pin in object.

Sin embargo, la propiedad es privada.

 class Account { #pin; constructor(owner, pin) { this.owner = owner; this.#pin = pin; }}; const acc = new Account('John Doe', 1234); console.log(acc.#pin); //Won't allow you to see pin.

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Los métodos y propiedades privados no están destinados a ocultar datos confidenciales.

Se usa para ocultar ciertas propiedades o métodos del desarrollador que lo está usando. Esto puede ser útil para ocultar variables internas y métodos para evitar que se sobrescriban o lean.

Ver más en Encapsulación .

JavaScript, sin embargo, no tiene campos privados. Los desarrolladores de JS usarán un _ convencionalmente para indicar que una determinada variable o método es solo para uso interno. Sin embargo, no restringe el acceso a la misma.

El nuevo # es un modificador de acceso (similar a private en java) que implementa campos privados a nivel de sintaxis, en lugar de una solución alternativa que precede a _ .

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda