Tabla de Contenidos Historia TC39 ES5/ ES6/ ES7/ NodeJS Instrucciones para correr los ejemplos Conceptos fundamentales Variables Operadores Estructuras de control Objetos Tipos de datos Cadenas de caracteres Números NaN, Null y Undefined Matrices Funciones Funciones son ciudadanos de primera clase Funciones en cadena [Method Chaining] Cierres [Closures] Ámbito y contexto [Scope] Encapsulación [Encapsulation] Módulos Ejecución de programas de JavaScript JavaScript Engines Stack de llamadas Modelo de concurrencia NodeJS Web APIs DOM Cache Storage Web Sockets File System Paradigmas de programación Funcional Bases y conceptos Funciones de alto orden [Higher order functions] Inmutabilidad [Immutable] Patrones Composición [Composition] Currying Recursividad [Recursion] Monads Pattern Matching Buenas prácticas Orientado a objetos Bases y conceptos Clases Propiedades Métodos Herencia [Inheritance] Polimorfismo Objetos literales Prototipos [Prototypes] Patrones Constructor Fábrica [Factory] Singleton Proxy Buenas prácticas Event Driven Funcional Reactiva Buenas prácticas