Skip to content

Commit d52645c

Browse files
authored
Merge pull request mouredev#7498 from Kenysdev/00_05.js
#00 - javascript -> #5
2 parents 25d23f8 + 6f0f0e0 commit d52645c

File tree

6 files changed

+867
-0
lines changed
  • Roadmap

6 files changed

+867
-0
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
/*
2+
_____________________________________
3+
https://github.com/kenysdev
4+
2024 - JavaScript
5+
___________________________________________________
6+
00 SINTAXIS, VARIABLES, TIPOS DE DATOS Y HOLA MUNDO
7+
---------------------------------------------------
8+
* - Crea un comentario en el código y coloca la URL del sitio web oficial del
9+
* lenguaje de programación que has seleccionado.
10+
* - Representa las diferentes sintaxis que existen de crear comentarios
11+
* en el lenguaje (en una línea, varias...).
12+
* - Crea una variable (y una constante si el lenguaje lo soporta).
13+
* - Crea variables representando todos los tipos de datos primitivos
14+
* del lenguaje (cadenas de texto, enteros, booleanos...).
15+
* - Imprime por terminal el texto: "¡Hola, [y el nombre de tu lenguaje]!"
16+
*/
17+
18+
// https://www.ecma-international.org/publications-and-standards/standards/ecma-262/
19+
// https://developer.mozilla.org/es/docs/Web/JavaScript
20+
21+
/**
22+
* Documentación
23+
* @param {string} name - Usuario
24+
* @returns {string} Un saludo.
25+
*/
26+
function hello(name) {
27+
return `Hola, ${name}!`;
28+
}
29+
30+
let x = 5 // Variable numérica.
31+
const PI = 3.14159; // una constante.
32+
33+
// Tipos de datos primitivos (https://developer.mozilla.org/es/docs/Web/JavaScript/Data_structures#valores_primitivos).
34+
let isAdult = true; // Tipo Boolean
35+
let emptyValue = null; // Tipo Null
36+
let undefinedVariable; // Tipo Undefined
37+
let price = 9.99; // Tipo Number
38+
let name = "Kenys"; // Tipo String
39+
let hugeNumber = 9007199254740991n; // Tipo BigInt
40+
let sym = Symbol("id"); // Tipo Symbol
41+
42+
console.log(typeof price);
43+
console.log("¡Hola, JavaScript!");
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,186 @@
1+
/*
2+
_____________________________________
3+
https://github.com/kenysdev
4+
2024 - JavaScript
5+
_______________________________________
6+
01 OPERADORES Y ESTRUCTURAS DE CONTROL
7+
---------------------------------------
8+
* - Crea ejemplos utilizando todos los tipos de operadores de tu lenguaje:
9+
* Aritméticos, lógicos, de comparación, asignación, identidad, pertenencia, bits...
10+
* (Ten en cuenta que cada lenguaje puede poseer unos diferentes)
11+
* - Utilizando las operaciones con operadores que tú quieras, crea ejemplos
12+
* que representen todos los tipos de estructuras de control que existan
13+
* en tu lenguaje:
14+
* Condicionales, iterativas, excepciones...
15+
* - Debes hacer print por consola del resultado de todos los ejemplos.
16+
*/
17+
18+
// Tipos de operadores
19+
// https://developer.mozilla.org/es/docs/Learn/Getting_started_with_the_web/JavaScript_basics#operadores
20+
21+
// concatena
22+
let greeting = "Hola " + "mundo!";
23+
console.log(greeting) // "Hola mundo!"
24+
25+
// _______________________
26+
// Operadores aritmeticos:
27+
let sumResult = 6 + 9;
28+
console.log(sumResult); // 15
29+
30+
let subtractResult = 9 - 3;
31+
console.log(subtractResult); // 6
32+
33+
let multiplicationResult = 8 * 2;
34+
console.log(multiplicationResult); // 16
35+
36+
let divisionResult = 9 / 3;
37+
console.log(divisionResult); // 3
38+
39+
let remainder = 20 % 7;
40+
console.log(remainder); // 6
41+
42+
let power = 2 ** 3;
43+
console.log(power); // 8
44+
45+
// _______________________
46+
// Operador de asignación:
47+
let myString = 'Ken';
48+
console.log(myString); // "Bob"
49+
50+
let b = 3;
51+
b += 2; // Aplicable a todos los operadores aritméticos.
52+
console.log(b) // 5
53+
54+
// _______________________
55+
// Operadores de Comparación:
56+
let equal = 5 == 5; // Igual a
57+
console.log(`5 == 5 -> ${equal}`); // true
58+
59+
let notEqual = 5 != 5; // Diferente de
60+
console.log(`5 != 5 -> ${notEqual}`); // false
61+
62+
let lessThan = 4 < 5; // Menor que
63+
console.log(`4 < 5 -> ${lessThan}`); // true
64+
65+
let greaterThan = 4 > 5; // Mayor que
66+
console.log(`4 > 5 -> ${greaterThan}`); // false
67+
68+
let lessThanOrEqual = 4 <= 5; // Menor o igual
69+
console.log(`4 <= 5 -> ${lessThanOrEqual}`); // true
70+
71+
let greaterThanOrEqual = 4 >= 5; // Mayor o igual
72+
console.log(`4 >= 5 -> ${greaterThanOrEqual}`); // false
73+
74+
// Estructuras de control
75+
// _______________________
76+
// condicinal:
77+
// https://developer.mozilla.org/es/docs/Learn/JavaScript/Building_blocks/conditionals
78+
79+
if (5 == 5) { // Aplicable a todos los operadores de Comparación.
80+
console.log("si lo es.");
81+
} else {
82+
console.log("No lo es.");
83+
}
84+
85+
// Con operadores lógicos:
86+
if (5 == 5 && 7 < 10) { // Equivalente a 'and'
87+
console.log("si lo son.");
88+
}
89+
90+
if (5 == 5 || 7 < 10) { // Equivalente a 'or'
91+
console.log("Uno de los dos es 'true'.");
92+
}
93+
94+
if (!(5 == 6)) { // Equivalente a 'not'
95+
console.log("No lo es.");
96+
}
97+
98+
// Declaraciones con switch
99+
let day = 1;
100+
switch (day) {
101+
case 1:
102+
console.log("Lunes");
103+
break;
104+
case 2:
105+
console.log("Martes");
106+
break;
107+
108+
default:
109+
console.log("Día no válido");
110+
}
111+
112+
// Operador Ternario
113+
let age = 17;
114+
let msg = (age >= 18) ? "Eres mayor de edad" : "Eres menor de edad";
115+
console.log(msg);
116+
117+
// _______________________
118+
// Bucles
119+
// https://developer.mozilla.org/es/docs/Learn/JavaScript/Building_blocks/Looping_code
120+
121+
// For Loop
122+
for (let i = 1; i <= 5; i++) {
123+
console.log(i); // 1, 2, 3, 4, 5
124+
}
125+
126+
// For...of Loop
127+
const fruits = ["Apple", "Banana", "Cherry"];
128+
for (const fruit of fruits) {
129+
console.log(fruit); // Apple, Banana, Cherry
130+
}
131+
132+
// Acceder mediante el índice.
133+
const colors = ["Red", "Green", "Blue"];
134+
for (let i = 0; i < colors.length; i++) {
135+
console.log(colors[i]); // Red, Green, Blue
136+
}
137+
138+
// While Loop
139+
let count = 1;
140+
while (count <= 3) {
141+
console.log(count); // 1, 2, 3
142+
count++;
143+
}
144+
145+
// Do...While Loop
146+
let num = 1;
147+
do {
148+
console.log(num); // 1, 2, 3
149+
num++;
150+
} while (num <= 3);
151+
152+
// Break Statement
153+
for (let i = 1; i <= 5; i++) {
154+
if (i === 3) break; // detenerse
155+
console.log(i); // 1, 2
156+
}
157+
158+
// Continue Statement
159+
for (let i = 1; i <= 5; i++) {
160+
if (i === 3) continue; // omitir
161+
console.log(i); // 1, 2, 4, 5
162+
}
163+
164+
// _______________________
165+
// Manejo de excepciones
166+
// https://developer.mozilla.org/es/docs/Web/JavaScript/Guide/Control_flow_and_error_handling#expresiones_de_manejo_de_excepciones
167+
168+
try {
169+
throw "Error"; // Lanza una excepción
170+
} catch (e) {
171+
console.error(e); // Maneja la excepción
172+
} finally {
173+
console.log("Este bloque siempre se ejecuta.");
174+
}
175+
176+
/*
177+
EJERCICIO:
178+
* Crea un programa que imprima por consola todos los números comprendidos
179+
* entre 10 y 55 (incluidos), pares, y que no son ni el 16 ni múltiplos de 3.
180+
*/
181+
182+
for (let num = 10; num < 56; num++) {
183+
if (num % 2 === 0 && num !== 16 && num % 3 !== 0) {
184+
console.log(num);
185+
}
186+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,115 @@
1+
/*
2+
_____________________________________
3+
https://github.com/kenysdev
4+
2024 - JavaScript
5+
_______________________________________
6+
02 FUNCIONES Y ALCANCE
7+
---------------------------------------
8+
* - Crea ejemplos de funciones básicas que representen las diferentes
9+
* posibilidades del lenguaje:
10+
* Sin parámetros ni retorno, con uno o varios parámetros, con retorno...
11+
* - Comprueba si puedes crear funciones dentro de funciones.
12+
* - Utiliza algún ejemplo de funciones ya creadas en el lenguaje.
13+
* - Pon a prueba el concepto de variable LOCAL y GLOBAL.
14+
* - Debes hacer print por consola del resultado de todos los ejemplos.
15+
* (y tener en cuenta que cada lenguaje puede poseer más o menos posibilidades)
16+
*/
17+
18+
// ________________________
19+
// Funciones
20+
// https://developer.mozilla.org/es/docs/Web/JavaScript/Reference/Functions
21+
22+
// Función Básica
23+
function aMessage() {
24+
console.log("Texto");
25+
}
26+
27+
aMessage(); // Llamar
28+
29+
// Función con Parámetro
30+
function displayMessage(msgText) {
31+
console.log(msgText);
32+
}
33+
34+
displayMessage("¡Hola mundo!");
35+
36+
// Función con Parámetros Opcionales
37+
function sumNums(a, b=5) {
38+
console.log(a + b)
39+
}
40+
41+
sumNums(2)
42+
sumNums(2, 2)
43+
44+
// ________________________
45+
// Función con retorno
46+
// https://developer.mozilla.org/es/docs/Learn/JavaScript/Building_blocks/Return_values
47+
48+
function squared(num) {
49+
return num * num;
50+
}
51+
52+
let result = squared(4);
53+
console.log(result); // 16
54+
55+
// Retorna múltiples datos
56+
function calculateRectangleProperties(width, height) {
57+
return {
58+
area: width * height,
59+
perimeter: 2 * (width + height)
60+
};
61+
}
62+
63+
const rectangle = calculateRectangleProperties(5, 10);
64+
console.log(`Área: ${rectangle.area}`); // Área: 50
65+
console.log(`Perímetro: ${rectangle.perimeter}`); // Perímetro: 30
66+
67+
// ________________________
68+
// Funciones anidadas
69+
function sumOfSquares(a, b) {
70+
function square(x) {
71+
return x * x;
72+
}
73+
return square(a) + square(b);
74+
}
75+
76+
console.log(sumOfSquares(2, 3)); // 13
77+
78+
// ________________________
79+
// ejmp de funcion incorporada
80+
const maxNumber = Math.max(10, 20, 5, 30);
81+
console.log(maxNumber); // 30
82+
83+
/*
84+
EJERCICIO:
85+
* Crea una función que reciba dos parámetros de tipo cadena de texto y retorne un número.
86+
* - La función imprime todos los números del 1 al 100. Teniendo en cuenta que:
87+
* - Si el número es múltiplo de 3, muestra la cadena de texto del primer parámetro.
88+
* - Si el número es múltiplo de 5, muestra la cadena de texto del segundo parámetro.
89+
* - Si el número es múltiplo de 3 y de 5, muestra las dos cadenas de texto concatenadas.
90+
* - La función retorna el número de veces que se ha impreso el número en lugar de los textos.
91+
*
92+
* Presta especial atención a la sintaxis que debes utilizar en cada uno de los casos.
93+
* Cada lenguaje sigue una convenciones que debes de respetar para que el código se entienda.
94+
*/
95+
96+
function exs(str1, str2) {
97+
nPrintsNums = 0;
98+
99+
for (let num = 1; num <= 100; num++) {
100+
if (num % 3 === 0 && num % 5 === 0) {
101+
console.log(str1 + str2);
102+
} else if (num % 3 === 0) {
103+
console.log(str1);
104+
} else if (num % 5 === 0) {
105+
console.log(str2);
106+
} else {
107+
nPrintsNums += 1;
108+
console.log(num);
109+
}
110+
}
111+
return nPrintsNums;
112+
}
113+
114+
pNums = exs(" múltiplo de 3", " múltiplo de 5")
115+
console.log("Número de veces que se imprimió un número: " + pNums);

0 commit comments

Comments
 (0)