CURSO DE JAVA SCRIPT
CLASE 1 | 10/07/2024 | Introducción, instalación, hola mundo y
variables
// Esto es un comentario simple
/*
Esto es
un comentario
en varias líneas
*/
[Link]("¡Hola, JavaScript!")
[Link]('¡Hola, JavaScript!')
[Link](`¡Hola, JavaScript!`)
// [Link]("¡Hola, JavaScript!")
/*
[Link]("¡Hola, JavaScript!")
[Link]('¡Hola, JavaScript!')
[Link](`¡Hola, JavaScript!`)
*/
[Link]("5")
[Link](5)
[Link](5 + 2)
[Link](5 - 2)
[Link](5 * 2)
[Link](5 / 2)
[Link](5 % 2)
[Link](5 ** 2)
// var
var helloWorld = "¡Hola, JavaScript!"
[Link](helloWorld)
helloWorld = "¡Hola de nuevo, JavaScript!"
[Link](helloWorld)
// let
let helloWorld2 = "¡Hola, JavaScript 2!"
[Link](helloWorld2)
helloWorld2 = "¡Hola de nuevo, JavaScript 2!"
[Link](helloWorld2)
// const
const helloWorld3 = "¡Hola, JavaScript 3!"
[Link](helloWorld3)
// Error
// helloWorld3 = "¡Hola de nuevo, JavaScript 2!"
// [Link](helloWorld3)
CLASE 2 | 10/07/2024 | Tipos de datos, operadores y Strings
// Tipos de datos primitivos
// Cadenas de texto (string)
let myName = "Brais Moure"
let alias = 'MoureDev'
let email = `braismoure@[Link]`
// Números (number)
let age = 37 // Entero
let height = 1.77 // Decimal
// Booleanos (boolean)
let isTeacher = true
let isStudent = false
// Undefined
let undefinedValue
[Link](undefinedValue)
// Null
let nullValue = null
// Symbol
let mySymbol = Symbol("mysymbol")
// BigInt
let myBigInt =
BigInt(817239871289371986589716389471628379612983761289376129)
let myBigInt2 =
817239871289371986589716389471628379612983761289376129n
// Mostramos los tipos de datos
[Link](typeof myName)
[Link](typeof alias)
[Link](typeof email)
[Link](typeof age)
[Link](typeof height)
[Link](typeof isTeacher)
[Link](typeof isStudent)
[Link](typeof undefinedValue)
[Link](typeof nullValue)
[Link](typeof mySymbol)
[Link](typeof myBigInt)
[Link](typeof myBigInt2)
Ejercicios
// 1. Escribe un comentario en una línea
// 2. Escribe un comentario en varias líneas
// 3. Declara variables con valores asociados a todos los datos de tipo
primitivos
// 4. Imprime por consola el valor de todas las variables
// 5. Imprime por consola el tipo de todas las variables
// 6. A continuación, modifica los valores de las variables por otros del
mismo tipo
// 7. A continuación, modifica los valores de las variables por otros de
distinto tipo
// 8. Declara constantes con valores asociados a todos los tipos de datos
primitivos
// 9. A continuación, modifica los valores de las constantes
// 10. Comenta las líneas que produzcan algún tipo de error al ejecutarse
// Operadores Aritméticos
let a = 5
let b = 10
[Link](a + b) // Suma
[Link](a - b) // Resta
[Link](a * b) // Multiplicación
[Link](a / b) // División
[Link](a % b) // Módulo
[Link](a ** b) // Exponente
a++ // Incremento
[Link](a)
b-- // Decremento
[Link](b)
// Operadores de asignacion
let myVariable = 2
[Link](myVariable)
myVariable += 2 // Suma con asignación
[Link](myVariable)
myVariable -= 2 // Resta con asignación
myVariable *= 2 // Multiplicación con asignación
myVariable /= 2 // División con asignación
myVariable %= 2 // Módulo con asignación
myVariable **= 2 // Exponente con asignación
// Operadores de comparación
[Link](a > b) // Mayor que
[Link](a < b) // Menor que
[Link](a >= b) // Mayor o igual que
[Link](a <= b) // Menor o igual que
[Link](a == b) // Igualdad por valor
[Link](a == 6)
[Link](a == "6")
[Link](a == a)
[Link](a === a) // Igualdad por identidad (por tipo y valor) o igualdad
estricta
[Link](a === 6)
[Link](a === "6")
[Link](a != 6) // Desigualdad por valor
[Link](a !== "6") // Desigualdad por identidad (por tipo y valor) o
desigualdad estricta
[Link](0 == false)
[Link](1 == false)
[Link](2 == false)
[Link](0 == "")
[Link](0 == " ")
[Link](0 == '')
[Link](0 == "Hola")
[Link](0 === "")
[Link](undefined == null)
[Link](undefined === null)
/*
Truthy values (valores verdaderos)
- Todos los numeros positivos y negativos menos el cero
- Todas las cadenas de texto menos las vacías
- El boolean true
*/
/*
Falsy values (valores falsos)
- 0
- 0n
- null
- undefined
- NaN (Not a Number)
- El boolean false
- Cadenas de texto vacías
*/
// Operadores lógicos
// and (&&)
[Link](5 > 10 && 15 > 20)
[Link](5 < 10 && 15 < 20)
[Link](5 < 10 && 15 > 20)
[Link](5 > 10 && 15 > 20 && 30 > 40)
// or (||)
[Link](5 > 10 || 15 > 20)
[Link](5 < 10 || 15 < 20)
[Link](5 < 10 || 15 > 20)
[Link](5 > 10 || 15 > 20 || 30 > 40)
[Link](5 > 10 && 15 > 20 || 30 < 40)
// not (!)
[Link](!true)
[Link](!false)
[Link](!(5 > 10 && 15 > 20))
[Link](!(5 > 10 || 15 > 20))
// Operadores ternarios
const isRaining = false
isRaining ? [Link]("Está lloviendo") : [Link]("No está lloviendo")
Ejercicios
// 1. Crea una variable para cada operación aritmética
// 2. Crea una variable para cada tipo de operación de asignación,
// que haga uso de las variables utilizadas para las operaciones
aritméticas
// 3. Imprime 5 comparaciones verdades con diferentes operadores de
comparación
// 4. Imprime 5 comparaciones falsas con diferentes operadores de
comparación
// 5. Utiliza el operador lógico and
// 6. Utiliza el operador lógico or
// 7. Combina ambos operadores lógicos
// 8. Añade alguna negación
// 9. Utiliza el operador ternario
// 10. Combina operadores aritméticos, de comparáción y lógicas
// Strings (cadenas de texto)
// Concatenación
let myName = "Brais"
let greeting = "Hola, " + myName + "!"
[Link](greeting)
[Link](typeof greeting)
// Longitud
[Link]([Link])
// Acceso a caracteres
[Link](greeting[0])
[Link](greeting[11])
// Métodos comunes
[Link]([Link]()) // Mayúsculas
[Link]([Link]()) // Minúsculas
[Link]([Link]("Hola")) // Índice
[Link]([Link]("Brais"))
[Link]([Link]("MoureDev"))
[Link]([Link]("Hola")) // Incluye
[Link]([Link]("Brais"))
[Link]([Link]("MoureDev"))
[Link]([Link](0, 10)) // Sección
[Link]([Link]("Brais", "MoureDev")) // Reemplazo
// Template literals (plantillas literales)
// Strings en varias líneas
let message = `Hola, este
es mi
curso de
JavaScript`
[Link](message)
// Interpolación de valores
let email = "braismoure@[Link]"
[Link](`Hola, ${myName}! Tu email es ${email}.`)
Ejercicios:
// 1. Concatena dos cadenas de texto
// 2. Muestra la longitud de una cadena de texto
// 3. Muestra el primer y último carácter de un string
// 4. Convierte a mayúsculas y minúsculas un string
// 5. Crea una cadena de texto en varias líneas
// 6. Interpola el valor de una variable en un string
// 7. Reemplaza todos los espacios en blanco de un string por guiones
// 8. Comprueba si una cadena de texto contiene una palabra concreta
// 9. Comprueba si dos strings son iguales
// 10. Comprueba si dos strings tienen la misma longitud
CLASE 3 | 10/07/2024 | Condicionales
// if, else if, else
// if (si)
let age = 37
if (age == 37) {
[Link]("La edad es 37")
}
// else (si no)
if (age == 37) {
[Link]("La edad es 37")
} else {
[Link]("La edad no es 37")
}
// else if (si no, si)
if (age == 37) {
[Link]("La edad es 37")
} else if (age < 18) {
[Link]("Es menor de edad")
} else {
[Link]("La edad no es 37 ni es menor de edad")
}
// Operador ternario
const message = age == 37 ? "La edad es 37" : "La edad no es 37"
[Link](message)
Ejercicios:
// if/else/else if/ternaria
// 1. Imprime por consola tu nombre si una variable toma su valor
// 2. Imprime por consola un mensaje si el usuario y contraseña concide con
unos establecidos
// 3. Verifica si un número es positivo, negativo o cero e imprime un mensaje
// 4. Verifica si una persona puede votar o no (mayor o igual a 18) e indica
cuántos años le faltan
// 5. Usa el operador ternario para asignar el valor "adulto" o "menor" a una
variable
// dependiendo de la edad
// 6. Muestra en que estación del año nos encontramos dependiendo del
valor de una variable "mes"
// 7. Muestra el número de días que tiene un mes dependiendo de la
variable del ejercicio anterior