RA4 · verificado

RA4 de Desarrollo Web en Entorno Cliente · DAW

Programa código para clientes Web analizando y utilizando estructuras definidas por el usuario.

Comprobar mi dominio con José →

Contenido verificado asociado a este RA

Funciones en JavaScript: Reutilización y Modularidad

Esta unidad explora las funciones en JavaScript, desde las predefinidas del lenguaje hasta la creación de funciones personalizadas. Se enfatiza su papel en la modularización del código, la reutilización y la mejora de la legibilidad y mantenibilidad de las aplicaciones web.

Manejo de Colecciones con Arrays en JavaScript

Esta unidad introduce los arrays en JavaScript como estructuras de datos fundamentales para almacenar colecciones ordenadas de elementos. Se cubren sus características, creación, manipulación y las operaciones más comunes para gestionar listas de información en aplicaciones web.

Programación Orientada a Objetos (POO) en JavaScript: Clases y Objetos

Esta unidad introduce los principios de la Programación Orientada a Objetos (POO) en JavaScript, centrándose en cómo el lenguaje implementa clases, objetos, propiedades y métodos. Se explorará la creación de estructuras de objetos para modelar entidades del mundo real y cómo interactuar con ellas.

Depuración y Documentación de Código Cliente

Esta unidad aborda las prácticas esenciales de depuración y documentación de código JavaScript en el entorno cliente. Se explorarán herramientas y técnicas para identificar y corregir errores, así como la importancia de documentar el código para mejorar su comprensión y mantenibilidad a largo plazo.

Conceptos clave

FunciónParámetroArgumentoValor de retornoModularidadReutilización de códigoHoistingÁmbito (Scope)ArrayÍndiceElementoPropiedad `length`Métodos de array (push, pop, splice, map, filter, forEach)Colección ordenadaHeterogeneidadPOOClaseObjeto

Errores que conviene evitar

  • **Olvidar `return` en funciones que deben devolver un valor:** Causa que la función devuelva `undefined`, lo que puede llevar a errores inesperados en cálculos o asignaciones posteriores. **Corrección:** Siempre verifica que las funciones que realizan cálculos o transformaciones devuelvan explícitamente el resultado con `return`.
  • **Confundir `parseInt()` con `Number()`:** `parseInt('10px')` devuelve `10`, mientras que `Number('10px')` devuelve `NaN`. **Causa:** `parseInt` busca un número al inicio de la cadena, `Number` espera que toda la cadena sea un número válido. **Corrección:** Usa la función adecuada según la validación y conversión que necesites. Si esperas un número puro, `Number()` es más estricto.
  • **Variables globales dentro de funciones:** Declarar variables sin `let`, `const` o `var` dentro de una función las convierte en globales, contaminando el ámbito global y pudiendo causar colisiones de nombres. **Corrección:** Siempre declara variables con `let` o `const` para asegurar su ámbito local.
  • **Acceder a un índice fuera de rango:** Intentar acceder a `array[array.length]` devuelve `undefined` y no genera un error, lo que puede llevar a lógica incorrecta. **Causa:** El último índice válido es `array.length - 1`. **Corrección:** Siempre verifica los límites del array o usa bucles y métodos de iteración que manejen los índices correctamente.
  • **Modificar un array mientras se itera con `for...of` o `forEach`:** Añadir o eliminar elementos durante la iteración puede saltarse elementos o causar bucles infinitos. **Causa:** La longitud del array cambia durante la iteración. **Corrección:** Si necesitas modificar el array, itera sobre una copia o usa un bucle `for` tradicional que te permita controlar el índice, o métodos como `map` o `filter` que devuelven un nuevo array.
  • **Confundir `slice()` con `splice()`:** `slice()` crea una copia sin modificar el original, mientras que `splice()` modifica el array original. **Causa:** Nombres similares con funcionalidades muy diferentes. **Corrección:** Recuerda que `slice` es para 'rebanar' una parte, `splice` es para 'empalmar' o modificar el array en su lugar.
  • **Olvidar `new` al instanciar una clase:** Llamar a `Persona('Ana', 30)` en lugar de `new Persona('Ana', 30)` puede llevar a que `this` se refiera al objeto global (`window` en navegadores) y no a una nueva instancia, causando efectos secundarios inesperados. **Corrección:** Siempre usa `new` para crear instancias de clases.
  • **Confundir `this` en diferentes contextos:** El valor de `this` puede cambiar dependiendo de cómo se llama una función (como método de un objeto, como función independiente, en un evento, etc.). **Causa:** `this` es dinámico en JavaScript. **Corrección:** Para métodos de clase, `this` se refiere a la instancia. Para funciones callback o eventos, a menudo se usa `bind()`, funciones flecha o se guarda `this` en una variable (`const self = this;`) para mantener el contexto correcto.

Qué se evalúa en este RA

CE a

Se han clasificado y utilizado las funciones predefinidas del lenguaje.

CE b

Se han creado y utilizado funciones definidas por el usuario.

CE c

Se han reconocido las características del lenguaje relativas a la creación y uso de arrays.

CE d

Se han creado y utilizado arrays.

CE e

Se han reconocido las características de orientación a objetos del lenguaje.

CE f

Se ha creado código para definir la estructura de objetos.

CE g

Se han creado métodos y propiedades.

CE h

Se ha creado código que haga uso de objetos definidos por el usuario.

CE i

Se ha depurado y documentado el código.

Canal Estudios es un servicio de Skillback S.L. · NIF B2481724 · Barcelona, España
Aviso legal · Privacidad · Cookies · Términos · Atles de Catalunya