[AFO028L7M] Curso de Analista Programador Javascript
[MOD024H2Y] Analista Programador Javascript
[UDI152LMX] JavaScript Avanzado
Introducción
En el vasto panorama del desarrollo web, JavaScript se ha consolidado como el lenguaje central, y su
versatilidad ha llevado a la creación de conceptos avanzados que potencian la capacidad de este
lenguaje. Este conjunto de secciones explorará como la gestión efectiva de errores es una habilidad
esencial en el desarrollo robusto con JS, se verán estructuras de datos complejas y manipulaciones
de ellas, cñomo hacer uso de APIs de geolocalización y patrones avanzados de diseño.
om
.c
s
ro
ha
l ap
au
a.
os
m
ce
[Link]
1 / 29
[AFO028L7M] Curso de Analista Programador Javascript
[MOD024H2Y] Analista Programador Javascript
[UDI152LMX] JavaScript Avanzado
Objetivos
Desarrollar una comprensión profunda de las estrategias avanzadas de manejo de errores en
JavaScript.
Adquirir habilidades avanzadas en el manejo de tipos de datos complejos en JavaScript.
Utilizar la API de geolocalización para crear experiencias web personalizadas basadas en la
ubicación del usuario.
om
s .c
ro
ha
l ap
au
a.
os
m
ce
[Link]
2 / 29
[AFO028L7M] Curso de Analista Programador Javascript
[MOD024H2Y] Analista Programador Javascript
[UDI152LMX] JavaScript Avanzado
Mapa Conceptual
om
.c
s
ro
ha
l ap
au
a.
os
m
ce
[Link]
3 / 29
[AFO028L7M] Curso de Analista Programador Javascript
[MOD024H2Y] Analista Programador Javascript
[UDI152LMX] JavaScript Avanzado
1. Manejo de errores en JavaScript
La ley de Murphy sostiene que cualquier situación propensa a errores eventualmente experimentará
complicaciones, y este principio se refleja de manera destacada en el ámbito de la programación. Al
desarrollar aplicaciones, es probable que surjan errores y otros inconvenientes, siendo los errores en
JavaScript una ocurrencia común.
El éxito de un producto de software radica en la capacidad de los desarrolladores para abordar
om
eficazmente estos problemas antes de que afecten a los usuarios, y JavaScript, en comparación con
otros lenguajes de programación, se caracteriza por su diseño de gestión de errores que algunos
.c
consideran mediocre.
s
En el proceso de construcción de una aplicación en JavaScript, existe una alta probabilidad de que
ro
se presenten desafíos relacionados con los tipos de datos en algún momento. Ya sea confundiendo
ha
tipos de datos, sustituyendo indefinidos por nulos o empleando incorrectamente operadores de
igualdad (como cambiar === por ==), los errores son inevitables.
ap
Dado que es inherente a la naturaleza humana cometer errores, en este contexto, se proporcionará
l
una guía exhaustiva sobre el manejo de errores en JavaScript.
au
a.
1.1. Errores en JS
os
En programación, los errores se refieren a situaciones que impiden que un programa funcione de
m
manera normal. Estos pueden surgir cuando un programa no puede manejar adecuadamente la
tarea en cuestión, como intentar abrir un archivo que no existe o acceder a un punto final de una
ce
API web sin conectividad de red.
En tales circunstancias, el programa emite errores al usuario, señalando su incapacidad para
proceder. Para abordar estos escenarios, los programadores hábiles buscan anticipar y abarcar
estas eventualidades, evitando que los usuarios se enfrenten a mensajes técnicos de error como
"404". En cambio, se esfuerzan por presentar mensajes más comprensibles, como "No se pudo
encontrar la página".
En JavaScript, los errores se manifiestan como objetos cada vez que se produce un error de
[Link]
4 / 29
[AFO028L7M] Curso de Analista Programador Javascript
[MOD024H2Y] Analista Programador Javascript
[UDI152LMX] JavaScript Avanzado
programación. Estos objetos contienen información detallada sobre el tipo de error, la instrucción
que lo desencadenó y la traza de la pila en el momento del error. Además, JavaScript brinda a los
programadores la capacidad de crear errores personalizados para ofrecer información adicional
durante la depuración de problemas.
Los errores en JavaScript presentan propiedades tanto estándar como personalizadas que facilitan la
comprensión de la causa y los efectos del error. De manera predeterminada, los errores en
JavaScript incluyen tres propiedades fundamentales:
om
mensaje: un valor de cadena que proporciona el mensaje asociado al error.
.c
nombre: indica el tipo de error que ha ocurrido.
pila: ofrece la traza de la pila del código ejecutado en el momento en que se produjo el error.
s
ro
Adicionalmente, los errores pueden contener propiedades como columnNumber, lineNumber,
ha
fileName, entre otras, con el propósito de brindar detalles más específicos sobre el error. Es
importante tener en cuenta que estas propiedades no son estándar y su presencia puede variar en
ap
los objetos de error generados por la aplicación JavaScript.
l
au
1.2. Tipos de Errores en JavaScript
a.
En JavaScript, existen varios tipos de errores predefinidos que son seleccionados y definidos
os
automáticamente por el entorno de ejecución de JavaScript cuando el programador no maneja
m
explícitamente los errores en la aplicación:
ce
Error de Tipo: se manifiesta con frecuencia cuando un tipo de valor no concuerda con las
expectativas. Ejemplos comprenden la invocación de elementos no metódicos, el intento de
acceder a características de entidades nulas o no definidas, o la manipulación errónea de una
cadena como un valor numérico y viceversa.
Error de Referencia: surge cuando surgen complicaciones con la alusión a una variable en el
código. Puede derivar de omitir la definición de un valor antes de su aplicación o procurar
utilizar una variable inalcanzable. Algunas causas habituales de las fallas de referencia
involucran equívocos en la denominación de una variable, esfuerzos por acceder a variables de
[Link]
5 / 29
[AFO028L7M] Curso de Analista Programador Javascript
[MOD024H2Y] Analista Programador Javascript
[UDI152LMX] JavaScript Avanzado
ámbitos bloqueados fuera de su extensión, o la referencia a una variable global de una
biblioteca externa antes de su carga.
Error Interno: se emplea cuando se desata una excepción en el núcleo de ejecución de
JavaScript. Puede señalar complicaciones con el código o emerger debido a entidades
demasiado extensas para el motor de JavaScript.
Error de URI: acontece al emplear de modo incorrecto una función global de gestión de URI,
como decodeURIComponent. Esto usualmente sugiere que el parámetro proporcionado no se
ajusta a las pautas de URI y no fue interpretado correctamente por el procedimiento.
om
Error de Rango: brota cuando se asigna un valor a una variable por fuera de su rango de
valores permitidos. Esto comúnmente ocurre al transmitir un valor como argumento a una
.c
función, y dicho valor no se ubica dentro del rango de los parámetros de la función.
s
Circunstancias habituales comprenden intentos de forjar matrices con extensiones ilegales o
ro
proveer valores incorrectos a métodos numéricos.
ha
Error de Sintaxis: señalan fallos en la estructura sintáctica del código. Esto puede originarse
por comillas omitidas, carencia de paréntesis de cierre, o desalineación incorrecta de corchetes
ap
y otros caracteres. Utilizar herramientas de linting en el IDE constituye una práctica
recomendada para detectar estos errores antes de que alcancen al navegador.
l
au
Error de Evaluación: acontece en llamados a la función eval(). A pesar de que se desaconseja
el uso de eval() por motivos de seguridad, se generará un Error de Evaluación si surgen errores
a.
en tal función. En versiones antiguas de JavaScript, se desataba la categoría EvalError, pero
os
las actuales especificaciones de ECMAScript ya no la incorporan, manteniendo su presencia
por compatibilidad con códigos anteriores. Investigar el código ejecutado en la invocación a
m
eval() resulta fundamental para abordar este tipo de error.
ce
1.3. Crear Tipos de Error Personalizados
Aunque JavaScript proporciona una variedad adecuada de clases de tipos de error para abordar la
mayoría de los escenarios, siempre existe la posibilidad de crear un nuevo tipo de error si la lista
predefinida no cumple con los requisitos. Esta flexibilidad se deriva del hecho de que JavaScript
permite lanzar prácticamente cualquier cosa mediante el comando throw.
[Link]
6 / 29
[AFO028L7M] Curso de Analista Programador Javascript
[MOD024H2Y] Analista Programador Javascript
[UDI152LMX] JavaScript Avanzado
En términos técnicos, las siguientes declaraciones son completamente válidas:
Throw
No obstante, es importante señalar que lanzar un tipo de dato primitivo no proporciona información
detallada sobre el error, como su tipo, nombre o la traza de la pila asociada. Para resolver este
om
problema y estandarizar el proceso de gestión de errores, se introduce la clase Error. Se
desaconseja el uso de tipos de datos primitivos al lanzar excepciones.
.c
Es posible extender la clase Error para crear una clase de error personalizada. En este contexto, se
s
ro
presenta un ejemplo básico de cómo lograrlo: ha
l ap
au
a.
Class error
os
Esta clase personalizada puede utilizarse de la siguiente manera:
m
ce
Uso
Para identificarla, se puede emplear la palabra clave instanceof:
[Link]
7 / 29
[AFO028L7M] Curso de Analista Programador Javascript
[MOD024H2Y] Analista Programador Javascript
[UDI152LMX] JavaScript Avanzado
om
Instanceof
Esta práctica permite manejar de manera específica los errores personalizados y diferenciarlos de
.c
otros tipos de errores que puedan surgir durante la ejecución del código.
s
1.4. Cómo Identificar y Prevenir Errores en JavaScript
ro
ha
Comprender cómo detectar y prevenir cualquier tipo de error es fundamental durante el desarrollo
ap
de una aplicación. A continuación, se explica cómo manejar los errores en JavaScript:
l
au
throw: se emplea para generar errores y crear excepciones de manera manual en el entorno
de ejecución de JavaScript. Es crucial comprender que se puede lanzar cualquier cosa,
a.
incluyendo números, cadenas y objetos Error. No obstante, se desaconseja lanzar tipos de
os
datos primitivos como cadenas y números, ya que no ofrecen información de depuración
detallada sobre los errores. Por ejemplo: throw new TypeError("Por favor, proporciona
m
una cadena");.
ce
try: indica que un bloque de código puede lanzar una excepción. Es esencial tener un bloque
catch que siga siempre al bloque try para gestionar los errores de manera efectiva. Su sintaxis
es la siguiente:
[Link]
8 / 29
[AFO028L7M] Curso de Analista Programador Javascript
[MOD024H2Y] Analista Programador Javascript
[UDI152LMX] JavaScript Avanzado
Try
catch: se utiliza para crear un bloque que maneja las excepciones capturadas por el bloque
try. Ambos bloques, try y catch, se combinan para manejar errores de manera estructurada.
om
Catch
.c
finally: se usa para definir un bloque de código que se ejecuta después de manejar un error.
s
ro
Este bloque se ejecuta independientemente del resultado de los bloques try y catch. El bloque
finally se ejecutará incluso si el bloque catch no puede manejar completamente el error. La
ha
sintaxis es la siguiente:
l ap
au
a.
Finally
os
m
ce
[Link]
9 / 29
[AFO028L7M] Curso de Analista Programador Javascript
[MOD024H2Y] Analista Programador Javascript
[UDI152LMX] JavaScript Avanzado
2. Tipos de datos avanzados en JavaScript
En JavaScript, además de los tipos de datos primitivos como números, cadenas y booleanos, existen
tipos de datos más avanzados que permiten estructurar y organizar la información de manera más
compleja. Algunos de estos tipos de datos avanzados incluyen:
Objetos: en JavaScript son estructuras de datos que pueden contener propiedades y métodos.
Las propiedades son pares clave-valor que almacenan información, y los métodos son funciones
om
asociadas al objeto. Los objetos permiten organizar datos de manera estructurada y acceder a
ellos mediante la clave.
s .c
ro
ha
l ap
au
a.
Objetos
os
Arreglos: son estructuras que permiten almacenar una colección ordenada de elementos. Los
m
elementos pueden ser de cualquier tipo de datos, incluyendo otros arreglos. Se accede a los
ce
elementos mediante sus índices, que comienzan desde 0.
Arreglos
Funciones: en JavaScript son objetos que contienen código ejecutable. Pueden aceptar
parámetros y devolver un valor. Las funciones son fundamentales para la programación en
[Link]
10 / 29
[AFO028L7M] Curso de Analista Programador Javascript
[MOD024H2Y] Analista Programador Javascript
[UDI152LMX] JavaScript Avanzado
JavaScript y se utilizan para encapsular lógica y reutilizar código.
om
Funciones
.c
Mapas: son colecciones de pares clave-valor donde tanto las claves como los valores pueden
s
ser de cualquier tipo de datos. A diferencia de los objetos, los mapas conservan el orden de
ro
inserción de los elementos y permiten utilizar cualquier tipo de dato como clave.
ha
l ap
au
a.
Mapas
os
Conjuntos: son colecciones de valores únicos, lo que significa que no pueden contener
m
duplicados. Son útiles para representar conjuntos de elementos sin preocuparse por la
duplicación.
ce
Conjuntos
[Link]
11 / 29
[AFO028L7M] Curso de Analista Programador Javascript
[MOD024H2Y] Analista Programador Javascript
[UDI152LMX] JavaScript Avanzado
Clases: permiten definir estructuras de objetos y crear instancias de esas estructuras. Son una
forma de implementar la programación orientada a objetos en JavaScript.
om
s .c
ro
ha
Clases
l ap
au
a.
os
m
ce
[Link]
12 / 29
[AFO028L7M] Curso de Analista Programador Javascript
[MOD024H2Y] Analista Programador Javascript
[UDI152LMX] JavaScript Avanzado
3. Uso de la API de geolocalización
En aplicaciones que requieren acceso a la ubicación del usuario, como las de entrega de alimentos o
servicios de transporte, la API de Geolocalización en JavaScript se convierte en una herramienta
esencial. Esta API proporciona acceso a datos geográficos asociados con el dispositivo del usuario,
utilizando métodos como getCurrentPosition y watchPosition.
Antes de profundizar en la API de Geolocalización, es importante comprender qué son las API REST.
om
Una API RESTful sigue los principios de la arquitectura REST (REpresentational State Transfer) y
permite la interacción con servicios web mediante HTTP, utilizando comandos como GET, POST,
.c
PUT, PATCH, DELETE y OPTIONS.
s
Centrándose en la API de Geolocalización en JavaScript, esta ofrece acceso a datos como latitud,
ro
longitud, altitud y velocidad del dispositivo del usuario. Para preservar la privacidad, se solicita el
ha
permiso del usuario antes de acceder a estos datos. Al obtener la autorización, la API proporciona
métodos como getCurrentPosition y watchPosition:
ap
((PESTAÑA))
l
au
***getCurrentPosition: devuelve la ubicación actual del dispositivo. Parámetros: Callback positivo
(obligatorio), Callback de error (opcional), Objeto opcional (opcional).
a.
***watchPosition: establece una función de gestión que se invoca automáticamente cuando cambia
os
la ubicación del dispositivo. Parámetros: Callback positivo (obligatorio), Callback de error (opcional),
m
Objeto opcional (opcional).
ce
((/PESTAÑA))
Para obtener la posición actual del usuario, se utiliza el método getCurrentPosition. Este método
envía una solicitud asíncrona al navegador, solicitando el consentimiento del usuario para compartir
su ubicación.
[Link]
13 / 29
[AFO028L7M] Curso de Analista Programador Javascript
[MOD024H2Y] Analista Programador Javascript
[UDI152LMX] JavaScript Avanzado
om
s.c
ro
ha
Geolocalización
ap
Al llamar a [Link], se inicia el proceso de obtener la
ubicación del usuario. En caso de éxito, se ejecuta la función de callback positivo, y en caso de error,
l
se invoca la función de callback de error. Además, se pueden proporcionar opciones adicionales,
au
como precisión elevada, tiempo de espera y edad máxima de la caché.
a.
Este enfoque asincrónico garantiza una experiencia fluida y respetuosa con la privacidad del usuario
os
al solicitar y manejar la información de ubicación de manera controlada.
m
En JavaScript, la obtención de la ubicación del usuario se realiza mediante el uso de la API de
Geolocalización. A continuación, se presenta un fragmento de código que muestra la sintaxis para
ce
obtener la ubicación y realizar un seguimiento continuo utilizando watchPosition():
[Link]
14 / 29
[AFO028L7M] Curso de Analista Programador Javascript
[MOD024H2Y] Analista Programador Javascript
[UDI152LMX] JavaScript Avanzado
om
.c
GetCurrentPos
s
ro
Cuando se ejecuta este código, el navegador solicitará permisos para acceder a la ubicación del
usuario. Si se concede el permiso, se mostrará la ubicación actual del usuario en la consola del
ha
desarrollador, incluyendo detalles como latitud, longitud, altitud y precisión.
ap
Para realizar un seguimiento continuo de la ubicación del usuario, se puede utilizar el método
watchPosition():
l
au
const watchId = [Link](successCallback, errorCallback);
a.
Para detener el seguimiento, se puede utilizar el método clearWatch():
os
[Link](watchId);
m
Además, se puede proporcionar opciones adicionales para obtener resultados más precisos, como se
ce
muestra a continuación:
[Link]
15 / 29
[AFO028L7M] Curso de Analista Programador Javascript
[MOD024H2Y] Analista Programador Javascript
[UDI152LMX] JavaScript Avanzado
Callback
Estas opciones permiten configurar parámetros como la precisión y el tiempo máximo de espera
para la obtención de la ubicación, brindando flexibilidad y control sobre el manejo de los datos de
ubicación del usuario.
om
.c
s
ro
ha
l ap
au
a.
os
m
ce
[Link]
16 / 29
[AFO028L7M] Curso de Analista Programador Javascript
[MOD024H2Y] Analista Programador Javascript
[UDI152LMX] JavaScript Avanzado
4. Web sockets en JavaScript
WebSockets es una tecnología que utiliza el protocolo ws para establecer conexiones full-duplex
continuas entre un cliente y un servidor. El cliente, que puede ser el navegador del usuario, opera de
manera independiente de la plataforma en la que se ejecuta.
La presencia de la API de WebSocket se manifiesta en el código JavaScript mediante la inclusión de
un DOM de alcance, ya sea un objeto Window o cualquier entidad que incorpore WorkerUtils. En la
om
eventualidad de cumplir con tales condiciones, la utilización de la API de WebSocket se permite
incluso en los Web Workers.
.c
Para inaugurar el intercambio comunicativo mediante el protocolo WebSocket, resulta imperativo la
s
gestación de un objeto WebSocket, generando automáticamente una conexión efímera con el
ro
servidor.
ha
El requerimiento esencial para el constructor WebSocket consiste en un parámetro ineludible,
acompañado de otro de carácter facultativo:
l ap
au
a.
os
m
ce
Constructor
url: la URL a la que se realizará la conexión WebSocket.
protocols (opcional): un string o un array de strings que especifican el/los protocolos a
utilizar. Estos strings indican sub-protocolos que permiten al servidor implementar múltiples
interacciones según el protocolo especificado. Si no se especifica ningún string como protocolo,
se asumirá un string vacío.
[Link]
17 / 29
[AFO028L7M] Curso de Analista Programador Javascript
[MOD024H2Y] Analista Programador Javascript
[UDI152LMX] JavaScript Avanzado
El constructor puede lanzar excepciones, entre ellas:
SECURITY_ERR: indica que el puerto de la conexión está siendo bloqueado por razones de
seguridad.
En el proceso de envío de información al servidor mediante WebSockets, una vez que la conexión
está abierta, se puede comenzar a enviar datos al servidor utilizando el método send() del objeto
WebSocket. Se puede enviar información en forma de string, Blob o ArrayBuffer. Es importante
om
tener en cuenta que, debido a la naturaleza asincrónica de la conexión y la posibilidad de fallas, no
hay garantía de poder llamar al método send() inmediatamente después de haber creado el objeto
.c
WebSocket de manera exitosa. Se debe asegurar que al menos una conexión ya esté abierta antes de
s
intentar enviar información, utilizando el manejador onopen:
ro
ha
ap
Conexión abierta
l
au
Cuando se trata de enviar información más compleja, como objetos, se puede utilizar JSON para
a.
serializar los datos. Por ejemplo, al interactuar con un servidor de chat, se podría implementar un
protocolo que utilice paquetes de JSON:
os
m
ce
[Link]
18 / 29
[AFO028L7M] Curso de Analista Programador Javascript
[MOD024H2Y] Analista Programador Javascript
[UDI152LMX] JavaScript Avanzado
om
s.c
ro
Ejemplo de interacción
ha
Para recibir mensajes del servidor, la WebSockets API funciona mediante manejadores de eventos.
ap
Cuando se recibe un mensaje, se dispara el evento "message", y el manejador onmessage puede
utilizarse para procesar la información recibida:
l
au
a.
os
Message
m
En el contexto de una aplicación de chat que utiliza JSON para transmitir objetos con información,
ce
es esencial recibir e interpretar adecuadamente los objetos JSON que se envían a través de la
conexión WebSocket. Suponer que la aplicación de chat maneja varios tipos de paquetes, como el
inicio de sesión (handshake), mensajes de texto y actualizaciones de la lista de usuarios. El siguiente
código ilustra cómo interpretar estos mensajes entrantes:
[Link]
19 / 29
[AFO028L7M] Curso de Analista Programador Javascript
[MOD024H2Y] Analista Programador Javascript
[UDI152LMX] JavaScript Avanzado
om
.c
s
ro
ha
l ap
au
a.
os
m
ce
[Link]
20 / 29
[AFO028L7M] Curso de Analista Programador Javascript
[MOD024H2Y] Analista Programador Javascript
[UDI152LMX] JavaScript Avanzado
Recibiendo JSON
En este código, se utiliza [Link]() para convertir la cadena JSON recibida en un objeto
JavaScript. Luego, se examina el tipo del mensaje y se realiza la acción pertinente según el tipo. Por
ejemplo, se puede actualizar la interfaz de usuario con mensajes de chat, notificaciones de inicio de
sesión, rechazo de nombres de usuario, etc.
Es importante destacar que el texto recibido a través de la conexión WebSocket está en formato
om
UTF-8. Además, cuando se ha terminado de usar la conexión WebSocket, se puede cerrar llamando
al método close() del objeto WebSocket: [Link]();
.c
s
ro
ha
l ap
au
a.
os
m
ce
[Link]
21 / 29
[AFO028L7M] Curso de Analista Programador Javascript
[MOD024H2Y] Analista Programador Javascript
[UDI152LMX] JavaScript Avanzado
5. Patrones de diseño en JavaScript
Los patrones de diseño son soluciones generales para problemas recurrentes que surgen durante el
diseño de software. En JavaScript, como en cualquier otro lenguaje de programación, los patrones
de diseño son prácticas recomendadas que se han desarrollado y refinado con el tiempo para
abordar problemas comunes en el desarrollo de software. Los patrones de diseño más comunes en
JavaScript son:
om
Patrón Módulo.
Patrón Singleton.
.c
Patrón Observador (Observer).
s
Patrón Constructor (Constructor).
ro
ha
Patrón Módulo
ap
Utiliza funciones autoejecutables para encapsular y proteger el estado y comportamiento. Esto
ayuda a prevenir la contaminación del espacio global.
l
au
a.
os
m
ce
[Link]
22 / 29
[AFO028L7M] Curso de Analista Programador Javascript
[MOD024H2Y] Analista Programador Javascript
[UDI152LMX] JavaScript Avanzado
om
.c
s
ro
ha
l ap
Módulo
au
a.
Patrón Singleton
os
Asegura que una clase tenga una sola instancia y provee un punto global de acceso a esa única
instancia.
m
ce
[Link]
23 / 29
[AFO028L7M] Curso de Analista Programador Javascript
[MOD024H2Y] Analista Programador Javascript
[UDI152LMX] JavaScript Avanzado
om
.c
s
ro
ha
l ap
au
a.
Singleton
os
Patrón Observador (Observer)
m
Establece una relación de dependencia uno a muchos entre objetos. Esto implica que cuando un
ce
objeto experimenta un cambio en su estado, todos aquellos que dependen de él son notificados de
manera automática y actualizados en consecuencia.
[Link]
24 / 29
[AFO028L7M] Curso de Analista Programador Javascript
[MOD024H2Y] Analista Programador Javascript
[UDI152LMX] JavaScript Avanzado
om
.c
s
ro
ha
l ap
au
a.
os
Observador
m
Patrón Constructor (Constructor)
ce
Utilizado para construir objetos complejos paso a paso. Permite la creación de diferentes tipos y
representaciones de un objeto.
[Link]
25 / 29
[AFO028L7M] Curso de Analista Programador Javascript
[MOD024H2Y] Analista Programador Javascript
[UDI152LMX] JavaScript Avanzado
om
.c
s
ro
ha
l ap
au
a.
os
m
Constructor
ce
[Link]
26 / 29
[AFO028L7M] Curso de Analista Programador Javascript
[MOD024H2Y] Analista Programador Javascript
[UDI152LMX] JavaScript Avanzado
Recuerda
JavaScript ofrece un conjunto de clases de tipos de error para cubrir diversos escenarios.
Se puede crear el propio tipo de error extendiendo la clase Error para personalizar el manejo
de excepciones.
Aparte de los tipos de datos primitivos, JavaScript tiene tipos de datos avanzados como objetos,
arreglos y funciones.
om
Las funciones son ciudadanos de primera clase, lo que significa que pueden asignarse a
variables, pasarse como argumentos y devolverse como valores.
La API de Geolocalización en JavaScript proporciona información sobre la ubicación geográfica
.c
del dispositivo del usuario.
s
WebSockets permiten conexiones continuas full-duplex entre el cliente y el servidor,
ro
proporcionando comunicación bidireccional.
ha
El patrón Módulo ayuda a encapsular y proteger el estado y comportamiento, evitando la
contaminación del espacio global.
ap
El patrón Singleton garantiza una única instancia de una clase y proporciona un punto de
acceso global a esa instancia.
l
au
El patrón Observador establece una dependencia uno a muchos entre objetos, permitiendo que
los cambios se notifiquen a múltiples observadores.
a.
El patrón Constructor facilita la construcción de objetos complejos paso a paso, permitiendo
os
diferentes representaciones.
m
ce
[Link]
27 / 29
[AFO028L7M] Curso de Analista Programador Javascript
[MOD024H2Y] Analista Programador Javascript
[UDI152LMX] JavaScript Avanzado
Autoevaluación
¿Cuál es uno de los errores más comunes en JavaScript que se produce cuando
intentas acceder a propiedades de objetos nulos o indefinidos?
SyntaxError.
om
RangeError.
.c
TypeError.
s
ro
¿Cuál de los siguientes es un tipo de dato avanzado en JavaScript utilizado para
ha
almacenar múltiples valores ordenados?
ap
String.
l
au
Array.
a.
Object.
os
m
¿Qué método de la API de Geolocalización se utiliza para rastrear continuamente
ce
la ubicación del usuario?
GetCurrentPosition.
WatchPosition.
ClearWatch.
[Link]
28 / 29
[AFO028L7M] Curso de Analista Programador Javascript
[MOD024H2Y] Analista Programador Javascript
[UDI152LMX] JavaScript Avanzado
¿Cuál es el método que se utiliza para enviar información al servidor a través de
una conexión WebSocket?
SendData.
TransmitData.
om
Send.
.c
¿Qué patrón de diseño garantiza una única instancia de una clase y proporciona
s
un punto de acceso global a esa instancia?
ro
ha
Observer Pattern.
ap
Singleton Pattern.
l
au
Module Pattern.
a.
os
m
ce
[Link]
29 / 29