Skip to content

Instantly share code, notes, and snippets.

@kamikaze-lab
Created January 30, 2015 19:09
Show Gist options
  • Save kamikaze-lab/2ec11ddfe6b31cf55bf0 to your computer and use it in GitHub Desktop.
Save kamikaze-lab/2ec11ddfe6b31cf55bf0 to your computer and use it in GitHub Desktop.

Función copia fecha JavaScript

Función que permite copiar un objeto fecha por valor y no por referencia.

  1. Objetivo y descripción
  2. Dependencias
  3. Puesta en marcha
  4. Referencias
  5. Créditos y autor

Al llevar un tiempo trabajando con JavaScript, nos percatamos de que este lenguaje presenta un comportamiento algo peculiar y es que resulta ser que cuando asignamos a una varible un valor de tipo String o Boolean, se crea una copia de dicho objeto. Sin embargo, cuando asignamos un Arreglo o un Objeto, se crea una referencia a dicho valor y no una copia, lo cual resulta un dolor de cabeza ya que si realizamos una modificación en una de nuestras supuestas copias de un determinado objeto, el original se ve afectado.

Por tal motivo, el presente snippet pretende brindar una manera de copiar una fecha en la cual se copie el objeto completamente y no sea una simple copia de una referencia a un valor.

  • [Navegador] - Navegador que pueda interpretar javascript.

En el proyecto que estés trabajando

  1. Copia el código de la función en alguno de tus archivos javascript.
  2. Asegúrate de que el archivo en el que copias la función se ejecute antes que toda tu lógica, para que de este modo la funcion este disponible para todo tu código.
'use strict';

Date.prototype.copy = function () {
    return new Date(this.getTime());
}

// Copia de esta manera

// Ejemplo
var originalDate = new Date();

var copyDate = originalDate.copy();
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment