diff --git a/Basic/03-beginner-exercises.js b/Basic/03-beginner-exercises.js index 7cb75f99..0e0f90e8 100644 --- a/Basic/03-beginner-exercises.js +++ b/Basic/03-beginner-exercises.js @@ -5,21 +5,102 @@ https://www.youtube.com/live/euVbF1eatEY?si=nHS3QznAlA_C39NK&t=808 */ // 1. Escribe un comentario en una línea +//Esto es un comentario en una sola línea. // 2. Escribe un comentario en varias líneas +/*Esto es un +comentario en +varias lineas*/ // 3. Declara variables con valores asociados a todos los datos de tipo primitivos - // 4. Imprime por consola el valor de todas las variables +let myString = "Esto es una string"; +console.log(myString); + +let myNumber = 9; +console.log(myNumber); + +let myBoolean = true; +let myOtherBoolean = false; +console.log(myBoolean); +console.log(myOtherBoolean); + +let myUndef +console.log(myUndef); + +let myNull = null; +console.log(myNull); + +let mySymbol = Symbol ("misimbolo"); +console.log(mySymbol); + +let myBigInt= BigInt (7347347893724987328947387489); +let myBigInt2 = 457475757295720579724357257n; +console.log(myBigInt); +console.log(myBigInt2); + // 5. Imprime por consola el tipo de todas las variables +console.log(typeof myString); +console.log(typeof myNumber); +console.log(typeof myBoolean); +console.log(typeof myOtherBoolean); +console.log(typeof myUndef); +console.log(typeof myNull); +console.log(typeof mySymbol); +console.log(typeof myBigInt); +console.log(typeof myBigInt2); + // 6. A continuación, modifica los valores de las variables por otros del mismo tipo +myString = "Mi nombre es Maria" +console.log(myString); + +myNumber = 33; +console.log(myNumber); + +myBoolean = false; +myOtherBoolean = true; +console.log(myBoolean); +console.log(myOtherBoolean); + +mySymbol = ("He cambiado el valor de mySymbol"); +console.log(mySymbol); // 7. A continuación, modifica los valores de las variables por otros de distinto tipo +myString = 90; +console.log(myString); + +myNumber = "Ya no soy un número"; +console.log(myNumber); + +myBoolean = "Ahora soy string"; +console.log(myBoolean); + // 8. Declara constantes con valores asociados a todos los tipos de datos primitivos +const constanteString = "Soy una string constante"; +console.log(constanteString); + +const constanteNumber = 123; +console.log(constanteNumber); + +const constanteBool = true; +const constanteBool2 = false; +console.log(constanteBool); +console.log(constanteBool2); + +/*const constanteUndef*/ +console.log(constanteUndef) //Una constante no se puede dejar sin inicializar. + +const constantenNull = null; +console.log(constantenNull); // 9. A continuación, modifica los valores de las constantes -// 10. Comenta las líneas que produzcan algún tipo de error al ejecutarse \ No newline at end of file +<<<<<<< HEAD +// 10. Comenta las líneas que produzcan algún tipo de error al ejecutarser +// Las constantes no pueden cambiar de valor una vez se han inicializado. +======= +// 10. Comenta las líneas que produzcan algún tipo de error al ejecutarse +>>>>>>> af1c97bc2ac92b5c42ce9a29a8ebd234e226ee90 diff --git a/Basic/05-operators-exercises.js b/Basic/05-operators-exercises.js index 83ca2884..dc3585b9 100644 --- a/Basic/05-operators-exercises.js +++ b/Basic/05-operators-exercises.js @@ -5,22 +5,91 @@ https://www.youtube.com/live/euVbF1eatEY?si=nHS3QznAlA_C39NK&t=808 */ // 1. Crea una variable para cada operación aritmética +let a = 7; +let b =3; + +let mySuma = a + b; +console.log(mySuma); + +let myResta = a - b; +console.log(myResta); + +let myMulti = a * b; +console.log(myMulti); + +let myDiv = a / b; +console.log(myDiv); + +let myModulo = a % b; +console.log(myModulo); + +let myExpo = a ** b; +console.log(myExpo); // 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 +mySuma += 2; +console.log(mySuma); + +myResta -= 1; +console.log(myResta); + +myMulti *= 2; +console.log(myMulti); + +myDiv /= 3; +console.log(myDiv); + +myModulo %= 3; +console.log(myModulo); + +myExpo **= 3; +console.log(myExpo); // 3. Imprime 5 comparaciones verdades con diferentes operadores de comparación +let c = 30; +let d = 40; +console.log(c < d); +console.log(d > c); +console.log(c != d); +console.log(c <= d); +console.log(d >= c); // 4. Imprime 5 comparaciones falsas con diferentes operadores de comparación +console.log(c > d); +console.log(d < c); +console.log(c == d); +console.log(c >= d); +console.log(d <= c); // 5. Utiliza el operador lógico and +console.log(2 > 1 && 3 > 2); +console.log(4 > 2 && 6 > 9); // 6. Utiliza el operador lógico or +console.log(13 < 10 || 4 < 10); +console.log(2 < 1 || 4 < 2); // 7. Combina ambos operadores lógicos +console.log(5 > 2 && 3 < 5 || 6 > 12 && 12 < 10) // 8. Añade alguna negación +console.log(c != d); // 9. Utiliza el operador ternario +const isSunny = true; +isSunny ? console.log("I'm happy") : console.log("I'm sad"); + + +// 10. Combina operadores aritméticos, de comparáción y lógicas +let myVar = 34; +let myVar2 = 16; + +let resultado = myVar + myVar2; +console.log(resultado); + +resultado -= 20; +console.log(resultado); -// 10. Combina operadores aritméticos, de comparáción y lógicas \ No newline at end of file +console.log(resultado > 70); +console.log(resultado < 70 && 50 < 100); diff --git a/Basic/07-strings-exercises.js b/Basic/07-strings-exercises.js index 8898496e..50267721 100644 --- a/Basic/07-strings-exercises.js +++ b/Basic/07-strings-exercises.js @@ -5,21 +5,46 @@ https://www.youtube.com/live/euVbF1eatEY?si=nHS3QznAlA_C39NK&t=808 */ // 1. Concatena dos cadenas de texto +let myString = "Holi"; +let myString2 = " me llamo Maria"; +let resultado = myString + myString2; +console.log(resultado); + // 2. Muestra la longitud de una cadena de texto +let cadenaLong = "Quiero saber cómo de larga es mi cadena"; +console.log(cadenaLong.length); // 3. Muestra el primer y último carácter de un string +console.log(cadenaLong[0]) +console.log(cadenaLong[cadenaLong.length -1]); // 4. Convierte a mayúsculas y minúsculas un string +console.log(cadenaLong.toUpperCase()); +console.log(cadenaLong.toLocaleLowerCase()); + // 5. Crea una cadena de texto en varias líneas +let saludo = `Si quiero +mi cadena en varias +lineas, tengo que +usar backticks`; +console.log(saludo); // 6. Interpola el valor de una variable en un string +let cadena = "Esta es mi cadena de "; +console.log(`${cadena}texto`) // 7. Reemplaza todos los espacios en blanco de un string por guiones +console.log(cadenaLong.replace(/ /g, "-")) // 8. Comprueba si una cadena de texto contiene una palabra concreta +console.log(cadenaLong.includes("larga")); // 9. Comprueba si dos strings son iguales +console.log(cadenaLong === cadena); -// 10. Comprueba si dos strings tienen la misma longitud \ No newline at end of file +// 10. Comprueba si dos strings tienen la misma longitud +let x = "hola" +let y ="mola" +console.log(x.length == y.length); \ No newline at end of file diff --git a/Basic/09-conditionals-exercises.js b/Basic/09-conditionals-exercises.js index 11e5b696..25f3d7a7 100644 --- a/Basic/09-conditionals-exercises.js +++ b/Basic/09-conditionals-exercises.js @@ -7,24 +7,136 @@ https://www.youtube.com/live/XCNjoIoO3Ws?si=3XCjdZ9r41JID-by&t=978 // if/else/else if/ternaria // 1. Imprime por consola tu nombre si una variable toma su valor - +let nombre = "Maria" +if (nombre == "Maria") { + console.log(`Mi nombre es ${nombre}`) +} // 2. Imprime por consola un mensaje si el usuario y contraseña concide con unos establecidos +let user = "eme" +let pass = 1234 +if(user =="eme" && pass == 1234) { + console.log("Bienvenida eme!") +} // 3. Verifica si un número es positivo, negativo o cero e imprime un mensaje +let num=-16 +if(num = 0){ + console.log("Es cero") +}else if (num > 0) { + console.log("Es positivo") +} else { + console.log("Es negativo") +} // 4. Verifica si una persona puede votar o no (mayor o igual a 18) e indica cuántos años le faltan +let edad = 15 +if (edad >= 18) { + console.log("Puede votar") +} else { + console.log(`Es menor de edad. Le faltan ${18 - edad} años para poder votar.`) +} // 5. Usa el operador ternario para asignar el valor "adulto" o "menor" a una variable // dependiendo de la edad +const adultoMenor = edad == 18 ? "Adulto" : "Menor" +console.log(adultoMenor) // 6. Muestra en que estación del año nos encontramos dependiendo del valor de una variable "mes" +let mes = "Mayo" +if (mes === "Enero" || mes === "Febrero" || mes === "Marzo") { + console.log("Invierno") +} else if (mes === "Abril" || mes === "Mayo" || mes === "Junio") { + console.log("Primavera") +} else if (mes === "Julio" || mes === "Agosto" || mes === "Septiembre") { + console.log("Verano") +} else { + console.log("Otoño") +} + +/*let mes = "Mayo" +let estacion + +switch (mes) { + case "Enero": + case "Febrero": + case "Marzo": + estacion = "Invierno"; + break; + case "Abril": + case "Mayo": + case "Junio": + estacion = "Primavera"; + break; + case "Julio": + case "Agosto": + case "Septiembre": + estacion = "Verano"; + break; + case "Octubre": + case "Noviembre": + case "Diciembre": + estacion = "Otoño"; + break; + default: + estacion = "Estación incorrecta"; +} +console.log(estacion)*/ // 7. Muestra el número de días que tiene un mes dependiendo de la variable del ejercicio anterior +let dias +if(mes === "Enero" || mes === "Marzo" || mes === "Mayo" || mes === "Julio" || mes === "Agosto" || mes === "Octubre" || mes === "Diciembre") { + dias = 31 +} else if (mes === "Abril" || mes === "Junio" || mes === "Septiembre" || mes === "Noviembre") { + dias = 30 +} else if (mes === "Febrero") { + dias = 28 +} else { + console.log("Mes incorrecto") +} +console.log(dias) + -// switch // 8. Usa un switch para imprimir un mensaje de saludo diferente dependiendo del idioma +let idioma = "eaa" +let saludo +switch (idioma) { + case "español": + saludo = "Hola" + break + case "ingles": + saludo = "Hello" + break + case "catalan": + saludo = "Bon dia" + break + default: + saludo = "Mi no entender" +} +console.log(saludo) // 9. Usa un switch para hacer de nuevo el ejercicio 6 -// 10. Usa un switch para hacer de nuevo el ejercicio 7 \ No newline at end of file +// 10. Usa un switch para hacer de nuevo el ejercicio 7 +switch (mes) { + case "Enero": + case "Mayo": + case "Marzo": + case "Julio": + case "Agosto": + case "Diciembre": + dias = 31; + break; + case "Abril": + case "Septiembre": + case "Junio": + case "Noviembre": + dias = 30; + break; + case "Febrero": + dias = 28; + break; + default: + estacion = "Mes incorrecto"; +} +console.log(dias) \ No newline at end of file diff --git a/Basic/10-array.js b/Basic/10-array.js index 1eac03ae..7ee5a29f 100644 --- a/Basic/10-array.js +++ b/Basic/10-array.js @@ -55,7 +55,7 @@ myArray = [] // push y pop -myArray.push("Brais") +myArray.push("Brais") //Añade al final myArray.push("Moure") myArray.push("mouredev") myArray.push(37) @@ -69,10 +69,10 @@ console.log(myArray) // shift y unshift -console.log(myArray.shift()) +console.log(myArray.shift()) //Elimina el primer elemento console.log(myArray) -myArray.unshift("Brais", "mouredev") +myArray.unshift("Brais", "mouredev") //Añade al principio console.log(myArray) // length diff --git a/Basic/13-structures-exercises.js b/Basic/13-structures-exercises.js index bdeb6d1c..1d724562 100644 --- a/Basic/13-structures-exercises.js +++ b/Basic/13-structures-exercises.js @@ -5,21 +5,53 @@ https://www.youtube.com/live/xg1GeHKiNzU?si=oiWHK8bDTZ1c98hF&t=885 */ // 1. Crea un array que almacene cinco animales +let myArray = ["perro", "gato", "zebra", "jirafa", "saltamontes"] // 2. Añade dos más. Uno al principio y otro al final +myArray.push("colibrí") //Añade al final +myArray.unshift("delfín") //Añade al principio +console.log(myArray) // 3. Elimina el que se encuentra en tercera posición +myArray.splice(2, 1) +console.log(myArray) // 4. Crea un set que almacene cinco libros +let mySet = new Set( + ["El hobbit", "El señor de los anillos", "Harry Potter", "Diseño desde Marte", "El bebé es un mamífero"] +) +console.log(mySet) // 5. Añade dos más. Uno de ellos repetido +mySet.add("Pipi Calzaslargas") +mySet.add("El hobbit") +console.log(mySet) // 6. Elimina uno concreto a tu elección +mySet.delete("El hobbit") +console.log(mySet) // 7. Crea un mapa que asocie el número del mes a su nombre +let myMap = new Map([ + [1, "Enero"], + [2, "Febrero"], + [3, "Marzo"], + [4, "Abril"], + [5, "Mayo"] +]) +console.log(myMap) // 8. Comprueba si el mes número 5 existe en el map e imprime su valor +console.log(myMap.get(5)) // 9. Añade al mapa una clave con un array que almacene los meses de verano +myMap.set("verano", ["Junio", "Julio", "Agosto"]) +console.log(myMap) -// 10. Crea un Array, transfórmalo a un Set y almacénalo en un Map \ No newline at end of file +// 10. Crea un Array, transfórmalo a un Set y almacénalo en un Map +let fruits = ["pera", "manzana", "melón", "sandía"] +let secondSet = new Set (fruits) +console.log(secondSet) + +let secondMap = new Map([[secondSet]]); +console.log(secondMap) diff --git a/Basic/15-loops-exercises.js b/Basic/15-loops-exercises.js index 1a6a1e8d..d5ce97a6 100644 --- a/Basic/15-loops-exercises.js +++ b/Basic/15-loops-exercises.js @@ -7,16 +7,96 @@ https://www.youtube.com/live/xg1GeHKiNzU?si=oiWHK8bDTZ1c98hF&t=885 // NOTA: Explora diferentes sintaxis de bucles para resolver los ejercicios // 1. Crea un bucle que imprima los números del 1 al 20 +for (let i = 1; i <= 20; i++) { + console.log(i) +} + +let i = 1 +while (i <= 20) { + console.log(i) + i++ +} + +i = 1 +do { + console.log(i) + i++ +} while(i <= 20) + // 2. Crea un bucle que sume todos los números del 1 al 100 y muestre el resultado +let resultado = 0 +for(let i = 0; i <= 100; i++) { + resultado += i; +} +console.log(resultado) + +let a = 0 +let suma = 0 +while (a <= 100) { + suma += a + a++ +} +console.log(suma) + +let b= 0 +let operacion = 0 + +do { + operacion += b + b++ +} while(b <=100) + console.log(operacion) // 3. Crea un bucle que imprima todos los números pares entre 1 y 50 +for (let i = 1; i <=50; i++) { + if(i % 2 == 0) { + console.log(i) + } +} + +let c = 0 +while (c <= 50) { + if(c % 2 == 0) { + console.log(c) + } + c++ +} // 4. Dado un array de nombres, usa un bucle para imprimir cada nombre en la consola +let myArray = ["pepito", "juanito", "marisa", "pepita"] +for(let i = 0; i < myArray.length; i++) { + console.log(myArray[i]) +} +let x = 0 +while (x < myArray.length) { + console.log(myArray[x]) + x++ +} + +for (let name of myArray) { + console.log(name) +} // 5. Escribe un bucle que cuente el número de vocales en una cadena de texto +let myString = "Hola que ase" +let vocales= "aeiouAEIOU" +let sumaVocal = 0 +for(let i = 0; i < myString.length; i++) { + if(vocales.includes(myString[i])) { + sumaVocal++ + } +} +console.log(sumaVocal) // 6. Dado un array de números, usa un bucle para multiplicar todos los números y mostrar el producto +let myNumber = [1, 2, 3, 4, 5] +let multiplicacion = 1 +for(let number of myNumber) { + multiplicacion *= number[i] + console.log(multiplicacion) +} + // 7. Escribe un bucle que imprima la tabla de multiplicar del 5 diff --git a/Basic/17-functions-exercises.js b/Basic/17-functions-exercises.js index 4237cf00..a0558825 100644 --- a/Basic/17-functions-exercises.js +++ b/Basic/17-functions-exercises.js @@ -7,8 +7,17 @@ https://www.youtube.com/live/xg1GeHKiNzU?si=oiWHK8bDTZ1c98hF&t=885 // NOTA: Explora diferentes sintaxis de funciones para resolver los ejercicios // 1. Crea una función que reciba dos números y devuelva su suma +function suma (a, b) { + return a + b +} +console.log(suma(8,3)) // 2. Crea una función que reciba un array de números y devuelva el mayor de ellos +let myArray = [12,43, 3, 56, 778] +function numeroMayor (array) { + return Math.max(array) +} +console.log(numeroMayor(myArray)) // 3. Crea una función que reciba un string y devuelva el número de vocales que contiene diff --git a/Basic/19-objects-exercises.js b/Basic/19-objects-exercises.js index 2eee943d..a886e96b 100644 --- a/Basic/19-objects-exercises.js +++ b/Basic/19-objects-exercises.js @@ -5,21 +5,52 @@ https://www.youtube.com/live/SBXEpAx_y_Q?si=Sbqqa2-_eGwsUkH-&t=958 */ // 1. Crea un objeto con 3 propiedades +let persona = { + name: "Maria", + age : 33, + mail: "emedevelopa@gmail.com" +} // 2. Accede y muestra su valor +console.log(persona.name) +console.log(persona.age) // 3. Agrega una nueva propiedad +persona.food = "Huevos con patatas" +console.log(persona) // 4. Elimina una de las 3 primeras propiedades +delete persona.age +console.log(persona) // 5. Agrega una función e invócala +persona.suma = function (a ,b) { + return a + b +} +console.log(`María sabe sumar 1 + 2 y le da ${persona.suma (1, 2)}`) // 6. Itera las propiedades del objeto +for (let propiedad in persona){ + console.log(`${propiedad}: ${persona[propiedad]}`) +} // 7. Crea un objeto anidado +let persona1 = { + color:"blue", + shape:"circle", + datos: { + name: "Maria", + mail: "emedevelopa@gmail.com" + } +} // 8. Accede y muestra el valor de las propiedades anidadas +console.log(persona1) + // 9. Comprueba si los dos objetos creados son iguales +console.log(persona === persona1) +console.log(persona.name == persona1.datos.name) + // 10. Comprueba si dos propiedades diferentes son iguales \ No newline at end of file diff --git a/Basic/21-destructuring-spreading-exercises.js b/Basic/21-destructuring-spreading-exercises.js index 2032d839..dbb33408 100644 --- a/Basic/21-destructuring-spreading-exercises.js +++ b/Basic/21-destructuring-spreading-exercises.js @@ -5,22 +5,89 @@ https://www.youtube.com/live/SBXEpAx_y_Q?si=Sbqqa2-_eGwsUkH-&t=958 */ // 1. Usa desestructuración para extraer los dos primeros elementos de un array +let myArray = [1, 2, 3, 4] +let[myValue0, myValue1] = myArray +console.log(myValue0) +console.log(myValue1) + // 2. Usa desestructuración en un array y asigna un valor predeterminado a una variable +let [myValue2, myValue3, myValue4, myValue5, myValue6 = 0] = myArray +console.log(myValue2) +console.log(myValue3) +console.log(myValue4) +console.log(myValue5) +console.log(myValue6) // 3. Usa desestructuración para extraer dos propiedades de un objeto +let person = { + nombre: "Maria", + age:33, + email:"emedevelopa@gmail.com" +} + +let {email, age} = person +console.log(email) +console.log(age) + // 4. Usa desestructuración para extraer dos propiedades de un objeto y asígnalas // a nuevas variables con nombres diferentes +let{email:correo, age:edad} = person +console.log(correo) +console.log(edad) + // 5. Usa desestructuración para extraer dos propiedades de un objeto anidado +let person1 = { + nombre:"Juanito", + edad: 22, + colores: { + primero:"azul", + segundo:"amarillo", + tercero:"gris" + } +} +let {colores: {primero: favorito, segundo: secundario}} = person1 +console.log(favorito) +console.log(secundario) // 6. Usa propagación para combinar dos arrays en uno nuevo +let unArray = ["Paris", "Madrid", "Amsterdam"] +let otroArray = ["Playa", "Montaña", "Ciudad"] +let misArrays = [...unArray, ...otroArray] +console.log(misArrays) // 7. Usa propagación para crear una copia de un array +let array1 = [2, 3, 5, 66] +let array2 = [...array1] +console.log(array2) // 8. Usa propagación para combinar dos objetos en uno nuevo +let myPerson = {...person, ...person1} +console.log(myPerson) // 9. Usa propagación para crear una copia de un objeto +let copiaPersona = {...person} +console.log(copiaPersona) + +// 10. Combina desestructuración y propagación +let persona = { + nombre:"Pepe", + años:45, + direccion:"Mallorca", + alias:"Pepito666" +} + +let{nombre, años, ...restoUsuario} = persona +console.log(nombre) +console.log(años) +console.log(restoUsuario) + +let nuevoUsuario = { + ...restoUsuario, + nombre: "Juan", + años: 48 +} -// 10. Combina desestructuración y propagación \ No newline at end of file +console.log(nuevoUsuario) \ No newline at end of file diff --git a/Basic/23-classes-exercises.js b/Basic/23-classes-exercises.js index acc1965f..346591e7 100644 --- a/Basic/23-classes-exercises.js +++ b/Basic/23-classes-exercises.js @@ -5,21 +5,80 @@ https://www.youtube.com/live/8p6SLAIgwZI?si=MS9o7qIhezx9NTQX&t=902 */ // 1. Crea una clase que reciba dos propiedades - // 2. Añade un método a la clase que utilice las propiedades - // 3. Muestra los valores de las propiedades e invoca a la función - // 4. Añade un método estático a la primera clase - // 5. Haz uso del método estático +class Person { + constructor (nombre, edad) { + this.nombre = nombre + this.edad = edad + } + walk() { + console.log(`La persona que se llama ${this.nombre} y que tiene ${this.edad} años, camina.`) + } + static sum (a, b) { + return a + b + } +} +let persona = new Person ("Maria", 33) +console.log(persona) +persona.walk() +console.log(Person.sum(3, 5)) + // 6. Crea una clase que haga uso de herencia -// 7. Crea una clase que haga uso de getters y setters +class Animal { + constructor (nombre) { + this.nombre = nombre + } + sound() { + console.log("El animal emite un sonido genérico") + } + } -// 8. Modifica la clase con getters y setters para que use propiedades privadas +class Dog extends Animal { + sound() { + console.log("Guau") + } + +} +let myDog = new Dog("pipo") +console.log(myDog) +myDog.sound() + + +// 7. Crea una clase que haga uso de getters y setters +// 8. Modifica la clase con getters y setters para que use propiedades privadas // 9. Utiliza los get y set y muestra sus valores -// 10. Sobrescribe un método de una clase que utilice herencia \ No newline at end of file + +class Private { + #color + + constructor(nombre, edad, color) { + this._nombre = nombre + this.edad = edad + this.#color = color + } + get nombre() { + return this._nombre + } + set edad(edad) { + this._edad = edad + } + get color() { + return this.#color + } +} +let clasePrivada = new Private("Maria", 33, "verde") +console.log(clasePrivada.nombre) +console.log(Private.edad = 44) +console.log(clasePrivada) +console.log(clasePrivada.color) + + +// 10. Sobrescribe un método de una clase que utilice herencia +class \ No newline at end of file diff --git a/Basic/25-error-handling-exercises.js b/Basic/25-error-handling-exercises.js index 4c3852b1..2b60b29f 100644 --- a/Basic/25-error-handling-exercises.js +++ b/Basic/25-error-handling-exercises.js @@ -5,8 +5,28 @@ https://www.youtube.com/live/8p6SLAIgwZI?si=MS9o7qIhezx9NTQX&t=902 */ // 1. Captura una excepción utilizando try-catch +let myVar + +try { + console.log(myVar.name) + +}catch (error){ + console.log("Se ha producido un error:", error.message) + +} // 2. Captura una excepción utilizando try-catch y finally +let myVar2 + +try { + console.log(myVar2.name) + +}catch (error){ + console.log("Se ha producido un error:", error.message) + +} finally { + console.log("Fin") +} // 3. Lanza una excepción genérica