Que deberías saber de JavaScript para programar a un nivel profesional - 27 conceptos que deberías tener claros
JavaScript es un lenguaje que engaña mucho. Lo básico es muy sencillo y se aprende rápido, pero después presenta gran cantidad de complicaciones. Hay quién llega a odiarlo y le parece un mal lenguaje, pero por regla general es porque no se conoce a fondo y no se entiende bien su funcionamiento.
Por otro lado, muchos de los usuarios habituales de bibliotecas como jQuery y similares saben utilizarlas pero desconocen las bases sobre las que se sustentan.
Por ello, cuando aparece un error o pasan cosas "extrañas" carecen de los conocimientos necesarios para diagnosticar y solucionar el problema.
Para programar a un nivel profesional con JavaScript es indispensable tener ciertos conceptos clave muy claros!, o acabaremos con programas llenos de problemas, difíciles de mantener, que interfieren con las bibliotecas de otros, y que no funcionan bien en todos los navegadores.
Para considerarte un programador JavaScript profesional deberías saber:
- Cuestiones avanzadas para trabajo con matrices
- Cuestiones avanzadas con Fechas
- Peligros con el ámbito de las variables, shadowing y hoisting
- Problemas con temporizadores y cronómetros
- Técnicas eficientes de programación orientada a objetos con JavaScript: constructores, prototipos, herencia, encapsulación, polimorfismo, espacios de nombre, interfaces...
- Clausuras y otros conceptos importantes
- Los peligros de “this”
- Controlando el valor de contexto
- Reflexión e introspección
- Sobrecarga de funciones y métodos
- Parámetros opcionales
- Trabajo con el DOM: jerarquías, recursión, colecciones “vivas” y “estáticas”, localización de elementos, modificación dinámica multi-navegador…
- Manejo avanzado de eventos en páginas web: gestión unificada y multi-navegador
- Subclasificación
- Creación desde cero de una biblioteca de validación avanzada de formularios nointrusiva
- Trabajo avanzado con funciones
- Funciones anónimas
- Modularización y organización de código
- Inyección de dependencias con AMD y Require.js
- AJAX con JavaScript puro: técnicas fundamentales, principales problemas y cómo solucionarlos…
- Optimización de carga de scripts
- JSON, JSONP, CORS
- Depuración de JavaScript
- El modo estricto de JavaScript
- Las herramientas del desarrollador de los navegadores. A fondo: Chrome
- Uso práctico de la consola y sus comandos
- Puntos de interrupción: normales y condicionales
Te los sabes todos?