
JavaScript for PHP Developers
Stoyan Stefanov
- Editorial
- O'Reilly
- Año
- 2013
- Páginas
- ~160
- Nivel
- Intermedio
De qué trata
Guía breve de Stoyan Stefanov (autor de JavaScript Patterns y Object-Oriented JavaScript) para programadores PHP que necesitan dominar el núcleo del lenguaje, ECMAScript, sin empezar desde cero. Es de 2013, así que trata JavaScript ES3/ES5. Su público son desarrolladores de nivel intermedio que ya programan con soltura en PHP y quieren entender en qué se parece JavaScript a PHP y, sobre todo, en qué se diferencia.
Repasa rápido lo común (variables, arrays y arrays asociativos, condiciones, bucles, operadores, comparación estricta, try-catch) con equivalencias en PHP, y dedica más espacio a lo propio de JavaScript: funciones como objetos, ámbito, hoisting, closures (comparadas con las de PHP), funciones inmediatas y callbacks; programación orientada a objetos con constructores, prototipos, objetos literales y varias formas de herencia; la API incorporada (Object, Array, RegExp, String, Math, Date, Error, etc.); las novedades de ECMAScript 5 (modo estricto, atributos de propiedades, Object.create, Object.defineProperty, métodos de array como map, filter y reduce, bind, JSON y shims); y patrones para organizar código: propiedades privadas, revealing pattern, namespaces, módulos CommonJS y AMD, Singleton, Factory, Decorator, documentación, pruebas unitarias y JSLint. Como entornos de práctica propone la consola del navegador, JavaScriptCore, Node.js y Rhino.
No construye aplicaciones: alterna explicaciones con fragmentos de código y algún ejercicio puntual, como el clásico problema de closures en un bucle con onclick. Es conciso y muy útil para quien piensa en PHP, porque ataca justo los conceptos que más confunden (this, prototipos, ámbito de función). Hay que tener en cuenta que es anterior a ES2015: no cubre let/const, clases, funciones flecha, promesas ni módulos ES, y casi no trata el DOM ni el navegador. Conviene completarlo con un texto de JavaScript moderno.
- PHP a JavaScript
- ECMAScript 5
- Funciones
- Hoisting
- Closures
- Prototipos
- Herencia
- API incorporada
- Modo estricto
- CommonJS y AMD
- Patrones de diseño
- JSLint
¿Cómo enseña?
Teórico
- ✓ Incluye ejercicios
- ✗ Sin proyectos

