Propiedades y métodos estáticos JavaScript

Propiedades y métodos estáticos JavaScript


Propiedades y métodos estáticos JavaScript

JavaScript no utiliza la palabra static para definir variables y métodos estáticos aunque sí es posible simular estos elementos asociados al objeto y que funcionan del mismo modo que en otros lenguajes.

Crear propiedades y métodos estáticos

Podemos definir estas propiedades y métodos dentro o fuera de la función constructora. Estas propiedades y métodos solo existen una vez en memoria y son compartidos por todas las instancias del objeto.

Fuera del constructor

//Función constructora de un objeto
function nombreObjeto(parámetros){
  //Declaración de las propiedades
  this.propiedad1 = valor; 
  this.propiedad2 = valor;
  ...........
}
//Declaración de propiedades estáticas fuera del constructor
nombreObjeto.nombrePropiedad3 = valor;
nombreObjeto.nombrePropiedad4 = valor;
//Declaración de métodos estáticos fuera del constructor
nombreObjeto.métodoEstático1 = function(parámetros){...},
nombreObjeto.métodoEstático2 = function(parámetros){...},

Dentro del constructor

//Función constructora de un objeto
function nombreObjeto(parámetros){
  //Declaración de las propiedades
  this.propiedad1 = valor; 
  this.propiedad2 = valor;
  ..........
  //Declaración de propiedades estáticas dentro del constructor 
  nombreObjeto.nombrePropiedad3 = valor; 
  nombreObjeto.nombrePropiedad4 = valor; 
  //Declaración de métodos estáticos dentro del constructor 
  nombreObjeto.métodoEstático1 = function(parámetros){...}; 
  nombreObjeto.métodoEstático2 = function(parámetros){...};
}

Para llamar a una propiedad o método estático en JavaScript hay que hacerlo con el nombre del objeto. Si intentamos llamarlos con una instancia del mismo el resultado es undefined.

Ejemplos

function Moneda(valor,divisa){
  //Propiedades normales
  this.valor = valor;
  this.divisa = divisa;
  //Método normal
  this.cambiarDivisa = function(nueva){
    this.divisa = nueva;
  }
  //Propiedad estática
  Moneda.cambioDolares = 1.34;
  //Método estático
  Moneda.modificarCambio = function(nuevo){
    Moneda.cambioDolares = nuevo;
  }
}
//Instancia de un objeto moneda
var moneda1 = new Moneda(100,"euro");
//Usar las propiedades normales
alert("El valor de la moneda 1 es "+moneda1.valor);
//Usar el método normal
moneda1.cambiarDivisa("libra");
//Usar la propiedad estática
alert("El cambio es "+Moneda.cambioDolares);
//Llamada al método estático
Moneda.modificarCambio(1.50);

Si te ha gustado no olvides compartir en redes sociales.

Espero que te haya servido. Cualquier duda deja un comentario. Un saludo

Dejar un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

Una idea sobre “Propiedades y métodos estáticos JavaScript”

Translate »
Ir a la barra de herramientas