forked from mouredev/roadmap-retos-programacion
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request mouredev#4533 from Matiascba27/main
#00 - Javascript
- Loading branch information
Showing
3 changed files
with
267 additions
and
0 deletions.
There are no files selected for viewing
25 changes: 25 additions & 0 deletions
25
Roadmap/00 - SINTAXIS, VARIABLES, TIPOS DE DATOS Y HOLA MUNDO/javascript/Matiascba27.js
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,25 @@ | ||
// link de la documentacion oficial de Javascript https://developer.mozilla.org/es/docs/Web/JavaScript | ||
|
||
// este es un comentario de una sola linea | ||
|
||
/* este | ||
es | ||
un | ||
comentario | ||
de | ||
varias | ||
lineas | ||
*/ | ||
|
||
let nombre = "Matias"; | ||
const apellido = "Nuñez"; | ||
|
||
let string = "Cadena de texto"; // cadena de texto | ||
let numero = 10; // entero | ||
let booleano = true; // booleano | ||
let flotante = 10.5; // flotante | ||
let nulo = null; // nulo | ||
let indefinido; // udefined | ||
|
||
console.log("Hola, Javascript!"); | ||
|
170 changes: 170 additions & 0 deletions
170
Roadmap/01 - OPERADORES Y ESTRUCTURAS DE CONTROL/javascript/Matiascba27.js
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,170 @@ | ||
// Reto numero 1: Operadores | ||
// 1. Operadores aritmeticos | ||
let a = 10; | ||
let b = 5; | ||
console.log(`Suma: ${a} + ${b} = ${a + b}`); | ||
console.log(`Resta: ${a} - ${b} = ${a - b}`); | ||
console.log(`Multiplicacion: ${a} * ${b} = ${a * b}`); | ||
console.log(`Division: ${a} / ${b} = ${a / b}`); | ||
console.log(`Modulo: ${a} % ${b} = ${a % b}`); | ||
console.log(`Exponensiacion: ${a} ** ${b} = ${a ** b}`); | ||
console.log(`Incremento: ${a}++ = ${++a}`); | ||
console.log(`Decremento: ${b}-- = ${--b}`); | ||
|
||
// 2. Operadores de Asignacion | ||
let c = 10; | ||
c += 2; console.log("+=:", c); | ||
c -= 5; console.log("-=:", c); | ||
c *= 10; console.log("*=:", c); | ||
c /= 4; console.log("/=:", c); | ||
c %= 8; console.log("%=:", c); | ||
c **= 12; console.log("**=:", c); | ||
|
||
// 3. Operadores de Comparacion | ||
console.log("Igual valor: ", 5 == "5"); | ||
console.log("Igual valor y tipo: ", 5 === "5"); | ||
console.log("No igual: ", 5 != "6"); | ||
console.log("No igual valor o tipo: ", 5 !== "5"); | ||
console.log("Mayor que: ", 7 > 3); | ||
console.log("Menor que: ", 3 < 7); | ||
console.log("Mayor o igual: ", 7 >= 7); | ||
console.log("Menor o igual: ", 5 <= 7); | ||
|
||
// 4. Operadores logicos | ||
console.log("AND:", true && false); | ||
console.log("OR:", true || false); | ||
console.log("NOT:", !true); | ||
|
||
// 5. Operadores de cadena | ||
console.log("Concatenacion:", "Hola" + " " + "Mundo"); | ||
|
||
// 6. Opreador condicional (Ternario) | ||
let edad = 20; | ||
let mensaje = (edad >= 18) ? 'Adulto' : 'Menor'; | ||
console.log("Ternario:", mensaje); | ||
|
||
// 7. Operador de tipo | ||
console.log("Tipo de dato: ", typeof 10); | ||
console.log("Tipo de dato: ", typeof "Hola"); | ||
console.log("Tipo de dato: ", typeof true); | ||
console.log("Tipo de dato: ", typeof null); | ||
console.log("Tipo de dato: ", typeof undefined); | ||
console.log("Tipo de dato: ", typeof [1, 2, 3]); | ||
console.log("Tipo de dato: ", typeof function() {}); | ||
console.log("Tipo de dato: ", typeof Symbol('id')); | ||
|
||
// 8. Operador de propagacion (Spread) | ||
let array1 = [1, 2, 3]; | ||
let array2 = [...array1, 4, 5, 6]; | ||
console.log("Spread:", array2); | ||
|
||
// Reto numero 2: Estructuras de control | ||
|
||
// 1. Estructura condicionales | ||
|
||
// if-else | ||
let edad1 = 18; | ||
if (edad >= 18) { | ||
console.log("Eres mayor de edad"); | ||
} else { | ||
console.log("Eres menor de edad"); | ||
} | ||
|
||
// if-else if-else | ||
let nota = 75; | ||
if (nota >= 90) { | ||
console.log("Sobresaliente"); | ||
} else if (nota >= 70) { | ||
console.log("Notable"); | ||
} else if (nota >= 50) { | ||
console.log("Aprobado"); | ||
} else { | ||
console.log("Reprobado"); | ||
} | ||
|
||
// Switch | ||
let dia = "Lunes"; | ||
switch (dia) { | ||
case "Lunes": | ||
console.log("Inicio de semana"); | ||
break; | ||
case "Viernes": | ||
console.log("Fin de semana laboral"); | ||
break; | ||
case "Sabado": | ||
console.log("Fin de semana"); | ||
break; | ||
default: | ||
console.log("Dia entre semana"); | ||
} | ||
|
||
// 2. Estructuras Iterativas | ||
// for | ||
for (let i = 0; i < 10; i++) { | ||
console.log("Iteracion for:", i); | ||
} | ||
|
||
// while | ||
let contador = 0; | ||
while (contador < 10) { | ||
console.log("Iteracion while:", contador); | ||
contador++; | ||
} | ||
|
||
// do while | ||
let contador2 = 0; | ||
do { | ||
console.log("Iteracion do while:", contador2); | ||
contador2++; | ||
} while (contador2 < 10); | ||
|
||
// for...of (Ietarar sobre arreglos) | ||
let frutas = ["Manzana", "Pera", "Naranja"]; | ||
for (let fruta of frutas) { | ||
console.log("Fruta:", fruta); | ||
} | ||
|
||
// for...in (Ietarar sobre objetos) | ||
let persona = { | ||
nombre : "Juan", | ||
edad : 30, | ||
ciudad : "Barcelona" | ||
}; | ||
for (let propiedad in persona) { | ||
console.log(propiedad + ": " + persona[propiedad]); | ||
} | ||
|
||
// 3. Manejo de excepciones | ||
try { | ||
// Código que puede fallar | ||
let resultado = 10 / 0; | ||
console.log("Resultado:", resultado); | ||
|
||
// Forzar un error | ||
throw new Error("Este es un error forzado"); | ||
} catch (error) { | ||
// Capturar y manejar la excepcion | ||
console.log("Se produjo un error:", error.message); | ||
} finally { | ||
// Código que se ejecutara siempre haya error o no | ||
console.log("Esto se ejecuta siempre"); | ||
} | ||
|
||
// DIFICULTAD EXTRA | ||
console.log("------- Dificultad Extra-------- \n"); | ||
|
||
// Solucion 1: Usando un bucle for y condicionales | ||
for (let i = 10; i <= 55; i++) { | ||
if (i % 2 === 0 && i !== 16 && i % 3 !== 0) { | ||
console.log(i); | ||
} | ||
} | ||
|
||
// Solucion 2: Usando un bucle while | ||
let num = 10; | ||
while ( num <= 55) { | ||
if (num % 2 === 0 && num !== 16 && num % 3 !== 0) { | ||
console.log(num); | ||
} | ||
num++; | ||
} |
72 changes: 72 additions & 0 deletions
72
Roadmap/02 - FUNCIONES Y ALCANCE/javascript/Matiascba27.js
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,72 @@ | ||
// Funciones y Alcance | ||
// Funcion sin parametro ni retorno | ||
function saludar() { | ||
console.log("Hola, Javascript!") | ||
} | ||
|
||
saludar(); | ||
|
||
// Funcion con un parametro y sin retorno | ||
function saludarPersona(nombre) { | ||
console.log(`Hola, ${nombre} bienvenido!`); | ||
} | ||
|
||
saludarPersona("Matias"); | ||
|
||
// Funcion con varios parametros y con retorno | ||
function sumar(a, b) { | ||
return a + b; | ||
} | ||
|
||
let resultado = sumar(5, 10); | ||
console.log("El resultado es:", resultado); | ||
|
||
// Uso de una funcion ya creada en el lenguaje | ||
function usarFuncionExistente() { | ||
let numeros = [1, 2, 3, 4, 5]; | ||
console.log(Math.max(...numeros)); | ||
} | ||
|
||
usarFuncionExistente(); | ||
|
||
// Funciones dentro de funciones | ||
function operacionMatematica(a, b) { | ||
function multiplicar(x, y) { | ||
return x * y; | ||
} | ||
return multiplicar(a, b) + 10; | ||
} | ||
|
||
console.log(operacionMatematica(5, 10)); | ||
|
||
// Variable local y global | ||
let variableGlobal = "Soy una variable global"; | ||
|
||
function ejemploVariables() { | ||
let variableLocal = "Soy una variable local"; | ||
console.log(variableLocal); | ||
console.log(variableGlobal); | ||
} | ||
|
||
ejemploVariables(); | ||
|
||
// Dificultad extra | ||
console.log("------------Dificultad extra-----------"); | ||
function fizzBuzz(text1, text2) { | ||
let contador = 0; | ||
for (let i= 1; i <= 100; i++) { | ||
if (i % 3 === 0) { | ||
console.log(text1); | ||
} else if (i % 5 === 0) { | ||
console.log(text2); | ||
} else if (i % 3 === 0 && i % 5 === 0) { | ||
console.log(text1 + text2); | ||
} else { | ||
console.log(i); | ||
contador++; | ||
} | ||
} | ||
return contador; | ||
} | ||
|
||
console.log(fizzBuzz("Fizz", "Buzz")); |