Type.new()

NOTA: Este artículo está centrado en un tema que ya comenté en el post anterior, pero de una forma más organizada y centrada, algunos fragmentos están extraídos del post anterior para mayor claridad. Constructores en Javascript He hablado antes de la limitación de los constructores javascript y sobre todo de la complejidad de extenderlos function […]

Construcción de objetos

Este artículo quedó muy complejo y caótico, por eso voy a intentar dividirlo en partes, recomiendo leer los nuevos post en lugar de este. Parte 1: Type.new()  TL;DR Buscando optimizaciones para un juego en javascript encontré un paradigma de definición de tipos y creación de objetos que cambió mi forma de ver el lenguaje. He […]

Componentes HTML

Acabo de caer en cuenta de porqué no me gusta angular, backbone, ember… El problema Todos estos frameworks si bien intentan dividir la aplicación que vas a construír en módulos se hace esto por mantenibilidad, no por reutilización de los módulos. En otras tecnologías generalmente creas un componente reutilizable y basta con mover el archivo […]

ECMAScript 5 _.extend

A algunos ya os he comentado los problemas que NC Zakas comenta con el _.extend de underscore y los getters: var a = { init: function() { this.list = []; }, get first() { return this.list[0]; } }; O var a = { init: function() { this.list = []; } }; Object.defineProperty(a, ‘first’, { get: […]

Object.create vs new

Actualización 19/3/2014: Finalmente he entendido la utilidad de reemplazar new, se puede ver aquí JotaEseros! Tengo un dilema existencial que me impide dormir. Hasta donde sé los constructores hacen más o menos esto function fakeNew(Ctor) { var instance = Object.create(Ctor.prototype); instance.constructor(); return instance; } Todo empezó cuando quise hacer polyfill de Object.create(), así podría crear […]

GIT Workflow (Parte 2)

Continuando con mi último artículo, llegó la hora de hablar del gran Github Flow: Github Flow Y finalmente el artículo que ha inspirado éste. Después de probar el Git Flow (el modelo, no la herramienta) en productos profesionales y a modo de prueba en pequeñas librerías propias y aunque para proyectos grandes donde una release […]

Experimento: Privacidad por instancias

Actualización 19/3/2014: Sorprendentemente parece que una propuesta del ECMAScript 6 sigue mismo el patrón descrito en este post, y yo que pensaba que era demasiado rebuscado… http://wiki.ecmascript.org/doku.php?id=harmony:classes Como ya comenté, la privacidad en Javascript es un tema peliagudo, el lenguaje no nos ofrece ninguna herramienta para gestionar la privacidad automáticamente, tenemos que aprovechar el scope […]

Conceptos Básicos Javascript: Privacidad

Introducción Uno de los temas más frecuentes cuando uno se inicia en Javascript es la privacidad, principalmente viniendo de lenguajes como Java, C# o C++; donde publican o se ocultan propiedades de los objetos mediante modificadores. Javascript no posee dichos modificadores sino que todas las propiedades de los objetos son públicas lo que puede ser […]