¿Por qué usas getters y setters en JavaScript?

Usando getters y setters podemos controlar cómo cambiamos los datos dentro de dicha clase. Ambos métodos se llaman método de mutación. Con esto, podemos validar los datos para que los datos sean válidos, por lo tanto, se puede medir la siguiente acción de la clase. Dije que puede porque no es obligatorio.

Aunque, el objetivo final de los captadores y establecedores es acceder y cambiar los datos privados de dicha clase, como dijo Nishant Goel.

Me gusta esto:

función Estudiante (nombre) {
var _name = nombre;

this.getName = function () {
return _name;
};

this.setName = function (value) {
_nombre = valor;
};
}

Como podemos ver, no podemos acceder a los datos de _name , pero con este método podemos Student.getName() , usando Student.getName() o establecerlo usando Student.setName('Bob') . Este ejemplo no proporciona ninguna validación.

Si necesita validación, puede agregar, por ejemplo , solo nombre alfanumérico:

this.setName = function (value) {
_name = value.replace (/ [^ a-z0-9] / gi, ”);
};

Espero que esto ayude.

Los captadores le permiten simplemente leer los datos. Esto ayuda a ocultar datos o, más bien, a usarse con fines de seguridad. Al usar setters, puede establecer los valores y actualizar su script cuando sea necesario.

Son métodos útiles cuando se espera que cambie una propiedad de objeto. Por ejemplo, imagine que crea un objeto ‘persona’ que contiene una propiedad ‘edad’ establecida en 31, que sabe que cambiará el 31 de mayo, el cumpleaños de la persona. El método de establecimiento se puede utilizar para establecer el nuevo valor de la propiedad de edad el 31 de mayo de cada año. Una vez establecido, necesita una forma de acceder a la nueva propiedad de valor dentro del objeto ‘persona’. El método getter se puede utilizar para acceder al nuevo valor establecido en ‘edad’. Al usar setters y getters puedes:

  • Verifique si los nuevos datos son válidos antes de configurar la propiedad (por ejemplo, los datos para ‘edad’ son numéricos)
  • Realice una acción sobre los datos mientras obtiene o configura la propiedad (por ejemplo, registre los nuevos datos de ‘antigüedad’ en la consola)
  • Controle qué propiedades se pueden establecer y obtener (por ejemplo, ‘age’ se puede establecer y recuperar, pero ‘name’ de la persona. Objeto no)

Una diferencia entre usar un getter o setter y usar una función estándar es que los getters / setters se invocan automáticamente en la asignación. Por lo tanto, se ve como una propiedad normal, pero detrás de escena puede tener lógica adicional (o verificaciones) para ejecutarse justo antes o después de la asignación.

Entonces, si decide agregar este tipo de lógica adicional a una de las propiedades de objeto existentes que ya tiene referencias, puede convertirla al estilo getter / setter sin alterar el resto del código que tiene acceso a esa propiedad.

El concepto de usar getters y setters es obtener y establecer el valor de los miembros de datos privados de una clase.

También se usan gettets y setters para validaciones en los miembros de datos.

No estoy seguro de la pregunta que hizo. Pero aquí está el enlace, que explica claramente sobre la función getters y setters.

Getters y Setters de JavaScript

¡Espero que te sea útil!

Para obtener y establecer valores obviamente.

función set_val (val) {value = val} // el valor se establece en algún valor “val”

function get_val () {return val} // obteniendo el valor para su posterior procesamiento.

More Interesting

¿Cómo puedo practicar el HTML en proyectos después de comenzar en CSS?

Empecé mi sitio hace un año. ¿Cómo obtengo mi sitio en la primera página de Google en solo dos meses? ¿Cuáles son algunas técnicas fuera de página y en página?

¿El próximo ASP vNext está destinado a reemplazar el ASP MVC? Si no, ¿cuál es exactamente su propósito?

WordPress Hosting: Tengo un problema con el inicio / cierre de sesión en el W3 Total Cache. ¿Qué tengo que hacer?

Si Internet fuera una calle, y todos los que la usaran tuvieran 'credibilidad', ¿qué categoría de usuario tendría más y por qué?

¿Puede un desarrollador de C ++ aprender WordPress?

¿Por qué usas getters y setters en JavaScript?

¿Hay una herramienta disponible que nos diga (lego) si un sitio web está disponible para respondernos o no? ¿O puedo escribir un guión simple para eso?

¿Cuál es la secuencia más efectiva que se debe seguir al desarrollar una aplicación?

¿Cuáles son algunas de las preguntas de la entrevista estándar de Angular 2 y Angular 4?

¿Golang y la comunidad son lo suficientemente maduros para construir aplicaciones, servicios web y servidores REST API en producción con respecto a NodeJS o Java en la actualidad?

¿Cuál es el uso de JS en un diseño de sitio web?

Cómo crear una miniatura con una descripción en la lista desplegable en HTML CSS

La única forma en que las personas pueden obtener un nombre de dominio hoy en día es a través de varios sitios web. Pero, ¿cómo obtienen esos dominios sus sitios web en primer lugar?

¿Cuáles son algunos UserScript útiles para Tampermonkey? ¿Cuéntame sobre algún usuario interesante que hayas escrito?