1_Introducción a JavaScript
1_Introducción a JavaScript
Introducción
beneficios y aplicaciones prácticas. Desde su capacidad para dotar de interactividad a las páginas
web hasta su papel en la reducción de la carga del servidor, se desentrañarán los aspectos clave que
hacen de JavaScript un lenguaje tan versátil y esencial en el panorama actual del desarrollo web.
om
.c
s
ro
ha
l ap
au
a.
os
m
ce
cemosa.aulapharos.com
1 / 23
[AFO028L7M] Curso de Analista Programador Javascript
[MOD024H2Y] Analista Programador Javascript
[UDI152LML] Introducción a JavaScript
Objetivos
om
s .c
ro
ha
l ap
au
a.
os
m
ce
cemosa.aulapharos.com
2 / 23
[AFO028L7M] Curso de Analista Programador Javascript
[MOD024H2Y] Analista Programador Javascript
[UDI152LML] Introducción a JavaScript
Mapa Conceptual
om
.c
s
ro
ha
l ap
au
a.
os
m
ce
cemosa.aulapharos.com
3 / 23
[AFO028L7M] Curso de Analista Programador Javascript
[MOD024H2Y] Analista Programador Javascript
[UDI152LML] Introducción a JavaScript
1. ¿Qué es JavaScript?
objetos, cuya aplicación principal se encuentra en el ámbito del desarrollo web. Su finalidad
om
s.c
ro
ha
Logo de JS
ap
Su compatibilidad abarca todos los navegadores modernos, y su ejecución tiene lugar en el lado del
l
cliente, lo que implica que se lleva a cabo en el navegador web del usuario final. Además de su
au
(Document Object Model) para interactuar con los elementos de una página web, gestionar eventos,
m
establecer comunicación con servidores mediante AJAX, generar animaciones, validar formularios y
ce
en contenido.
Es esencial señalar que, a pesar de su nombre similar, JavaScript no guarda relación con Java.
diferentes.
cemosa.aulapharos.com
4 / 23
[AFO028L7M] Curso de Analista Programador Javascript
[MOD024H2Y] Analista Programador Javascript
[UDI152LML] Introducción a JavaScript
2. Historia de JavaScript
tenía un documento HTML. En ese contexto, el navegador solo podía esperar la recepción de datos y
luego enviarlos como un formulario, con capacidad limitada para otorgar aspectos de diseño, como
dimensiones específicas.
om
.c
s
ro
ha
l ap
au
a.
Motor V8
os
Fue Brendan Eich quien desarrolló JavaScript para Netscape, otorgándole a los navegadores una
m
gama más amplia de posibilidades. Con JavaScript, se pueden crear controles en la búsqueda de
ce
contenido para garantizar la devolución de resultados relevantes, excluyendo textos vacíos, por
ejemplo.
Otro hito relevante en la historia de JavaScript fue la creación del elemento XML HttpRequest por
parte de Microsoft en 1998. Este elemento, precursor de AJAX, facilita la carga de contenido y la
A lo largo de los años, JavaScript continuó siendo tema de interés y en el año 2000, Douglas
2004, Gmail incorporó masivamente JavaScript y adoptó AJAX para optimizar sus procesos.
cemosa.aulapharos.com
5 / 23
[AFO028L7M] Curso de Analista Programador Javascript
[MOD024H2Y] Analista Programador Javascript
[UDI152LML] Introducción a JavaScript
En ese momento, JavaScript se volvió tan fundamental que, en 2006, John Resig creó la biblioteca
generalizada.
om
.c
s
ro
ha
l ap
au
a.
os
m
ce
cemosa.aulapharos.com
6 / 23
[AFO028L7M] Curso de Analista Programador Javascript
[MOD024H2Y] Analista Programador Javascript
[UDI152LML] Introducción a JavaScript
3. Características de JavaScript
JavaScript es principalmente conocido por su papel en el lado del cliente, donde se ejecuta en
el navegador web del usuario final. Esto permite la creación de interfaces interactivas y
Es un lenguaje interpretado, lo que significa que el código fuente se ejecuta línea por línea en
om
tiempo real. Esto facilita el desarrollo y la depuración, ya que los desarrolladores pueden ver
.c
JavaScript sigue un paradigma de programación orientada a objetos, lo que significa que se
s
estructura alrededor de objetos y clases. Los objetos en JavaScript pueden contener tanto datos
ro
como funciones.
Es un lenguaje de tipado débil, lo que implica que no se requiere declarar el tipo de variable
ha
antes de asignar un valor. El tipo de variable puede cambiar dinámicamente durante la
ap
Teniendo en cuenta esto se introducirán los siguientes temas, que son características y
Usos de JavaScript.
os
Funcionamiento de JavaScript.
m
Bibliotecas en JavaScript.
Marcos en JavaScript.
ce
En el pasado, las páginas web solían ser estáticas, semejantes a las páginas de un libro, exhibiendo
web contemporáneo. La introducción de JavaScript como tecnología del lado del navegador marcó
un cambio significativo al dotar a las aplicaciones web de mayor dinamismo. A través de JavaScript,
cemosa.aulapharos.com
7 / 23
[AFO028L7M] Curso de Analista Programador Javascript
[MOD024H2Y] Analista Programador Javascript
[UDI152LML] Introducción a JavaScript
los navegadores lograron responder a las interacciones de los usuarios y modificar la disposición del
Con la evolución del lenguaje, los desarrolladores de JavaScript establecieron bibliotecas, marcos y
actualidad, JavaScript se emplea tanto en el desarrollo del lado del cliente como del servidor.
om
implementa en diversas áreas como, por ejemplo:
.c
dinamismo de las páginas web.
s
Desarrollo de todo el backend de una aplicación: mediante Node.js, que sigue siendo
ro
JavaScript, se programa el backend completo de una aplicación, permitiendo la ejecución de
ha
código del lado del servidor.
solicitudes y respuestas.
Desarrollo móvil: se emplea para crear aplicaciones móviles que, aunque parecen nativas,
ce
están completamente desarrolladas con JavaScript, gracias a frameworks como React Native.
Todos los lenguajes de programación funcionan mediante la conversión de una sintaxis, similar a la
cemosa.aulapharos.com
8 / 23
[AFO028L7M] Curso de Analista Programador Javascript
[MOD024H2Y] Analista Programador Javascript
[UDI152LML] Introducción a JavaScript
del inglés, a código de máquina, que luego se ejecuta en el sistema operativo. JavaScript se clasifica
om
s .c
ro
ha
l ap
au
a.
Esquema de funcionamiento js
os
Motor de JavaScript.
ce
Motor de JavaScript
Un motor JavaScript es esencialmente un programa informático diseñado para ejecutar código
cemosa.aulapharos.com
9 / 23
[AFO028L7M] Curso de Analista Programador Javascript
[MOD024H2Y] Analista Programador Javascript
[UDI152LML] Introducción a JavaScript
om
.c
Motor V8
s
ro
A lo largo del tiempo, la evolución de estos motores ha sido notable, marcando una transición desde
ha
los primeros intérpretes hasta los métodos más avanzados utilizados en la actualidad.
ap
Intérpretes Iniciales
l
au
En sus etapas iniciales, los motores de JavaScript eran intérpretes puros. Esto significa que
leían y ejecutaban cada línea de código de manera secuencial, sin realizar una traducción
a.
Los motores modernos han adoptado técnicas más avanzadas, como la compilación en tiempo
m
Optimización y Rendimiento
cemosa.aulapharos.com
10 / 23
[AFO028L7M] Curso de Analista Programador Javascript
[MOD024H2Y] Analista Programador Javascript
[UDI152LML] Introducción a JavaScript
Chrome y Node.js), SpiderMonkey (en Mozilla Firefox), JavaScriptCore (en Safari) y Chakra
(anteriormente utilizado en Microsoft Edge). Cada uno de estos motores ha evolucionado
para ofrecer un rendimiento eficiente y adaptarse a las demandas cambiantes de las
aplicaciones web modernas.
código del navegador. Todos los navegadores principales cuentan con sus propios motores de
om
JavaScript incorporados.
Los desarrolladores de aplicaciones web escriben código JavaScript con funciones asociadas a
.c
eventos como clics de ratón o posicionamiento sobre un elemento. Estas funciones alteran el HTML
s
y el CSS.
ro
ha
A continuación, se presenta un resumen del funcionamiento de JavaScript del lado del cliente:
ap
Eventos, como clics de ratón, activan la ejecución del código JavaScript correspondiente. El
os
El navegador muestra la versión actualizada del DOM resultante después de las modificaciones
de JavaScript está ubicado directamente en el servidor. En este contexto, las funciones de JavaScript
del lado del servidor tienen la capacidad de acceder a la base de datos, realizar diversas operaciones
lógicas y responder a eventos desencadenados por el sistema operativo del servidor. La principal
ventaja de este enfoque radica en su capacidad para personalizar la respuesta del sitio web de
cemosa.aulapharos.com
11 / 23
[AFO028L7M] Curso de Analista Programador Javascript
[MOD024H2Y] Analista Programador Javascript
[UDI152LML] Introducción a JavaScript
acuerdo con los requisitos, los derechos de acceso y las solicitudes de información provenientes del
sitio web.
haciendo referencia a la capacidad de actualizar el diseño de la página web para generar nuevo
contenido según sea necesario. La distinción entre ambos radica en cómo generan ese nuevo
om
contenido. El código del lado del servidor realiza esta tarea dinámicamente mediante la lógica de la
aplicación y la modificación de datos en la base de datos. Por otro lado, JavaScript del lado del
.c
cliente genera nuevo contenido dinámicamente en el navegador mediante la lógica de la interfaz de
s
usuario y al modificar los contenidos de la página web que ya están en el cliente. Aunque los
ro
significados son ligeramente diferentes, ambos enfoques colaboran para mejorar la experiencia del
usuario.
ha
Además de la implementación en características dinámicas, otra diferencia clave entre ambos usos
ap
tiempo de ejecución de JavaScript, y el código solo puede acceder a recursos permitidos por el
l
au
navegador. Por ejemplo, no puede escribir en el disco duro sin la interacción del usuario. En cambio,
las funciones del lado del servidor pueden acceder a todos los recursos de la máquina del servidor
a.
3. 3. Bibliotecas en JavaScript
ce
Las bibliotecas de JavaScript son conjuntos de fragmentos de código preescritos que los
desarrolladores web pueden reutilizar para llevar a cabo funciones estándar de JavaScript. Estos
fragmentos de código se integran con el resto del proyecto según sea necesario, proporcionando una
analogía útil al pensar en el código de una aplicación como una casa y las bibliotecas como muebles
cemosa.aulapharos.com
12 / 23
[AFO028L7M] Curso de Analista Programador Javascript
[MOD024H2Y] Analista Programador Javascript
[UDI152LML] Introducción a JavaScript
om
Bibliotecas js
s .c
Los casos de uso comunes de bibliotecas de JavaScript son:
ro
Formularios: en todos los desarrollos web, el uso de formularios es común para que los
ha
visitantes del sitio se pongan en contacto, realicen pedidos o se inscriban en eventos.
ap
simplifican el desarrollo web al proporcionar código para funciones estándar en sitios web,
tales como animaciones de menús, galerías de imágenes, botones, lightboxes, entre otros.
os
integradas para desarrollar aplicaciones web que presenten datos de manera efectiva a través
de gráficos y mapas.
texto. En lugar de enviar todas estas solicitudes al servidor, gestionar algunas en el lado del
cliente resulta más eficiente. Bibliotecas de JavaScript como Date.js, Sylvester y JavaScript
URL Library son utilizadas para estas funciones, mejorando la eficiencia en el manejo de
cemosa.aulapharos.com
13 / 23
[AFO028L7M] Curso de Analista Programador Javascript
[MOD024H2Y] Analista Programador Javascript
[UDI152LML] Introducción a JavaScript
Los marcos de JavaScript, al igual que las bibliotecas, consisten en fragmentos de código preescritos
que ejecutan diversas funciones y son reutilizables. A diferencia de las bibliotecas, que son
herramientas especializadas para uso local, los marcos de JavaScript constituyen conjuntos
om
integrales de herramientas que organizan y estructuran cualquier aplicación web. Si se considera el
código de una aplicación JavaScript como una construcción, el marco de JavaScript se asemejaría al
.c
plano utilizado para su creación.
s
ro
ha
l ap
au
a.
os
Marcos
m
AngularJS simplifica el desarrollo y las pruebas de aplicaciones web, mientras que React
Native facilita el desarrollo de aplicaciones móviles con renderizado nativo para iOS y
Android.
cemosa.aulapharos.com
14 / 23
[AFO028L7M] Curso de Analista Programador Javascript
[MOD024H2Y] Analista Programador Javascript
[UDI152LML] Introducción a JavaScript
Node.js es un entorno de ejecución de JavaScript del lado del servidor de código abierto que
permite ejecutar código JavaScript fuera del navegador. Los desarrolladores emplean este
entorno para construir aplicaciones basadas en red del lado del servidor de manera
escalable, rápida y confiable. Node.js tiene la capacidad de manejar solicitudes HTTP y
secuencias de datos, así como de admitir sistemas de archivos, facilitando la gestión de
varios procesos de back-end de forma simultánea.
om
.c
s
ro
ha
l ap
au
a.
os
m
ce
cemosa.aulapharos.com
15 / 23
[AFO028L7M] Curso de Analista Programador Javascript
[MOD024H2Y] Analista Programador Javascript
[UDI152LML] Introducción a JavaScript
del desarrollo web y móvil. Su popularidad se basa en una serie de beneficios que han transformado
la forma en que se interactua con la tecnología digital. Sin embargo, como cualquier herramienta
poderosa, también presenta limitaciones que los desarrolladores deben tener en cuenta.
JavaScript se destaca por una sintaxis fácil de aprender y codificar, basada en el lenguaje Java. Su
om
aplicación en el scripting del lado del cliente ha sido fundamental para la creación de sitios web y
.c
combinado con su ejecución en diversas plataformas, proporciona independencia y flexibilidad en el
desarrollo de aplicaciones.
s
ro
Además, JavaScript contribuye a reducir la carga del servidor al ejecutar operaciones en el cliente,
ha
agilizando procesos como la validación de formularios y evitando recargas de página innecesarias.
y la interacción del usuario. En el backend, con tecnologías como Node.js, permite la ejecución
A pesar de sus beneficios, JavaScript presenta limitaciones notables. Al ser un lenguaje de tipado
a.
débil, no permite la definición explícita del tipo de variables, lo que puede dar lugar a errores
inesperados durante la ejecución. La flexibilidad para cambiar el tipo de datos de una variable en
os
tiempo de ejecución puede conducir a problemas de codificación inadvertidos y fallos de tipo que
m
Beneficios.
Limitaciones.
cemosa.aulapharos.com
16 / 23
[AFO028L7M] Curso de Analista Programador Javascript
[MOD024H2Y] Analista Programador Javascript
[UDI152LML] Introducción a JavaScript
operaciones lógicas y realizar trabajo del servidor en el cliente. Por ejemplo, en el proceso de
registro, JavaScript puede validar rápidamente los campos del formulario, evitando recargas de
página innecesarias.
combinar con varios marcos y lenguajes de desarrollo web. Una vez escrito, el código
om
en el desarrollo de aplicaciones.
.c
codificar. Se utiliza ampliamente en sitios web y aplicaciones móviles para el scripting del lado
del cliente.
s
ro
JavaScript puede ejecutar varios conjuntos de instrucciones de manera paralela. En el backend,
Node.js puede manejar respuestas del servidor con un alto escalado vertical sin consumir
ha
excesivo ancho de banda. Esto mejora la eficiencia en la gestión de procesos concurrentes.
JS y herramientas
cemosa.aulapharos.com
17 / 23
[AFO028L7M] Curso de Analista Programador Javascript
[MOD024H2Y] Analista Programador Javascript
[UDI152LML] Introducción a JavaScript
Los lenguajes de programación emplean variables como marcadores de posición para representar
valores de datos reales. En un bloque de código, un desarrollador puede asignar valores a variables,
y por 5 y 6 respectivamente, para realizar operaciones basadas en esos valores. Los datos pueden
adoptar diversos tipos, como cadenas de texto, números o fechas, y es por eso que la mayoría de los
lenguajes de programación permiten definir el tipo de variable. Una vez definido, el tipo de variable
om
permanece constante; por ejemplo, no se pueden almacenar números en variables destinadas a
cadenas.
.c
Cuando se especifica que tanto x como y son números y luego se realiza la operación x + y, la
s
ro
computadora reconocerá que son números y llevará acabo la suma. En cambio, si se define que
ambas son cadenas, el operador + concatenará las dos cadenas para formar una palabra más larga.
ha
JavaScript es un lenguaje de tipado débil, lo que implica que no permite al programador definir el
ap
tipo de las variables. Durante el tiempo de ejecución, una variable puede almacenar cualquier tipo
de dato, y las operaciones se realizan según el tipo de variable en ese momento. Además, el
l
au
resultado de una operación puede proyectarse a otro tipo de datos; por ejemplo, una operación
podría devolver el resultado como la cadena “5” en lugar del número 5. Esta flexibilidad puede dar
a.
cemosa.aulapharos.com
18 / 23
[AFO028L7M] Curso de Analista Programador Javascript
[MOD024H2Y] Analista Programador Javascript
[UDI152LML] Introducción a JavaScript
JavaScript se utiliza para una amplia gama de propósitos, permitiendo a los desarrolladores web
agregar efectos y animaciones a las páginas, creando así sitios web atractivos y dinámicos. Su
versatilidad le otorga la capacidad de dar vida a ideas y llevar a cabo diseños más allá de simples
modelos estáticos.
Este lenguaje posibilita la adaptación de contenido a diferentes pantallas, brindando a los usuarios
om
una experiencia excepcional, independientemente del dispositivo que utilicen para acceder.
Entre las diversas funciones que JavaScript proporciona a los desarrolladores web se encuentran la
.c
detección de errores en formularios, la realización de cálculos matemáticos y la capacidad de
s
realizar modificaciones dinámicas a los elementos de una página. Estas funcionalidades contribuyen
ro
a hacer el trabajo más eficiente y dinámico.
ha
Desde su introducción en la década de 1990, JavaScript ha transformado la interacción en línea,
brindando a los usuarios experiencias en internet más ricas y mejoradas. Hoy en día, sin que muchas
ap
veces se note, este lenguaje se ejecuta en numerosas aplicaciones y elementos de la web, como el
l
conocido juego del dinosaurio de Chrome, que está integrado al navegador mediante JavaScript, o
au
diversas aplicaciones para dispositivos móviles que operan fuera de la plataforma telefónica.
a.
JavaScript es ampliamente reconocido por ser una herramienta esencial en el desarrollo web, siendo
os
uno de los recursos más potentes para los desarrolladores. Su aplicación más común se encuentra
en el ámbito del front-end, donde se utiliza para agregar interactividad y funciones que mejoran la
m
incursionado en el back-end del desarrollo web. Esto significa que los desarrolladores ahora pueden
acceder a métodos CRUD (Crear, Leer, Actualizar, Destruir) y utilizar JavaScript en el motor de un
sitio web, marcando una transformación significativa en la forma en que se construyen y gestionan
De acuerdo con estadísticas de W3techs, más del 90 % de todos los sitios web funcionan con
JavaScript, consolidándolo como la tecnología líder en el desarrollo web. Algunos usos específicos de
cemosa.aulapharos.com
19 / 23
[AFO028L7M] Curso de Analista Programador Javascript
[MOD024H2Y] Analista Programador Javascript
[UDI152LML] Introducción a JavaScript
el desarrollo web.
om
Desarrollo Web Dorsal o Back-end: transforma el desarrollo web al permitir que JavaScript
.c
s
ro
ha
l ap
au
a.
os
m
ce
JavaScript
cemosa.aulapharos.com
20 / 23
[AFO028L7M] Curso de Analista Programador Javascript
[MOD024H2Y] Analista Programador Javascript
[UDI152LML] Introducción a JavaScript
Recuerda
om
de manera eficiente las operaciones del servidor.
Más del 90% de todos los sitios web utilizan JavaScript, consolidándolo como la tecnología líder
en el desarrollo web.
.c
Sus aplicaciones abarcan desde la creación de interfaces interactivas hasta el desarrollo de
s
aplicaciones web compactas y juegos de navegador robustos.
ro
ha
l ap
au
a.
os
m
ce
cemosa.aulapharos.com
21 / 23
[AFO028L7M] Curso de Analista Programador Javascript
[MOD024H2Y] Analista Programador Javascript
[UDI152LML] Introducción a JavaScript
Autoevaluación
om
Optimizar la velocidad de carga.
.c
s
ro
¿Dónde se ejecuta JavaScript del lado del cliente?
ha
En el servidor.
ap
En el sistema operativo.
a.
os
Complejidad de sintaxis.
Dependencia de plataforma.
cemosa.aulapharos.com
22 / 23
[AFO028L7M] Curso de Analista Programador Javascript
[MOD024H2Y] Analista Programador Javascript
[UDI152LML] Introducción a JavaScript
XML HttpRequest.
JSON.
Node.js.
om
¿Cuál es una característica del lenguaje de tipado de JavaScript?
.c
Tipado débil.
s
ro
Tipado fuerte.
ha
Tipado estático.
l ap
au
a.
os
m
ce
cemosa.aulapharos.com
23 / 23