Guía Completa de JavaScript 2024
Guía Completa de JavaScript 2024
JAVASCRIPT
ÍNDICE
1. Introducción a JavaScript
2. Instalación de entorno para JavaScript
3. Estándares de JavaScript
4. Inserción del código JavaScript
5. Variables y constantes
6. Tipos de datos primitivos
7. Estructuras de datos
8. Estructuras de control
9. Funciones
10. Clases
11. Objetos
12. Web API – DOM
13. Fetch API
14. JSON
ILERNA JEREZ – CURSO 2024-2025 – PRIMERO- FRANCISCO ÁLVARO GONZÁLEZ - LENGUAJE DE MARCAS Y SGI
[Link]
1. Introducción a JavaScript
ILERNA JEREZ – CURSO 2024-2025 – PRIMERO- FRANCISCO ÁLVARO GONZÁLEZ - LENGUAJE DE MARCAS Y SGI
[Link]
1. Introducción a JavaScript
ILERNA JEREZ – CURSO 2024-2025 – PRIMERO- FRANCISCO ÁLVARO GONZÁLEZ - LENGUAJE DE MARCAS Y SGI
[Link]
[Link]
[Link]
Botón descargas.
Descargar versión LTS
Es necesario reiniciar el equipo
para que Windows carge el
PATH.
ILERNA JEREZ – CURSO 2024-2025 – PRIMERO- FRANCISCO ÁLVARO GONZÁLEZ - LENGUAJE DE MARCAS Y SGI
[Link]
ILERNA JEREZ – CURSO 2024-2025 – PRIMERO- FRANCISCO ÁLVARO GONZÁLEZ - LENGUAJE DE MARCAS Y SGI
[Link]
ILERNA JEREZ – CURSO 2024-2025 – PRIMERO- FRANCISCO ÁLVARO GONZÁLEZ - LENGUAJE DE MARCAS Y SGI
[Link]
HTML+CSS
JavaScript JavaScript
Bases de
datos
ILERNA JEREZ – CURSO 2024-2025 – PRIMERO- FRANCISCO ÁLVARO GONZÁLEZ - LENGUAJE DE MARCAS Y SGI
[Link]
ILERNA JEREZ – CURSO 2024-2025 – PRIMERO- FRANCISCO ÁLVARO GONZÁLEZ - LENGUAJE DE MARCAS Y SGI
[Link]
ILERNA JEREZ – CURSO 2024-2025 – PRIMERO- FRANCISCO ÁLVARO GONZÁLEZ - LENGUAJE DE MARCAS Y SGI
[Link]
❑ Variables
❑ Constantes
❑ Tipos de datos
❑ Estructuras de datos
❑ Estructuras de control
❑ Operadores lógicos
❑ Operadores matemáticos
❑ Funciones.
❑ Objetos
ILERNA JEREZ – CURSO 2024-2025 – PRIMERO- FRANCISCO ÁLVARO GONZÁLEZ - LENGUAJE DE MARCAS Y SGI
[Link]
❑ Interpretado
❑ Tipado dinámico
❑ Rendimiento
❑ Débilmente tipado
ILERNA JEREZ – CURSO 2024-2025 – PRIMERO- FRANCISCO ÁLVARO GONZÁLEZ - LENGUAJE DE MARCAS Y SGI
[Link]
5. Variables y constantes
ILERNA JEREZ – CURSO 2024-2025 – PRIMERO- FRANCISCO ÁLVARO GONZÁLEZ - LENGUAJE DE MARCAS Y SGI
[Link]
5. Variables y constantes
let numero1 = 5;
const limite1 = 10;
❑ Ámbito global. Las variables o constantes están fuera de
cualquier función. function calculo(){
❑ Ámbito de función. Las variables o constantes definidas let numero2 = 20;
dentro de una función sólo se ven dentro de la función.
if(numero1 < limite1){
Sin embargo, desde dentro de una función se pueden ver let numero3 = 20;
las variables o constantes del ámbito global. let suma = numero1 + numero2 +
❑ Ámbito de bloque. Un bloque es un trozo de código numero3;
dentro de llaves, como el cuerpo de un condicional. [Link]("Suma total de
❑ Ámbito de módulo. Sale fuera del alcance de este curso. numero1,numero2 y suma es: " + suma);
}
}
calculo();
ILERNA JEREZ – CURSO 2024-2025 – PRIMERO- FRANCISCO ÁLVARO GONZÁLEZ - LENGUAJE DE MARCAS Y SGI
[Link]
6. Sintaxis
ILERNA JEREZ – CURSO 2024-2025 – PRIMERO- FRANCISCO ÁLVARO GONZÁLEZ - LENGUAJE DE MARCAS Y SGI
[Link]
6. Sintaxis
ILERNA JEREZ – CURSO 2024-2025 – PRIMERO- FRANCISCO ÁLVARO GONZÁLEZ - LENGUAJE DE MARCAS Y SGI
[Link]
6. Tipos de datos
Se llaman tipos de datos primitivos son aquellos datos que no son estructuras de
datos ni objetos. A este tipo de variables no se le pueden añadir atributos o
métodos.
JavaScript proporciona tipos de datos complejos (objetos) para algunos de estos
tipos primitivos:
❑ number -> Number
❑ string -> String
❑ boolean -> Boolean
ILERNA JEREZ – CURSO 2024-2025 – PRIMERO- FRANCISCO ÁLVARO GONZÁLEZ - LENGUAJE DE MARCAS Y SGI
[Link]
6. Tipos de datos
ILERNA JEREZ – CURSO 2024-2025 – PRIMERO- FRANCISCO ÁLVARO GONZÁLEZ - LENGUAJE DE MARCAS Y SGI
[Link]
6. Tipos de datos
ILERNA JEREZ – CURSO 2024-2025 – PRIMERO- FRANCISCO ÁLVARO GONZÁLEZ - LENGUAJE DE MARCAS Y SGI
[Link]
6. Tipos de datos
ILERNA JEREZ – CURSO 2024-2025 – PRIMERO- FRANCISCO ÁLVARO GONZÁLEZ - LENGUAJE DE MARCAS Y SGI
[Link]
6. Tipos de datos
Undefined es el valor por defecto. Es el valor que toman las variables que se han
declarado pero no tiene valor asignado.
Let nota;
ILERNA JEREZ – CURSO 2024-2025 – PRIMERO- FRANCISCO ÁLVARO GONZÁLEZ - LENGUAJE DE MARCAS Y SGI
[Link]
6. Tipos de datos
Esto permite que podamos asignar a una misma variable diferentes tipos de datos
a lo largo del programa.
Es decir, podemos reaprovechar una variable en el programa.
ILERNA JEREZ – CURSO 2024-2025 – PRIMERO- FRANCISCO ÁLVARO GONZÁLEZ - LENGUAJE DE MARCAS Y SGI
[Link]
6. Tipos de datos
ILERNA JEREZ – CURSO 2024-2025 – PRIMERO- FRANCISCO ÁLVARO GONZÁLEZ - LENGUAJE DE MARCAS Y SGI
[Link]
6. Tipos de datos
ILERNA JEREZ – CURSO 2024-2025 – PRIMERO- FRANCISCO ÁLVARO GONZÁLEZ - LENGUAJE DE MARCAS Y SGI
[Link]
6. Tipos de datos
Función Significado
typeof variable u objeto Devuelve de tipo de la variable
toString() Te transforma a un string
trim Elimina espacios en blanco
toUpperCase() Pone el texto en mayúsculas
toLowerCase() Pone el texto en minúsculas
ILERNA JEREZ – CURSO 2024-2025 – PRIMERO- FRANCISCO ÁLVARO GONZÁLEZ - LENGUAJE DE MARCAS Y SGI
[Link]
Igualdad estricta === Los valores son iguales y tienen el mismo tipo
Mayor o igual que >= El primer valor es mayor o igual que el segundo
Menor o igual que <= El primer valor es menor o igual que el segundo
ILERNA JEREZ – CURSO 2024-2025 – PRIMERO- FRANCISCO ÁLVARO GONZÁLEZ - LENGUAJE DE MARCAS Y SGI
[Link]
ILERNA JEREZ – CURSO 2024-2025 – PRIMERO- FRANCISCO ÁLVARO GONZÁLEZ - LENGUAJE DE MARCAS Y SGI
[Link]
function evaluar(nota){
if(nota<5.0){
[Link]("Suspenso")
}else if(nota>=5.0 && nota<=9.0){
[Link]('Aprobado')
}else{
[Link]('Sobresaliente')
}
}
ILERNA JEREZ – CURSO 2024-2025 – PRIMERO- FRANCISCO ÁLVARO GONZÁLEZ - LENGUAJE DE MARCAS Y SGI
[Link]
function evaluar(nota){
if(nota<5.0){
[Link]("Suspenso")
}else if(nota>=5.0 && nota<=9.0){
[Link]('Aprobado')
}else{
[Link]('Sobresaliente')
}
}
ILERNA JEREZ – CURSO 2024-2025 – PRIMERO- FRANCISCO ÁLVARO GONZÁLEZ - LENGUAJE DE MARCAS Y SGI
[Link]
Estructura ternario
function evaluarTernario(nota){
let notaMenorCinco = nota<5.0
let evaluacion = notaMenorCinco ? 'Suspenso' :'Aprobado'
return evaluacion
}
function evaluarTernario2(nota){
[Link](nota<5.0 ? 'Suspenso' :'Aprobado')
}
ILERNA JEREZ – CURSO 2024-2025 – PRIMERO- FRANCISCO ÁLVARO GONZÁLEZ - LENGUAJE DE MARCAS Y SGI
[Link]
Estructura switch
function evaluarSwitch(nota){
switch(nota){
case 6:
case 7:
case 8:
return 'Aprobado';
break;
case 9:
case 10:
return 'Sobresaliente';
break;
default:
return 'Suspenso'
}
}
ILERNA JEREZ – CURSO 2024-2025 – PRIMERO- FRANCISCO ÁLVARO GONZÁLEZ - LENGUAJE DE MARCAS Y SGI
[Link]
function listarLista(lista){
for(let i=0;i<=[Link]-1;i++){
[Link](lista[i]);
}
}
var lista = ['Maria','Pepe','Juan','Jose']
listarLista(lista)
ILERNA JEREZ – CURSO 2024-2025 – PRIMERO- FRANCISCO ÁLVARO GONZÁLEZ - LENGUAJE DE MARCAS Y SGI
[Link]
8. Estructuras de control
ILERNA JEREZ – CURSO 2024-2025 – PRIMERO- FRANCISCO ÁLVARO GONZÁLEZ - LENGUAJE DE MARCAS Y SGI
[Link]
8. Estructuras de control
ILERNA JEREZ – CURSO 2024-2025 – PRIMERO- FRANCISCO ÁLVARO GONZÁLEZ - LENGUAJE DE MARCAS Y SGI
[Link]
7. Estructuras de datos
Listas/Pilas/Colas
Una lista en JavaScript se define con elementos entre corchetes.
ILERNA JEREZ – CURSO 2024-2025 – PRIMERO- FRANCISCO ÁLVARO GONZÁLEZ - LENGUAJE DE MARCAS Y SGI
[Link]
<script type="text/javascript">
var alumno = prompt("Soy Castón, identifiquese: ");
alert("Puede ir en paz, " + alumno);
</script>
ILERNA JEREZ – CURSO 2024-2025 – PRIMERO- FRANCISCO ÁLVARO GONZÁLEZ - LENGUAJE DE MARCAS Y SGI
[Link]
<script type="text/javascript">
var alumno = prompt("Soy Castón, identifiquese: ");
alert("Puede ir en paz, " + alumno);
</script>
<script src="js/[Link]"></script>
<link href="js/[Link]" type="text/javascript"/>
<button onclick="javascript:alert('Boton');" >ACCIÓN</button>
ILERNA JEREZ – CURSO 2024-2025 – PRIMERO- FRANCISCO ÁLVARO GONZÁLEZ - LENGUAJE DE MARCAS Y SGI
[Link]
<script type="text/javascript">
var alumno = prompt("Soy Castón, identifiquese: ");
alert("Puede ir en paz, " + alumno);
</script>
<script src="js/[Link]"></script>
<link href="js/[Link]" type="text/javascript"/>
<button onclick="javascript:alert('Boton');" >ACCIÓN</button>
ILERNA JEREZ – CURSO 2024-2025 – PRIMERO- FRANCISCO ÁLVARO GONZÁLEZ - LENGUAJE DE MARCAS Y SGI
[Link]
ILERNA JEREZ – CURSO 2024-2025 – PRIMERO- FRANCISCO ÁLVARO GONZÁLEZ - LENGUAJE DE MARCAS Y SGI
[Link]
7. Estructuras de datos
//Funcionamiento de pila
var lista = [1,2,3,4]
var ultimo = [Link]()
[Link](15)
[Link](lista)
ILERNA JEREZ – CURSO 2024-2025 – PRIMERO- FRANCISCO ÁLVARO GONZÁLEZ - LENGUAJE DE MARCAS Y SGI
[Link]
7. Estructuras de datos
//Funcionamiento de pila
var lista = [1,2,3,23]
var ultimaLista = [Link]()
[Link](34)
[Link](lista)
ILERNA JEREZ – CURSO 2024-2025 – PRIMERO- FRANCISCO ÁLVARO GONZÁLEZ - LENGUAJE DE MARCAS Y SGI
[Link]
7. Estructuras de datos
Funcionamiento de cola
//Funcionamiento de cola
var cola = [1,2,3,50]
var ultimaCola = [Link]()
[Link](99)
[Link](cola)
ILERNA JEREZ – CURSO 2024-2025 – PRIMERO- FRANCISCO ÁLVARO GONZÁLEZ - LENGUAJE DE MARCAS Y SGI
[Link]
9. Funciones
function autor(){
let autor=“Juan Belmonte”;
[Link](autor);
}
ILERNA JEREZ – CURSO 2024-2025 – PRIMERO- FRANCISCO ÁLVARO GONZÁLEZ - LENGUAJE DE MARCAS Y SGI
[Link]
9. Funciones
function autor(){
let autor=“Juan Belmonte”;
[Link](autor);
return autor;
}
ILERNA JEREZ – CURSO 2024-2025 – PRIMERO- FRANCISCO ÁLVARO GONZÁLEZ - LENGUAJE DE MARCAS Y SGI
[Link]
9. Funciones
function autor(nombre=“Juan”,apellidos=“Belmonte”){
[Link](“El autor se llama “+ nombre + “ “ +apellidos);
return autor;
}
[Link](autor());
[Link](autor(“Perico”,”Delgado”));
ILERNA JEREZ – CURSO 2024-2025 – PRIMERO- FRANCISCO ÁLVARO GONZÁLEZ - LENGUAJE DE MARCAS Y SGI
[Link]
9. Funciones
function geoObjet(obj){
[Link](obj.x,[Link].z)
}
geoObjet({x:21.4,y:34.7,z:99.0})
ILERNA JEREZ – CURSO 2024-2025 – PRIMERO- FRANCISCO ÁLVARO GONZÁLEZ - LENGUAJE DE MARCAS Y SGI
[Link]
9. Funciones
function geoObjectFor(obj){
for(let e in obj){
[Link](obj[e])
}
}
geoObjectFor({x:21.4,y:34.7,z:99.0,alpha:85.8})
ILERNA JEREZ – CURSO 2024-2025 – PRIMERO- FRANCISCO ÁLVARO GONZÁLEZ - LENGUAJE DE MARCAS Y SGI
[Link]
10. Clases
class Persona {
constructor(nombre, edad) {
[Link] = nombre;
[Link] = edad;
}
// Método de la clase
saludar() {
[Link](`Hola, me llamo ${[Link]} y tengo ${[Link]} años.`);
}
}
ILERNA JEREZ – CURSO 2024-2025 – PRIMERO- FRANCISCO ÁLVARO GONZÁLEZ - LENGUAJE DE MARCAS Y SGI
[Link]
10. Clases
ILERNA JEREZ – CURSO 2024-2025 – PRIMERO- FRANCISCO ÁLVARO GONZÁLEZ - LENGUAJE DE MARCAS Y SGI
[Link]
11. Objetos
ILERNA JEREZ – CURSO 2024-2025 – PRIMERO- FRANCISCO ÁLVARO GONZÁLEZ - LENGUAJE DE MARCAS Y SGI
[Link]
•Manipular el DOM.
•Manejar eventos.
•Trabajar con gráficos, audio y video.
•Realizar solicitudes de red (AJAX o Fetch).
•Almacenar datos localmente en el navegador.
•Acceder a sensores del dispositivo (como la geolocalización).
ILERNA JEREZ – CURSO 2024-2025 – PRIMERO- FRANCISCO ÁLVARO GONZÁLEZ - LENGUAJE DE MARCAS Y SGI
[Link]
ILERNA JEREZ – CURSO 2024-2025 – PRIMERO- FRANCISCO ÁLVARO GONZÁLEZ - LENGUAJE DE MARCAS Y SGI
[Link]
ILERNA JEREZ – CURSO 2024-2025 – PRIMERO- FRANCISCO ÁLVARO GONZÁLEZ - LENGUAJE DE MARCAS Y SGI
[Link]
ILERNA JEREZ – CURSO 2024-2025 – PRIMERO- FRANCISCO ÁLVARO GONZÁLEZ - LENGUAJE DE MARCAS Y SGI
[Link]
[Link](“Hola”); //Saca por consola un texto formado por cadena de caracteres y/o variables.
[Link](“Peligro!!”); //Muestra un mensaje en una ventana emergente
[Link](); //Imprime la página web
[Link](0,100 ); //Dos argumentos, eje x y ejeY. Provoca un desplazamiento a un punto de la web
Ejemplo de alert()
ILERNA JEREZ – CURSO 2024-2025 – PRIMERO- FRANCISCO ÁLVARO GONZÁLEZ - LENGUAJE DE MARCAS Y SGI
[Link]
ILERNA JEREZ – CURSO 2024-2025 – PRIMERO- FRANCISCO ÁLVARO GONZÁLEZ - LENGUAJE DE MARCAS Y SGI
[Link]
ILERNA JEREZ – CURSO 2024-2025 – PRIMERO- FRANCISCO ÁLVARO GONZÁLEZ - LENGUAJE DE MARCAS Y SGI
[Link]
ILERNA JEREZ – CURSO 2024-2025 – PRIMERO- FRANCISCO ÁLVARO GONZÁLEZ - LENGUAJE DE MARCAS Y SGI
[Link]
Tipos de nodos:
ILERNA JEREZ – CURSO 2024-2025 – PRIMERO- FRANCISCO ÁLVARO GONZÁLEZ - LENGUAJE DE MARCAS Y SGI
[Link]
ILERNA JEREZ – CURSO 2024-2025 – PRIMERO- FRANCISCO ÁLVARO GONZÁLEZ - LENGUAJE DE MARCAS Y SGI
[Link]
ILERNA JEREZ – CURSO 2024-2025 – PRIMERO- FRANCISCO ÁLVARO GONZÁLEZ - LENGUAJE DE MARCAS Y SGI
[Link]
ILERNA JEREZ – CURSO 2024-2025 – PRIMERO- FRANCISCO ÁLVARO GONZÁLEZ - LENGUAJE DE MARCAS Y SGI
[Link]
fetch(url, options)
.then(response => [Link]()) // Convierte la respuesta en JSON (si es aplicable)
.then(data => [Link](data)) // Maneja los datos de la respuesta
.catch(error => [Link]('Error:', error)); // Maneja errores
ILERNA JEREZ – CURSO 2024-2025 – PRIMERO- FRANCISCO ÁLVARO GONZÁLEZ - LENGUAJE DE MARCAS Y SGI
[Link]
Parámetros de fetch:
• url: La URL a la que se hace la solicitud. Puede ser una API pública o un archivo en el
servidor.
• options: (opcional) Un objeto que especifica las configuraciones de la solicitud, como
el método HTTP (GET, POST, PUT, DELETE), los encabezados, los parámetros, etc.
Respuesta de fetch:
• El objeto response es devuelto como una promesa. Debes usar el método .json() para
convertirlo en un formato más usable, como un objeto JavaScript, si es un JSON.
• También puedes usar .text() si la respuesta es texto plano o .blob() para manejar
archivos binarios.
ILERNA JEREZ – CURSO 2024-2025 – PRIMERO- FRANCISCO ÁLVARO GONZÁLEZ - LENGUAJE DE MARCAS Y SGI
[Link]
Parámetros de fetch:
• url: La URL a la que se hace la solicitud. Puede ser una API pública o un archivo en el
servidor.
• options: (opcional) Un objeto que especifica las configuraciones de la solicitud, como
el método HTTP (GET, POST, PUT, DELETE), los encabezados, los parámetros, etc.
Respuesta de fetch:
• El objeto response es devuelto como una promesa. Debes usar el método .json() para
convertirlo en un formato más usable, como un objeto JavaScript, si es un JSON.
• También puedes usar .text() si la respuesta es texto plano o .blob() para manejar
archivos binarios.
ILERNA JEREZ – CURSO 2024-2025 – PRIMERO- FRANCISCO ÁLVARO GONZÁLEZ - LENGUAJE DE MARCAS Y SGI
[Link]
ILERNA JEREZ – CURSO 2024-2025 – PRIMERO- FRANCISCO ÁLVARO GONZÁLEZ - LENGUAJE DE MARCAS Y SGI
[Link]
ILERNA JEREZ – CURSO 2024-2025 – PRIMERO- FRANCISCO ÁLVARO GONZÁLEZ - LENGUAJE DE MARCAS Y SGI
[Link]
• En el url se incluyen los parámetros necesarios como el nombre de la ciudad y la clave API.
ILERNA JEREZ – CURSO 2024-2025 – PRIMERO- FRANCISCO ÁLVARO GONZÁLEZ - LENGUAJE DE MARCAS Y SGI
[Link]
Manejo de Errores:
ILERNA JEREZ – CURSO 2024-2025 – PRIMERO- FRANCISCO ÁLVARO GONZÁLEZ - LENGUAJE DE MARCAS Y SGI
[Link]
Consideraciones importantes
Claves API:
ILERNA JEREZ – CURSO 2024-2025 – PRIMERO- FRANCISCO ÁLVARO GONZÁLEZ - LENGUAJE DE MARCAS Y SGI
[Link]
14. JSON
JSON es un subconjunto del objeto de JavaScript, lo que significa que tiene una
estructura similar a los objetos de JavaScript, pero con reglas específicas de sintaxis
que lo hacen independiente de cualquier lenguaje de programación.
ILERNA JEREZ – CURSO 2024-2025 – PRIMERO- FRANCISCO ÁLVARO GONZÁLEZ - LENGUAJE DE MARCAS Y SGI
[Link]
14. JSON
ILERNA JEREZ – CURSO 2024-2025 – PRIMERO- FRANCISCO ÁLVARO GONZÁLEZ - LENGUAJE DE MARCAS Y SGI
[Link]
14. JSON
{
"nombre": "Juan",
"edad": 30,
"activo": true
}
ILERNA JEREZ – CURSO 2024-2025 – PRIMERO- FRANCISCO ÁLVARO GONZÁLEZ - LENGUAJE DE MARCAS Y SGI
[Link]
14. JSON
{
"nombre": "Ana",
"edad": 25,
"amigos": ["Luis", "Carlos", "María"]
}
ILERNA JEREZ – CURSO 2024-2025 – PRIMERO- FRANCISCO ÁLVARO GONZÁLEZ - LENGUAJE DE MARCAS Y SGI
[Link]
14. JSON
{
"usuario": {
"nombre": "Pedro",
"correo": "pedro@[Link]"
},
"activo": true}
ILERNA JEREZ – CURSO 2024-2025 – PRIMERO- FRANCISCO ÁLVARO GONZÁLEZ - LENGUAJE DE MARCAS Y SGI
[Link]
14. JSON
[
{
"nombre": "Carlos", "edad": 28
},
{
"nombre": "Marta", "edad": 22
}
]
ILERNA JEREZ – CURSO 2024-2025 – PRIMERO- FRANCISCO ÁLVARO GONZÁLEZ - LENGUAJE DE MARCAS Y SGI
[Link]
14. JSON
ILERNA JEREZ – CURSO 2024-2025 – PRIMERO- FRANCISCO ÁLVARO GONZÁLEZ - LENGUAJE DE MARCAS Y SGI
[Link]
14. JSON
Ejemplo:
[Link](personaJSON); // {"nombre":"Juan","edad":30}
ILERNA JEREZ – CURSO 2024-2025 – PRIMERO- FRANCISCO ÁLVARO GONZÁLEZ - LENGUAJE DE MARCAS Y SGI
[Link]
14. JSON
Resumen de JSON
ILERNA JEREZ – CURSO 2024-2025 – PRIMERO- FRANCISCO ÁLVARO GONZÁLEZ - LENGUAJE DE MARCAS Y SGI