Seleccionar página

Limitar el tamaño de un Map

Limitar el tamaño de un objeto Map no parece una idea muy razonable, pero cuando tu programa se ejecuta sin interrupción durante días, semanas, meses e inclusos años, es muy importante controlar el tamaño de la memoria utilizada para evitar problemas inesperados. Una simple función memoize puede llegar a almacenar mucha más información de la que puedes pensar. Aquí te contamos como limitar el tamaño de un objeto Map para estas situaciones.

leer más

Cómo conseguir un objeto Map ordenado

Mantener un objeto Map con su contenido ordenado no es algo tan sencillo como parece. Por defecto, Map guarda los datos en el mismo orden en el que han sido creados en el objeto. Para conseguir que el contenido se muestre ordenado tendremos que explorar varias interesantes alternativas que nos descubrirán algunas de características interesantes de estas estructuras de datos.

leer más

¿Es una función nativa de Javascript?

Comprobar si una determinada función es una función nativa de Javascript o es una función escrita en código es algo más complicado de lo que pueda parecer a primera vista. No hay grandes diferencias entre una función nativa y una escrita por nosotros, por lo que tenemos que buscar mecanismos algo indirectos para poder diferenciarlas.

leer más

Superando la comprobación estricta en Set y Map

Set y Map son unas de los mejores y más útiles manejadores de estructuras de datos que nos ofrece Javascript. No obstante tienen una limitación, la unicidad de sus claves se establece por medio de una comparación estricta y con los objetos esto no puede ser lo que necesitamos. Te proponemos una forma de superar esta limitación.

leer más

Retrospectiva de la función equal() tras varios años de uso

Vamos a repasar las lecciones aprendidas después de un par de años utilizando una función de comparación universal que comprueba si dos elementos de Javascript son equivalentes entre sí. Muchas de las conclusiones de esta restrospectiva pueden ser de utilidad a la hora de plantearte el diseño de una función con vocación de reutilización generalista.

leer más

Tiempo de alta precisión en Javascript

Muchos siguen utilizando Date.now() cuando se puede utilizar performance.now() para obtener datos de mayor precisión para la medición del tiempo dentro de nuestra aplicación. Veamos cómo funciona, cuales son diferencias y cómo podemos aprovecharnos de su precisión.

leer más

Clases: new.target

Aunque pueda parecer que target.new tiene una utilidad limitada, lo cierto es que es un recurso sencillo para controlar a que se está instanciando en cada momento y poder definir clases abstractas, crear clases no heredables, etc.

leer más

Clases: super

El uso de super nos ofrece una gran flexibilidad a la hora de acceder e invocar a miembros de las clases de las que heredamos, sobre todo cuando se ha producido la sobrescritura de propiedades y métodos. Veamos cómo.

leer más