Cómo definir métodos privados en JavaScript

Cómo definir métodos privados en JavaScript
La idea detrás del uso de métodos privados es sencilla. Cuando desee mantener algo privado, ya sea un método o una propiedad, en este escenario, puede definir métodos privados o propiedades privadas, que se utilizan para ocultar la funcionalidad interna de una clase de las otras clases. En una clase de JavaScript, puede agregar campos privados, métodos de instancia privada, métodos estáticos privados y captadores y setters privados.

Este artículo explicará el procedimiento para Definir métodos privados en Javascript. Entonces, comencemos!

Métodos privados en JavaScript

El tipo de métodos a los que no se puede acceder fuera de la clase donde se define o por la clase base se conoce son métodos privados. Estos métodos se utilizan para asegurar la información confidencial almacenada en campos de clase, como información personal o contraseñas.

En una clase de JavaScript, declarar algo como "privado,"Que puede ser un método, propiedad, o getter y setter, debe prefijo su nombre con el personaje hash"#".

Sintaxis del método de instancia privada

clase NewClass
#PrivateMethod ()
// cuerpo de privateMethod

En la sintaxis anterior, el método de instancia privada es "#privateMethod ", que solo se puede invocar dentro "Nueva clase"Y no puedes acceder a él en la subclase de"Nueva clase"O desde afuera.

"este"Se utiliza la palabra clave para llamar al"#privateMethod ()"Dentro del creado"Nueva clase":

este.#privateMethod ();

Métodos estáticos privados en JavaScript

Los métodos estáticos privados se cargan en la memoria antes de crear una instancia de esa clase específica y son independientes de la instancia de clase.

Sintaxis para definir un método estático privado

En un programa JavaScript, para definir un método estático privado, debe usar la palabra clave "estático"Antes de agregar el nombre del método con el"#" personaje:

clase NewClass
static #privateStaticMethod ()
// Cuerpo del Metro de PrivateStatic

Ahora, para invocar el método privado estático creado, especificaremos el nombre de la clase "Nueva clase" En lugar de usar "estePalabra clave:

Nueva clase.#PrivateStaticMethod ();

Getters y setters privados en JavaScript

En JavaScript, se utilizan getters y setters privados para recuperar y establecer los campos privados de una clase.

Sintaxis para definir getters y setters privados

En JavaScript, "conseguir" y "colocarSe utilizan palabras clave para crear getters y setters para los campos privados:

clase NewClass
#firstfield;
Get #Field ()
regreso #firstfield;

establecer #field (valor)
#firstfield = valor;

Cómo definir métodos privados en JavaScript

Los métodos privados en JavaScript pueden mantener sus datos privados. Se prefiere definir todos los métodos de clase como "privado" por defecto. Después de eso, si un objeto necesita interactuar con otros objetos de clase, puede convertirlo en un "público" método.

Ejemplo: cómo definir métodos privados en JavaScript
En primer lugar, crearemos un "Empleado"Clase que tiene dos campos privados:"#nombre" y "#designación". Después de hacerlo, agregaremos un constructor:

empleado de clase
#nombre;
#designación;
constructor (nombre, designación)
este.#name = nombre;
este.#designation = designación;

A continuación, definiremos los métodos privados "#nombre de empleado()" y " #EmployedEsignation ()"Para obtener los valores de los campos privados agregados:

#nombre de empleado()
devolver '$ esto.#nombre';

#EmployEedesignation ()
devolver '$ esto.#designación';

A "mostrar información()"La función pública también se agrega en nuestra clase de empleados que invocará los siguientes métodos privados:

showInfo (format = true)
consola.Log (esto.#EmployEename (), esto.#EmployedEsignation ());

Después de configurar la clase de empleados, crearemos un "empleado"Objeto mientras pasa"Alex" y "Gerente"Como los valores del"nombre" y "designación" campos:

dejar empleado = nuevo empleado ('alex', 'gerente');

Por último, invocaremos el "mostrar información()"Método utilizando el objeto del empleado:

empleado.mostrar información();

La ejecución del programa anterior se mostrará los valores de campo privado de "empleado"Objeto en la consola:

Ejemplo: Cómo definir métodos estáticos privados en JavaScript
Agregaremos un "#verificar()"Método estático privado en el empleado con"nombreParámetro. El "#verificar()"El método verificará si la longitud de"nombre" es mayor o igual a "4"; De lo contrario, lanzará una excepción indicando que "El nombre ingresado debe ser una cadena que tenga al menos 4 caracteres".

El método privado estático mencionado se agregará en el constructor de clase de empleados para que pueda validar el "nombre"Argumento antes de asignarlo al atributo correspondiente:

empleado de clase
#nombre;
#designación;
constructor (nombre, designación)
este.#name = empleado.#verifique nombre);
este.#designation = designación;
static #verify (nombre)
if (typeof name === 'string')
Str = nombre.recortar();
if (str.longitud === 4)
regresar str;


Lanzar 'El nombre ingresado debe ser una cadena que tenga al menos 4 caracteres';

#nombre de empleado()
devolver '$ esto.#nombre';

#EmployEedesignation ()
devolver '$ esto.#designación';

showInfo (format = true)
consola.Log (esto.#EmployEename (), esto.#EmployedEsignation ());

En el primer caso, crearemos un "empleadoObjeto y pasar un nombre que cumplirá con la condición adicional en el método privado estático #verify ():

dejar empleado = nuevo empleado ('alex', 'gerente');
empleado.mostrar información();

Después de validar el campo #Name, el método showInfo () se puede obtener fácilmente por el método showInfo ():

Por segunda vez, especificaremos un nombre que comprende tres caracteres:

dejar empleado = nuevo empleado ('sia', 'gerente');
empleado.mostrar información();

Puede ver en la salida dada a continuación que el método privado estático agregado ha lanzado una excepción para el nombre del empleado:

El nombre "Sia"Que hemos pasado en el constructor de empleados no está de acuerdo con el"siDeclaración "especificada en el método static #verify (). Por eso el "empleado"La instancia no se crea.

Por qué debe usar métodos privados en JavaScript

Aquí hay una lista de algunas de las ventajas de usar métodos privados en JavaScript:

  • Encapsulación es una de las ventajas clave del uso de métodos privados, ya que permite que las interfaces oculten los detalles de implementación de otras clases.
  • También mejora el legibilidad del código.
  • Definir métodos privados también garantiza el código reutilización y evita la duplicación del código.
  • Si declara todos sus métodos como "público", debe controlar quién va a leer y hacer cambios en las propiedades de la clase.

Conclusión

Los métodos privados se definen en JavaScript para ocultar métodos de clase cruciales o mantener información confidencial privada. En una clase, para definir una instancia de método privado, un método estático privado o un recibo privado y un setter, debe prefijar su nombre con el # de caracteres hash. Este artículo explicó el procedimiento para definir los métodos privados en JavaScript con la ayuda de ejemplos adecuados.