Crear un objeto en JavaScript

Objetos en JavaScript

En un lenguaje de programación como JavaScript, un objeto consiste de pares clave : valor, lo que en otros lenguajes de programación conocemos como Hash o Dictionary. Para crear objetos en JavaScript, podemos hacerlo de diferentes maneras, ya sea a través de un Object Literal, mediante el método Object.create o por instanciación con el operador new.
Continue reading

JavaScript: Lazy Function Definition Pattern

Design Patterns Éste artículo tiene como fin dar a conocer uno de los patrones de diseño en JavaScript, el cual ha demostrado ser muy eficiente en escenarios en donde necesitamos inicializar objetos, o hacer que una función ejecute una acción sólo la primera vez que sea invocada, o almacenar resultados de operaciones que se efectúan con cada llamado a la función (Memoization)

Una de las ventajas que logramos al implementar éste patrón, es conseguir un mejor rendimiento ya que se puede reducir el costo computacional si mantenemos los datos en cache (mediante un closure), y además podemos lograr que sólo se carguen los objetos cuando sean requeridos (lazy load / lazy evaluation)

Continue reading

Closures en JavaScript

JavaScript functions
A veces llamado Lexical scoping o Static scoping, un closure es un tipo especial de objeto que combina dos cosas: una función, y el entorno en que se creó esa función. Es decir que una función definida dentro del closure “recuerda” el entorno en el que se ha creado y tiene acceso a las variables de ese entorno (scope).MDN

Continue reading

Bloqueo exclusivo (check out) de archivos en TFS Online

VisualStudio logoTeam Foundation Service es un servicio con el cual podremos tener un control total, tanto online como en modo local, del código fuente de nuestros proyectos.

Al administrar el código fuente con Team Foundation Service (TFS en la nube) o Team Foundation Server, puede llegar a ocurrir, que un archivo en el cual estamos trabajando no sea bloqueado y por lo tanto, puede ser modificado simultáneamente por otros miembros del equipo, provocando un conflicto de versión al momento de subir los cambios (Check in)

Continue reading

Clonando objetos en JavaScript

Valores primitivos y Objetos

Cuando programamos, es usual invocar funciones y pasarle argumentos, así mismo es usual que no conozcamos el manejo que le da JavaScript a esos parámetros, motivo por el cual a veces obtenemos resultados inesperados.

Al pasar una variable con un valor primitivo (string, number, boolean, null, undefined), el parámetro de la función que recibe el valor crea una copia (by value).
Esto significa que cualquier cambio que hagamos sobre ese parámetro, sólo será válido dentro del ámbito (scope) de la función; veamos el siguiente ejemplo:

Continue reading

¿Sabías esto de JavaScript?

JavaScript logo JavaScript es un lenguaje de programación con muchas virtudes, pero también posee características que lo definen como “flexible”, y es precisamente esa flexibilidad la que logra que el lenguaje sea amado por unos y no muy aceptado por otros.

JavaScript es un lenguaje de programación interpretado, definido como orientado a objetos basado en prototipos (classless), imperativo, débilmente tipado y dinámico.

Como en la mayoría de los lenguajes de scripting, el tipo de dato de un objeto está asociado a su valor. JavaScript soporta varias formas de comprobar el tipo de un objeto (duck typing), una forma de saberlo es mediante el operador typeof.

JavaScript sigue algunos de los principios de la programación orientada a objetos, con un enfoque prototipado en donde los objetos ya existentes pueden servir de prototipo para los que se necesite crear. Además de su orientación POO, JavaScript permite trabajar fuertemente el paradigma de la programación funcional.

Características como funciones variádicas (un número indefinido de parámetros pueden ser pasados a la función), tipos de datos dinámicos, definición literal de objetos, hoisting, coerción, entre otros, hacen que JavaScript sea un lenguaje muy flexible, y por tal motivo, es mejor saber cómo se interpreta el código que escribimos, de lo contrario podemos caer en errores comunes y malas prácticas.

Continue reading

POO en JavaScript – Prototipos

JavaScript logo
JavaScript es un lenguaje de programación interpretado, definido como orientado a objetos basado en prototipos (classless), imperativo, débilmente tipado y dinámico.

JavaScript sigue algunos de los principios de la programación orientada a objetos, con un enfoque prototipado en donde los objetos ya existentes pueden servir de prototipo para los que se necesite crear. Además de su orientación POO, JavaScript permite trabajar fuertemente el paradigma de la programación funcional.

Continue reading