Curso Práctico de JavaScript

Curso Práctico de JavaScript

Juan David Castro Gallego

Juan David Castro Gallego

Test de JavaScript

3/30

Lectura

¡Es hora de poner a prueba cuánto sabes sobre JavaScript!

Esta lectura es una prueba de JavaScript. A diferencia de un examen, nadie te obligará a nada. Puedes hacer trampa y saltar a la siguiente clase, ese es el camino fácil. Pero tengo mucha fe en ti, confío en que seguirás mis consejos y no avanzarás a la siguiente clase hasta superar esta prueba.

Instrucciones para tomar esta prueba

  • Evalúa muy críticamente tu conocimiento.
  • Si logras resolver la prueba, no importa cuánto te cueste, puedo asegurarte que tienes todo para continuar a las siguientes clases y tomar el resto del curso.
  • Si no lo logras, no te preocupes, absolutamente nadie puede juzgarte, solo tú. Vuelve al Curso Básico de JavaScript, anota los temas clave donde puedes mejorar, ubica las clases donde puedes aprenderlos y estudia vigorosamente.
  • Es completamente válido hacer búsquedas en Google, cursos y tutoriales de Platzi, incluso usar tu cuaderno de notas sin importar si es físico o virtual.

Recuerda que el éxito no se mide por cuánto tiempo te toma aprender, esa métrica es relativamente inútil. Mejor concéntrate en completar los cursos de tu ruta de aprendizaje profesional y desarrollar los proyectos que realmente demuestran que dominas cada tecnología.

¡Mucha suerte!

Variables y operaciones

1️⃣ Responde las siguientes preguntas en la sección de comentarios:

  • ¿Qué es una variable y para qué sirve?
  • ¿Cuál es la diferencia entre declarar e inicializar una variable?
  • ¿Cuál es la diferencia entre sumar números y concatenar strings?
  • ¿Cuál operador me permite sumar o concatenar?

2️⃣ Determina el nombre y tipo de dato para almacenar en variables la siguiente información:

  • Nombre
  • Apellido
  • Nombre de usuario en Platzi
  • Edad
  • Correo electrónico
  • Mayor de edad
  • Dinero ahorrado
  • Deudas

3️⃣ Traduce a código JavaScript las variables del ejemplo anterior y deja tu código en los comentarios.

4️⃣ Calcula e imprime las siguientes variables a partir de las variables del ejemplo anterior:

  • Nombre completo (nombre y apellido)
  • Dinero real (dinero ahorrado menos deudas)

Funciones

1️⃣ Responde las siguientes preguntas en la sección de comentarios:

  • ¿Qué es una función?
  • ¿Cuándo me sirve usar una función en mi código?
  • ¿Cuál es la diferencia entre parámetros y argumentos de una función?

2️⃣ Convierte el siguiente código en una función, pero, cambiando cuando sea necesario las variables constantes por parámetros y argumentos en una función:

const name = "Juan David";
const lastname = "Castro Gallego";
const completeName = name + lastname;
const nickname = "juandc";

console.log("Mi nombre es " + completeName + ", pero prefiero que me digas " + nickname + ".");

Condicionales

1️⃣ Responde las siguientes preguntas en la sección de comentarios:

  • ¿Qué es un condicional?
  • ¿Qué tipos de condicionales existen en JavaScript y cuáles son sus diferencias?
  • ¿Puedo combinar funciones y condicionales?

2️⃣ Replica el comportamiento del siguiente código que usa la sentencia switch utilizando if, else y else if:

const tipoDeSuscripcion = "Basic";

switch (tipoDeSuscripcion) {
   case "Free":
       console.log("Solo puedes tomar los cursos gratis");
       break;
   case "Basic":
       console.log("Puedes tomar casi todos los cursos de Platzi durante un mes");
       break;
   case "Expert":
       console.log("Puedes tomar casi todos los cursos de Platzi durante un año");
       break;
   case "ExpertPlus":
       console.log("Tú y alguien más pueden tomar TODOS los cursos de Platzi durante un año");
       break;
}

3️⃣ Replica el comportamiento de tu condicional anterior con if, else y else if, pero ahora solo con if (sin else ni else if).

💡 Bonus: si ya eres una experta o experto en el lenguaje, te desafío a comentar cómo replicar este comportamiento con arrays u objetos y un solo condicional. 😏

Ciclos

1️⃣ Responde las siguientes preguntas en la sección de comentarios:

  • ¿Qué es un ciclo?
  • ¿Qué tipos de ciclos existen en JavaScript?
  • ¿Qué es un ciclo infinito y por qué es un problema?
  • ¿Puedo mezclar ciclos y condicionales?

2️⃣ Replica el comportamiento de los siguientes ciclos for utilizando ciclos while:

for (let i = 0; i < 5; i++) {
    console.log("El valor de i es: " + i);
}

for (let i = 10; i >= 2; i--) {
    console.log("El valor de i es: " + i);
}

3️⃣ Escribe un código en JavaScript que le pregunte a los usuarios cuánto es 2 + 2. Si responden bien, mostramos un mensaje de felicitaciones, pero si responden mal, volvemos a empezar.

💡 Pista: puedes usar la función prompt de JavaScript.

Listas

1️⃣ Responde las siguientes preguntas en la sección de comentarios:

  • ¿Qué es un array?
  • ¿Qué es un objeto?
  • ¿Cuándo es mejor usar objetos o arrays?
  • ¿Puedo mezclar arrays con objetos o incluso objetos con arrays?

2️⃣ Crea una función que pueda recibir cualquier array como parámetro e imprima su primer elemento.

3️⃣ Crea una función que pueda recibir cualquier array como parámetro e imprima todos sus elementos uno por uno (no se vale imprimir el array completo).

4️⃣ Crea una función que pueda recibir cualquier objeto como parámetro e imprima todos sus elementos uno por uno (no se vale imprimir el objeto completo).

¿Cómo te fue? 🏆

¡Felicidades por completar la prueba de JavaScript! Confío en que hayas completado cada paso y hayas pausado para repasar los temas de los ejercicios que se te complicaron.

Ahora sí, continúa a la siguiente clase, pero recuerda que ya no puedes abandonar el curso, debes completarlo hasta el final. No importa cuánto tiempo te tome. Yo sé que tú puedes. Y tú deberías de saberlo también.

¡Te espero en la siguiente clase para comenzar!

Aportes 1519

Preguntas 16

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

Test Javascript Platzi 🚀

Te invito a mi GitHub 🤓

Variables y operaciones

1️⃣ Responde las siguientes preguntas en la sección de comentarios:

  • ¿Qué es una variable y para qué sirve?

    Es un espacio reservado en memoria que nos permite almacenar información. Podemos almacenar diferentes tipos de datos para usarlos en nuestro código. En JS existe tres formas de crear una variable var, let, const. en ES6 nacen let & const que son variable de tipo scope y esto quiere decir que dependiendo del scope es su accesibilidad.

  • ¿Cuál es la diferencia entre declarar e inicializar una variable?

    Cuando declaramos una variable, simplemente nombramos la variable, sin indicarle que tipo de información o dato almacenara. En cambio, cuando inicializamos una variable indicamos el tipo de dato e información que va a almacenar.

    Ejemplo:

    //Declarar una variable
    let nombre;
    //Inicializar la variable 
    nombre = "Camilo"; 
    //Podemos generar este proceso en una sola linea de codigo. 
    let nombre = "Camilo";
    
  • ¿Cuál es la diferencia entre sumar números y concatenar strings?

    Al momento sumar números estamos realizando una operación matemática con dos tipos de datos (Numbers) mientras que al concatenar estamos sumando dos tipos de datos (String) que son cadena de textos.

  • ¿Cuál operador me permite sumar o concatenar?

    El operador utilizado es el signo +

2️⃣ Determina el nombre y tipo de dato para almacenar en variables la siguiente información:

  • Nombre “String”
  • Apellido “String”
  • Nombre de usuario en Platzi “String”
  • Edad “Number”
  • Correo electrónico “String”
  • Mayor de edad “Boolean”
  • Dinero ahorrado “Number”
  • Deudas “Number”

3️⃣ Traduce a código JavaScript las variables del ejemplo anterior y deja tu código en los comentarios.

//Variables 
let name = "Camilo";
let lastName = "Saavedra";
let user_name = "cisaa";
let age = 27;
let mail = "[email protected]"
let adult = true;
let savedMoney = 1500;
let debtMoney = 500000;

4️⃣ Calcula e imprime las siguientes variables a partir de las variables del ejemplo anterior:

  • Nombre completo (nombre y apellido)
//Nombre completo 
let name = "Camilo";
let lastName = "Saavedra";
console.log(`Mi nombre completo es ${name} ${lastName}`);
  • Dinero real (dinero ahorrado menos deudas)
//Dinero ahorrado
let savedMoney = 1000000;
let debtMoney = 500000;
let totalMoney = savedMoney - debtMoney;
console.log(`El total de mi dinero actual es: $${totalMoney`});

Funciones

1️⃣ Responde las siguientes preguntas en la sección de comentarios:

  • ¿Qué es una función?

    Es un conjunto de acciones que nos permitirá reutilizar en nuestro código y siempre deben devolver un resultado. Podemos crear diferentes funciones con parámetros distintos y luego utilizar la información para realizar un evento o acción dentro de nuestro código.

  • ¿Cuándo me sirve usar una función en mi código?

    Cuando necesitamos repetir una acción en nuestro código, en vez de escribir una suma, por ejemplo en cada línea, podemos crear una función que nos permita sumar elementos cada vez que lo necesitemos y solo cambiamos sus parámetros.

  • ¿Cuál es la diferencia entre parámetros y argumentos de una función?

    Los parámetros son las variables declaras y solicitadas en nuestra función, al momento de realizar el llamado de nuestra funciones nos exigirá declarar nuestras variables que vendrían a ser nuestros argumentos de la función.

    function myFunction(parámetro1 + parámetro2) {
      //... All my code here
    }
    
    myFunction(argumento + argumento2);
    //Al declarar las variables parámetro1 y parámetro2 estamos generando los argumentos de nuestra función. 
    
    

2️⃣ Convierte el siguiente código en una función, pero, cambiando cuando sea necesario las variables constantes por parámetros y argumentos en una función:

const name = "Juan David";
const lastname = "Castro Gallego";
const completeName = name + lastname;
const nickname = "juandc";
console.log("Mi nombre es " + completeName + ", pero prefiero que me digas " + nickname + ".");
//My solution
function presentation(name, lastName, nickName){
  return console.log(`Mi nombre completo es ${name} ${lastName}, pero prefiero que me digas ${nickName}.`);
}
presentation("Camilo", "Saavedra", "cisaa");

Condicionales

1️⃣ Responde las siguientes preguntas en la sección de comentarios:

  • ¿Qué es un condicional?

    Es una expresión que nos permite evaluar si es True o False.

  • ¿Qué tipos de condicionales existen en JavaScript y cuáles son sus diferencias?

    • If…else
    • Switch

    Con el condicional If…Else podemos tener diferentes expresiones para evaluar dependiente del caso, y generar tantos If o else como sea necesario. Mientras que Switch case toma una sola expresión de entrada pero puede evaluar todos los casos como sea necesario de una forma más ordenada.

  • ¿Puedo combinar funciones y condicionales?

    Podemos encadenar una respusta desde un condional a otro pero no podemos combinarlo dentro de una misma expresión. Si podemos ocuparlos de forma separada y luego encadenar una acción dependiendo del resultado.

2️⃣ Replica el comportamiento del siguiente código que usa la sentencia switch utilizando if, else y else if:

const tipoDeSuscripcion = "Basic";
switch (tipoDeSuscripcion) {
case "Free":
       console.log("Solo puedes tomar los cursos gratis");
break;
case "Basic":
       console.log("Puedes tomar casi todos los cursos de Platzi durante un mes");
break;
case "Expert":
       console.log("Puedes tomar casi todos los cursos de Platzi durante un año");
break;
case "ExpertPlus":
       console.log("Tú y alguien más pueden tomar TODOS los cursos de Platzi durante un año");
break;
}
//My solution
const tipoDeSuscripcion = "Basic";
if (tipoDeSuscripcion == "Free") {
	console.log("Solo puedes tomar los cursos gratis");
} else if (tipoDeSuscripcion == "Basic") {
	 console.log("Puedes tomar casi todos los cursos de Platzi durante un mes");
} else if (tipoDeSuscripcion == "Expert") {
	 console.log("Puedes tomar casi todos los cursos de Platzi durante un año");
} else if (tipoDeSuscripcion == "ExpertPlus") {
	 console.log("Tú y alguien más pueden tomar TODOS los cursos de Platzi durante un año");
} else {
	 console.log("No tienes ninguna suscripción");
}

3️⃣ Replica el comportamiento de tu condicional anterior con if, else y else if, pero ahora solo con if (sin else ni else if).

💡 Bonus: si ya eres una experta o experto en el lenguaje, te desafío a comentar cómo replicar este comportamiento con arrays u objetos y un solo condicional. 😏

let typeSuscripción = [
"Free",
"Basic", 
"Expert", 
"ExpertPlus"
];
let infoSuscripción = [
"solo puedes tomar los cursos gratis", 
"puedes tomar casi todos los cursos de Platzi durante un mes", 
"puedes tomar casi todos los cursos de Platzi durante un año", 
"tú y alguien más pueden tomar TODOS los cursos de Platzi durante un año"];
let userSuscription = "Expert";
for (let i=0; i < typeSuscripción.length; i++) {
  if (userSuscription == typeSuscripción[i]) {
  	console.log(`Si estas suscrito al plan ${typeSuscripción[i]} en el cual ${infoSuscripción[i]}`)
  }
}

Ciclos

1️⃣ Responde las siguientes preguntas en la sección de comentarios:

  • ¿Qué es un ciclo?

    Un ciclo es un bucle que se repite hasta que se cumpla una condición.

  • ¿Qué tipos de ciclos existen en JavaScript?

    Ciclo For, While, etc.

  • ¿Qué es un ciclo infinito y por qué es un problema?

    Un ciclo infinito es cuando la condición es infinita, nunca se cumple y, por lo tanto, no existe termino al proceso, por consecuencia nuestro código puede fallar y ralentizar nuestras computadoras.

  • ¿Puedo mezclar ciclos y condicionales?

    Sí, podemos condicionar un ciclo para que se repita todas las veces hasta que se cumplan una condición que internamente puede tener otra condición para su evaluación.

2️⃣ Replica el comportamiento de los siguientes ciclos for utilizando ciclos while:

for (let i = 0; i < 5; i++) {
    console.log("El valor de i es: " + i);
}
for (let i = 10; i >= 2; i--) {
    console.log("El valor de i es: " + i);
}
//My Solution
let i = 0;
while (i < 5) {
  i++;
  console.log(`El valor de i es: ${i}`)
}
let i = 10;
while (i >= 2) {
  i--;
  console.log(`El valor de i es: ${i}`)
}

3️⃣ Escribe un código en JavaScript que le pregunte a los usuarios cuánto es 2 + 2. Si responden bien, mostramos un mensaje de felicitaciones, pero si responden mal, volvemos a empezar.

💡 Pista: puedes usar la función prompt de JavaScript.

//Basic Math Quiz
let num = 10;
let num2 = 10;
const result = num + num2;
let questions = {
  q1: `Cuanto es ${num} + ${num2}`
}
function Quizzer() {
  let userInput = prompt(questions.q1);
  if (userInput == result) {
    alert("Felicitaciones, respondiste correctamente el desafio 😎");
  } else {
    alert("lamentablemente, tu respuesta es incorrecta, sigue practicando ❌!");
  }
}
Quizzer();

Listas

1️⃣ Responde las siguientes preguntas en la sección de comentarios:

  • ¿Qué es un array?

    Un array es una colecciones de elementos con valores de una sola variable. Se escriben dentro de [ … ], separado por una coma.

  • ¿Qué es un objeto?

    Es una colección de datos relacionados con múltiples variables con sus valores.

  • ¿Cuándo es mejor usar objetos o arrays?

    Ocupamos objetos cuando el conjunto de elementos es muy grande y de distintos tipos de valores.

  • ¿Puedo mezclar arrays con objetos o incluso objetos con arrays?

2️⃣ Crea una función que pueda recibir cualquier array como parámetro e imprima su primer elemento.

let myArray = ['Manchester', 'London', 'Liverpool', 'Birmingham', 'Leeds', 'Carlisle'];
function readArray(array){
	console.log(array[0])
}
readArray(myArray);

3️⃣ Crea una función que pueda recibir cualquier array como parámetro e imprima todos sus elementos uno por uno (no se vale imprimir el array completo).

let myArray = ['Manchester', 'London', 'Liverpool', 'Birmingham', 'Leeds', 'Carlisle'];
function readArray(array) {
  for (let i = 0; i < array.length; i++) {
    console.log(`${i + 1} ${array[i]}`)
  }
}
readArray(myArray);

4️⃣ Crea una función que pueda recibir cualquier objeto como parámetro e imprima todos sus elementos uno por uno (no se vale imprimir el objeto completo).

let myCar = {
  make: 'Ford',
  model: 'Mustang',
  year: 1969
};
function readObject(object) {
  for (let key in object) {
    console.log(object[key]);
 	}
 }
readObject(myCar);

💪 Test de JavaScript

Variables y operaciones.

1️⃣ Responde las siguientes preguntas en la sección de comentarios:

  • ¿Qué es una variable y para qué sirve?

    Un espacio reservado en memoria. Una caja de información dependiendo de la los tipos y estructuras que soporta nuestro lenguaje.

  • ¿Cuál es la diferencia entre declarar e inicializar una variable?

    Declarar es reservar un espacio en memoria con una palabra reservada (var, let, const) seguida de la asignación de ese espacio ej. nombre .

    Inicializar una variable es asignar un valor en el espacio que reservamos anteriormente.

    // declarar un avariable.
    let nombre;
    // inicializar una variable.
    nombre = "Ellie";
    // declarar e inicializar una variable en una sola linea de código.
    let nombre = "Ellie";
    
  • ¿Cuál es la diferencia entre sumar números y concatenar strings?

Al sumar números se hace una operación matemática asumiendo que los valores asignados a las variables son de tipo número. En cambio concatenar agrupa los valores asignados en cada variable.

```jsx
// sumar valores de número.
let suma = 2+2;
console.log(suma)
// sumar valores de strings.
let sumaStrings = "Hola, " + "¿cómo te llamas? "
console.log(sumaStrings)
```
  • **¿Cuál operador me permite sumar o concatenar?
    **
    + Es un operador flexible que nos permite sumar o concatenar de acuerdo como interprete los valores de las variables.

2️⃣ Determina el nombre y tipo de dato para almacenar en variables la siguiente información:

  • Nombre: String
  • Apellido: String
  • Nombre de usuario en Platzi: String
  • Edad: number
  • Correo electrónico: String
  • Mayor de edad: Bolean
  • Dinero ahorrado: number
  • Deudas: number

3️⃣ Traduce a código JavaScript las variables del ejemplo anterior y deja tu código en los comentarios.

let nombre = 'Elizabeth';
let apellido = 'Vega';
let userName = 'elliev';
let edad = 19;
let mail = '[email protected]';
let isMayorDeEdad = true;
let dineroAhorrado = 1000;
let deudas = 100;

4️⃣ Calcula e imprime las siguientes variables a partir de las variables del ejemplo anterior:

  • Nombre completo (nombre y apellido)

    let nombreCompleto = nombre + " " + apellido;
    console.log (nombreCompleto);
    
  • Dinero real (dinero ahorrado menos deudas)

    let dineroReal = dineroAhorrado - deudas;
    console.log (dineroReal);
    

Condicionales
3️⃣ Replica el comportamiento de tu condicional anterior con if, else y else if, pero ahora solo con if (sin else ni else if).

💡 Bonus: si ya eres una experta o experto en el lenguaje, te desafío a comentar cómo replicar este comportamiento con arrays u objetos y un solo condicional.

let tipoDeSuscripcion = {
	Free: 'solo puedes tomar los cursos gratis',
	Basic: 'puedes tomar casi todos los cursos de Platzi durante un mes',
	Expert: 'puedes tomar casi todos los cursos de Platzi durante un año',
	ExpertPlus:
		'tú y alguien más pueden tomar TODOS los cursos de Platzi durante un año',
};

const suscripcion = "Basic"

Object.keys(tipoDeSuscripcion).find((plan) => {
  if (plan == suscripcion) {
    console.log(tipoDeSuscripcion[plan]);
  }
});

Test de JavaScript

– Quise rendirme, y en la parte de los ejercicios en Listas tuve que recurrir a apoyo, pero vaya que me agrada ver que realmente he aprendido algo y que pase de no saber nada a poder hacer estas pruebas, sé que es solo lo básico, pero a mí me alegra.
Mi Prueba

Test Finalizado!! ✅

Variables y operaciones

1️⃣ Responde las siguientes preguntas en la sección de comentarios:
¿Qué es una variable y para qué sirve?

Una variable es un espacio en memoria destinado a almacenar datos, estos datos pueden ser de tipo String, Number, Boolean, etc.

¿Cuál es la diferencia entre declarar e inicializar una variable?

Cuando declaramos una variable le damos un nombre, cuando inicializamos una variable le asignamos un dato a esta para que lo guarde.

//declaracion
let miVariable;

//inicializacion
miVariable = 10;

Podemos declara e inicializar una variable en la misma linea de codigo:

//declaración e inicialización
let miVariable = 10;

¿Cuál es la diferencia entre sumar números y concatenar strings?

Cuando sumamos números se realiza un operación matématica cuyo resultado es la adición de los numeros suministrados, para que esto suceda todos los datos involucrados en la operación deben ser tipo Number.

let suma = 10 + 20 + 30;

console.log(suma); // 60

Cuando se concatenan strings o cadenas de texto se realiza una unión de estas, generando así un nuevo string, por ejemplo una frase, oración o simplemente un texto compuesto por multiples partes.

let miTexto = 'pares de ';
let miTexto2 = 'Nunca ' + miTexto + 'aprender';

console.log(miTexto2); // 'Nunca pares de aprender';

¿Cuál operador me permite sumar o concatenar?

para sumar o concatenar se utiliza el operador ‘+’. Al usar este operador javascript determinará a partir de los tipos de datos si debe realizar la suma o la concatenación de estos.

2️⃣ Determina el nombre y tipo de dato para almacenar en variables la siguiente información:

Nombre = string
Apellido = string
Nombre de usuario en Platzi = string
Edad = number
Correo electrónico = string
Mayor de edad = boolean
Dinero ahorrado = number
Deudas = number

3️⃣ Traduce a código JavaScript las variables del ejemplo anterior y deja tu código en los comentarios.

//Nombre = string
let nombre = 'Felipe';

// Apellido = string
let apellido = 'Moreno';

// Nombre de usuario en Platzi = string
let usuario = 'pipemalz';

// Edad = number
let edad = 26;

//Correo electrónico = string
let correoElectronico = '[email protected]';

//Mayor de edad = boolean
let mayorDeEdad = true;

//Dinero ahorrado = number
let ahorros = 1000;

//Deudas = number
let deudad = 500;

4️⃣ Calcula e imprime las siguientes variables a partir de las variables del ejemplo anterior:
Nombre completo (nombre y apellido)

console.log(nombre + ' ' + apellido);

Dinero real (dinero ahorrado menos deudas)

let dineroReal = ahorros - deudas;
console.log(dineroReal);

Funciones

1️⃣ Responde las siguientes preguntas en la sección de comentarios:
¿Qué es una función?
Una función es un bloque de codigo que puede retornar un valor a partir de distintas operaciones.

¿Cuándo me sirve usar una función en mi código?
Una función es util cuando debemos realizar varias veces una misma operación o secuencia de operaciones, de esta forma podemos encapsular el código en una función y mandarla a llamar cuando necesitemos ejecutar dicha operación sin tener que reescribirla.

¿Cuál es la diferencia entre parámetros y argumentos de una función?
Los parámetros son variables que al definir nuestra función serán utilizados para realizar la operación que necesitemos.

function suma(parametro1, parametro2){
    return parametro1 + parametro2;
}

Los argumentos son los datos que le indicamos a la función cuando la mandamos a llamar, estos datos son utilizados para realizar las operaciones que al definir la función le dimos como parámetros.

suma(3, 10); // 13

2️⃣ Convierte el siguiente código en una función, pero, cambiando cuando sea necesario las variables constantes por parámetros y argumentos en una función:

const name = "Juan David";
const lastname = "Castro Gallego";
const completeName = name + lastname;
const nickname = "juandc";

function alias(completeName, nickname){
    console.log("Mi nombre es " + completeName + ", pero prefiero que me digas " + nickname + ".");
}

alias(completeName, nickname);

Condicionales

1️⃣ Responde las siguientes preguntas en la sección de comentarios:

¿Qué es un condicional?
Un condicional es una estructura de codigo que permite realizar una comparación y tomar una decicisión dependiendo si el resultado es true o false.

¿Qué tipos de condicionales existen en JavaScript y cuáles son sus diferencias?
Tipos de condicionales en Javascript:

-if, else y elseif
-Switch

La diferencia es que if, else y elseif nos permite realizar diversas comparaciones utilizando variables, operadores y además podemos evaluar diversas expresiones haciendo uso de elseif. Switch permite evaluar diferentes casos y tomar decisiones dependiendo del resultado de una unica expresión.

¿Puedo combinar funciones y condicionales?
Si, una funcion puede contener condicionales y retornar diversos valores o ejecutar otras funciones a partir del resultado de estos.

2️⃣ Replica el comportamiento del siguiente código que usa la sentencia switch utilizando if, else y else if:

const tipoDeSuscripcion = "Basic";

switch (tipoDeSuscripcion) {
   case "Free":
       console.log("Solo puedes tomar los cursos gratis");
       break;
   case "Basic":
       console.log("Puedes tomar casi todos los cursos de Platzi durante un mes");
       break;
   case "Expert":
       console.log("Puedes tomar casi todos los cursos de Platzi durante un año");
       break;
   case "ExpertPlus":
       console.log("Tú y alguien más pueden tomar TODOS los cursos de Platzi durante un año");
       break;
}

Solucion:

if(tipoDeSuscripcion === 'Free'){
    console.log("Solo puedes tomar los cursos gratis");
}else if(tipoDeSuscripcion === 'Basic'){
    console.log("Puedes tomar casi todos los cursos de Platzi durante un mes");
}else if(tipoDeSuscripcion === 'Expert'){
    console.log("Puedes tomar casi todos los cursos de Platzi durante un año");
}else if(tipoDeSuscripcion === 'ExpertPlus'){
    console.log("Tú y alguien más pueden tomar TODOS los cursos de Platzi durante un año");
}

3️⃣ Replica el comportamiento de tu condicional anterior con if, else y else if, pero ahora solo con if (sin else ni else if).
💡 Bonus: si ya eres una experta o experto en el lenguaje, te desafío a comentar cómo replicar este comportamiento con arrays u objetos y un solo condicional. 😏

let suscripciones = {
    Free: 'Solo puedes tomar los cursos gratis',
    Basic: 'Puedes tomar casi todos los cursos de Platzi durante un mes',
    Expert: 'Puedes tomar casi todos los cursos de Platzi durante un año',
    ExpertPlus: 'Tú y alguien más pueden tomar TODOS los cursos de Platzi durante un año'
}

if(tipoDeSuscripcion){
    console.log(suscripciones[tipoDeSuscripcion])
}

Ciclos

1️⃣ Responde las siguientes preguntas en la sección de comentarios:
¿Qué es un ciclo?
Un ciclo es una estructura que nos permite realizar iteraciones y ejecutar codigo repetidamente mientras que se cumpla una condición.

¿Qué tipos de ciclos existen en JavaScript?

-For
-While
-Do While

¿Qué es un ciclo infinito y por qué es un problema?
Un ciclo infnito ocurre cuando una condicion siempre se cumple y es estática, por lo tanto el ciclo nunca se detiene. Es un problema porque satura la memoria y puede provocar un ‘crasheos’ al navegador o perdida de rendimiento.

¿Puedo mezclar ciclos y condicionales?
Si se pueden mezclar ciclos y condicionales, bien sea un ciclo dentro de un condicional o un condiciional dentro de un ciclo.

2️⃣ Replica el comportamiento de los siguientes ciclos for utilizando ciclos while:

for (let i = 0; i < 5; i++) {
    console.log("El valor de i es: " + i);
}

Solución

let i = 0;
while(i < 5){
    console.log("El valor de i es: " + i);
    i++;
}
for (let i = 10; i >= 2; i--) {
    console.log("El valor de i es: " + i);
}

Solución

let i = 10;
while(i >=2){
    console.log("El valor de i es: " + i);
    i--;
}

3️⃣ Escribe un código en JavaScript que le pregunte a los usuarios cuánto es 2 + 2. Si responden bien, mostramos un mensaje de felicitaciones, pero si responden mal, volvemos a empezar.
💡 Pista: puedes usar la función prompt de JavaScript.

function validar(){
    let resultado = parseInt(prompt('Escribe el resultado de sumar 2 + 2'));
    if(resultado === 4){
        alert('Felicitaciones el resultado es correcto');
    }else{
        alert('Intentalo nuevamente');
        validar();
    }
}

Listas

1️⃣ Responde las siguientes preguntas en la sección de comentarios:
¿Qué es un array?
Un array es un tipo de dato estructurado, que permite almacenar un conjunto de datos de tipo diverso los cuales pueden ser accedidos mediante un indice.

¿Qué es un objeto?
Un objeto es tun tipo de dato estructurado, que permite almacenar un conjunto de datos diversos de forma asociativa, a diferencia de los arrays estos datos pueden ser accedidos por una variable en lugar de un indice.

¿Cuándo es mejor usar objetos o arrays?
Dependiendo de la necesidad, ambas estructuras son muy utiles y pueden almacenar gran cantidad de datos. Los objetos suelen ser muy utiles cuando necesitamos almacenar gran cantidad de datos que van a ser accedidos por medio de variables.

¿Puedo mezclar arrays con objetos o incluso objetos con arrays?
Si, puedo almacenar arrays dentro de objetos y objetos dentro de arrays.

2️⃣ Crea una función que pueda recibir cualquier array como parámetro e imprima su primer elemento.

const semana = ['Lunes', 'Martes', 'Miercoles', 'Jueves', 'Viernes', 'Sabado', 'Domingo'];
function imprimir(array){
    console.log(array[0]);
}
imprimir(semana);

3️⃣ Crea una función que pueda recibir cualquier array como parámetro e imprima todos sus elementos uno por uno (no se vale imprimir el array completo).

const semana = ['Lunes', 'Martes', 'Miercoles', 'Jueves', 'Viernes', 'Sabado', 'Domingo'];
function imprimir(array){
    array.forEach(elemento => console.log(elemento));
}
imprimir(semana);

4️⃣ Crea una función que pueda recibir cualquier objeto como parámetro e imprima todos sus elementos uno por uno (no se vale imprimir el objeto completo).

const planeta = {
    nombre: 'Jupiter',
    radio: 71492,
    diametro: 142984 
}

function imprimir(objeto){
    for(let elemento in objeto){
        console.log(objeto[elemento]);
    }
}

imprimir(planeta);

Les comparto mis respuesta en una pagina de Notion Test de JavaScript 📝

Variables y operaciones

const nombre = 'Jhon'
const apellido = 'Bocanegra'
let usuario = '@jhoneduard26'
let edad = 23
let email = '[email protected]'
let esMayordeEdad = true
let dineroAhorrado = 1000
let deudas = 500

const nombreCompleto = `${nombre} ${apellido}`
let dineroReal = dineroAhorrado - deudas

console.log(nombreCompleto)
console.log(dineroReal)

Funciones

const name = "Juan David";
const lastname = "Castro Gallego";
const nickname = "juandc";

function sayName (name, lastName, nick) {
  console.log(`Mi nombre es ${name} ${lastName}, pero prefiero que me digas ${nick}.`)
}

sayName(name, lastname, nickname)

Condicionales

const tipoDeSuscripcion = "Basic"

// if, else if, else

if (tipoDeSuscripcion === 'Free') {
  console.log("Solo puedes tomar los cursos gratis")
} else if (tipoDeSuscripcion === 'Basic') {
  console.log("Puedes tomar casi todos los cursos de Platzi durante un mes")
} else if (tipoDeSuscripcion === 'Expert') {
  console.log("Puedes tomar casi todos los cursos de Platzi durante un año")
} else {
  console.log("Tú y alguien más pueden tomar TODOS los cursos de Platzi durante un año")
}

// solo if

if (tipoDeSuscripcion === 'Free') {
  console.log("Solo puedes tomar los cursos gratis")
}

if (tipoDeSuscripcion === 'Basic') {
  console.log("Puedes tomar casi todos los cursos de Platzi durante un mes")
}

if (tipoDeSuscripcion === 'Expert') {
  console.log("Puedes tomar casi todos los cursos de Platzi durante un año")
}

if (tipoDeSuscripcion === 'ExpertPlus') {
  console.log("Tú y alguien más pueden tomar TODOS los cursos de Platzi durante un año")
}

Reto usando arrays y objetos

const tipoDeSuscripcion = 'ExpertPlus';

const tipoSuscripcion = [
  {
    type: 'Free',
    text: 'Solo puedes tomar los cursos gratis',
  },
  {
    type: 'Basic',
    text: 'Solo puedes tomar los cursos gratis',
  },
  {
    type: 'Expert',
    text: 'Puedes tomar casi todos los cursos de Platzi durante un año',
  },
  {
    type: 'ExpertPlus',
    text: 'Tú y alguien más pueden tomar TODOS los cursos de Platzi durante un año',
  },
];

const element = tipoSuscripcion.find(tipo => tipo.type === tipoDeSuscripcion);

console.log(element.text)

Ciclos

let i = 0

while(i < 5) {
  console.log('El valor de i es:', i)
  i++
}

i = 10

while(i >= 2) {
  console.log('El valor de i es: '+ i)
  i-=2
}
// Reto
let userPrompt = parseInt(prompt('¿Cuánto es 2 + 2?'))

while(userPrompt !== 4) {
  userPrompt = parseInt(prompt('¿Cuánto es 2 + 2?'))
}

console.log('Felicidades acertaste!')

Listas

const myArr = ['Kiwi', 'Strawberry', 'Apple']

function printFirstElement (array = []) {
  console.log(array[0])
}

function printAllElements (array = []) {
  array.map((element, idx) => console.log(`${idx +1}. ${element}`))
}

printFirstElement(myArr)
printAllElements(myArr)

//Reto
const myObj = {
  Colombia: 'Bogota',
  Peru: 'Lima',
  Ecuador: 'Quito'
}

function printAllElementsObject (object = {}) {
  for (let key in object) {
    console.log(key)
  }
}

printAllElementsObject(myObj)

¿Qué es una variable y para qué sirve?
es una palabra clave que se guarda en memory y se puede emplear variables const o let que se pueden utilizar en funciones o estado en los que se los requiera.
¿Cuál es la diferencia entre declarar e inicializar una variable?
En declarar una variable se esta determinando que en que lugar existe, mientras que inicializar se designa un valor en la variable ya sea number, string , boleanos o objectos.
¿Cuál es la diferencia entre sumar números y concatenar strings?
Se entiende por sumar numeros a que se toman todos los valores y resuelve con un solo resultado y Concatenar strings es agrupar en una sola linea los valores que se esta almacenando [“hola”, “Oscar”," de Platzi"] = [hola Oscar de Platzi]
¿Cuál operador me permite sumar o concatenar?
En sumar el operador + permite sumar valores example (let suma = 5 + 2; suma= 7)
Para concatenar se aplica (let concatenar = “5” + “2” ; concatenar = 52).
2* Determina el nombre y tipo de dato para almacenar en variables la siguiente información:
Nombre: es strings,
Apellido: strings
Nombre de usuario : es un strings,
Edad: numbers,
Correo electrónico: es un strings,
Mayor de edad: es numbers,
Dinero ahorrado: numbers
Deudas: numbers
3* Traduce a código JavaScript las variables del ejemplo anterior y deja tu código en los comentarios.
let Nombre = “Oscar”;
let Apellido = "Quintero
let Nombre de usuario en Platzi = “Osq"
let Edad = 19;
const Correo_electrónico = “[email protected]”;
const Mayor_de_edad = “Eres mayor de edad”;
const Dinero_ahorrado = 300;
const Deudas = -700;
4* Calcula e imprime las siguientes variables a partir de las variables del ejemplo anterior:
Nombre completo (nombre y apellido)
const nuevoNombre = Nombre+” " + Apellido;
console.log(nuevoNombre);
Dinero real (dinero ahorrado menos deudas)
const dineroAhorrado = 300;
const deudas = -700;
const dineroReal = dineroAhorrado + deudas;
console.log(dineroReal);

Hola, les comparto mi solución en Notion 😄 ❤️
Solución

🎮 Test de Javascript: Mi solución 🤓

👉Sígueme en GITHUB
 

Variables y operaciones 🧮


    • Una variable es un espacio en memoria que nos permite almacenar informacion para poder acceder a ella mas facil
    • Declarar: Cuando “anuncio” o le digo al lenguaje que cree una variable de nombre cualquiera Inicializar: Cuando le asigno el valor a una variable, esto se puede hacer al momento de declararla o no
    • cuando sumo numeros se realiza una operacion matematica y el resultado sera otro numero. Para concatenar strings tambien uso el operador aritmetico + sin embargo no se hace una operacion matematica porque es imposible sumar caracteres, en lugar de eso se agregan o se unen para formar 1 sola cadena de caracteres
    • el operador +
       
       
    • Nombre: String
    • Apellido: String
    • Nombre de usuario en Platzi: String
    • Edad: Entero
    • Correo electrónico: String
    • Mayor de edad: Booleano
    • Dinero ahorrado: Float
    • Deudas: Float
       
       
    • let Nombre = “Nelson”;
    • let Apellido = “Arevalo”;
    • let Usuario = “near_fuentes”;
    • let Edad = 24;
    • let email = “[email protected]”;
    • let Mayor_de_edad = True;
    • let Dinero_ahorrado = 150.000;
    • let Deudas = 80.000;
       
       
    • console.log(Nombre + " " + Apellido);
    • console.log(Dinero_ahorrado - Deudas);
       

Funciones ⚙


    • Es una estructura que nos permite hacer tareas manipular , transformar o generar datos e informacion, su funcion es realizar tareas que de otra forma resultaria mas complejo o dificil de leer
    • cuando tenemos una proceso que se va a repetir recurrentemente en varias secciones de nuestro codigo
    • los parametros es el nombre que reciben las variables que se van a enviar a una función a través de una “llamada”. Los argumentos es el nombre que reciben las mismas variables que se enviaron desde la "llamada "pero en la funcion misma.
var completeName = function(name, lastname)
    {
        return name + lastname;
    }
const name = "Juan David";
const lastname = "Castro Gallego";
const nickname = "juandc";

console.log("Mi nombre es " + completeName(name, lastname) + ", pero prefiero que me digas " + nickname + ".");

 

Condicionales 🔴🟢


    • Es una serie de instrucciones que se van a ejecutar dependiendo si se cumple o no una condición

      • if, else: básicamente nos permite ejecutar una instrucción si se cumple una condición o de lo contrario se ejecutará otra instrucción
      • else if: a veces necesitamos evaluar más de una condición porque para cada condición le corresponde una acción diferente, en esos casos se usa else if
      • switch case: tiene cierta similitud con else if su diferencia radica en la semántica misma, aquí se evalúan diferentes casos y dependiendo se ejecutará uno u otro
    • Si, se puede usar condiciones dentro de funciones y funciones dentro de condiciones
       
       

const tipoDeSuscripcion = "Basic";

if (tipoDeSuscripcion === "Free"){
       console.log("Solo puedes tomar los cursos gratis");
}
else if (tipoDeSuscripcion === "Basic"){
       console.log("Puedes tomar casi todos los cursos de Platzi durante un mes");
}
else if (tipoDeSuscripcion === "Expert"){
       console.log("Puedes tomar casi todos los cursos de Platzi durante un año");
}
else {
       console.log("Tú y alguien más pueden tomar TODOS los cursos de Platzi durante un año");
}

 
 
3.

const tipoDeSuscripcion = "Free";

if (tipoDeSuscripcion === "Free"){
       console.log("Solo puedes tomar los cursos gratis");
}
if (tipoDeSuscripcion === "Basic"){
       console.log("Puedes tomar casi todos los cursos de Platzi durante un mes");
}
if (tipoDeSuscripcion === "Expert"){
       console.log("Puedes tomar casi todos los cursos de Platzi durante un año");
}
if (tipoDeSuscripcion === "ExpertPlus"){
       console.log("Tú y alguien más pueden tomar TODOS los cursos de Platzi durante un año");
}

 

Ciclos 🔁


    • Es una estructura de control que nos permite repetir instrucciones una determinada cantidad de veces dependiendo de un iterador o una condición
    • Existen 3 tipos de ciclos: for, while y do while
    • Un ciclo infinito es una repetición indeterminada de instrucciones y se da cuando la condición o el iterador no indican cuantas veces se va a repetir, esto provoca que se ejecuten infinitamente, es un problema porque puede llenar la memoria del sistema y provoque un colapso del mismo
    • Si es posible mezclar ciclos y condicionales
       
       
let i = 0;
while(i < 5){
    console.log("El valor de i es: " + i);
    i++;
}

let i = 10
while (i >= 2) {
    console.log("El valor de i es: " + i);
    i--;
}

 
 
3.

let result;

do {
  result = prompt("Cuanto es 2+2?");
    if(result == 4){
        console.log("Felicidades, tu conocimiento en matemáticas es avanzado :v");
    }
} while (result != 4);

 

Listas 📋


    • Un array es una estructura de datos lineal, una colección de datos organizados a los cuales accedo a través un número que representa una posición
    • Es una forma de agrupar propiedades de algo, funciona de forma similar a un array ya que también es una colección de datos que describen una entidad cualquiera por ejem: un auto es un objeto y dentro de este tenemos características tales como color, modelo, velocidad máxima, capacidad etc.
    • Los arrays son objetos iterables y se accede a la información a través de un número, si no conocemos la posición de un dato necesitamos recorrer el arreglo para encontrarlo, en cambio en un objeto los datos están enlazados con una llave o un “nombre”, estos objetos no se pueden recorrer y se accede a los datos con la llave
    • Si, puedo tener objetos dentro de un arreglo y arreglos dentro de un objeto
       
let persona= function(datos){
    if (datos != null && datos.length > 0){
        console.log(datos[0]);
    }
}

 
3.

let array_inf= function(datos){
    if (datos != null && datos.length > 0){
        for (dato of datos){
            console.log(dato);
        }
    }
}

 
4.

let obj_inf= function(datos){
    if (datos != null){
        for (let key in datos){
            console.log(datos[key]);
        }
    }
}

!Buena suerte a todos! 😊✌️

  • Es un espacio en memoria para guardar datos de cualquier tipo y sirve para usarlos posteriormente, incluso para nunca usarlos XD.

  • Declarar es darle nombre a la variable, se puede indicar el tipo, aunque no es necesario en JS, e inicializar es hacer lo anterior pero dándole un valor desde el principio, con esto ya decimos que tipo de variable es.

  • Sumar es hacer la operación aritmética y por lo tanto actúa sobre números, concatenar solo funciona con cadenas de caracteres y las “pega” una detrás de otra.

  • Nombre, apellido y nombre usuario en platzi, son string.

  • La edad puede ser también string o un número entero, pero depende de qué vayamos a hacer con ese dato.

  • correo es string.

  • Si es mayor puede ser un boolean.

  • Dinero es un float. por los centavos.

  • Deudas es dinero y por ende un float.

let name = '';
let lasName = '';
let userName = '';
let age = undefined;
let email = '';
let isAdult = false;
let moneySaved = 0;
let debts = 0;
console.log('Your name is: ' + name + ' '+ lastName)
/*o podría haber hecho con template Strings pero creo que el motivo de esto es usar concatenación con +*/
let realMoney = moneySaved - debs;
console.log( 'Your real money is: ' + realMoney.toString()  )

Funciones:
1)

  • Es un bloque de código encapsulado que tiene su propio ambito, que puede o no recibir valores fuera de él, realizar acciones y devolver o no valores.

  • Yo las uso cuando repito ese código más de una vez.

  • Los parametros son valores que puede recibir la función y están definidos en su construcción, los argumentos son los valores en sí que pasamos al llamar a la función. Corresponden uno al otro, pero pueden o no omitirse dependiendo la construcción de la función.

function greetings(name, lastName, nickName) {
    return `Mi nombre es ${name} ${lastName}, pero prefiero que me digas ${nickName}`
}

console.log(greetings("Juan David", "Castro Gallego", "juandc"));

Condicionales:
1)

  • Es una pregunta sobre un dato dentro del programa, el dato puede ser una variable o una comparación de valores presentes dentro del programa. Una vez contestada esa pregunta se toma una u otro rumbo de ejecución, dejando o no código sin ejecutar dependiendo la pregunta.

  • if/ese, realiza una comparación y dependiendo si es verdadera o no realiza un código, se pueden anidar.

  • switch - revisa un valor con una lista de opciones y la primera que cumpla con la condicional se ejecuta, dejando a los demás sin realizarse, puede o no tener un “caso” por default si no se tiene esa opción contemplada.

  • Sí.

Esto es tricky, el realidad solo debería de ser:

const tipoDeSuscripcion = "Basic";
if (tipoDeSuscripcion === "Basic") {
    console.log("Puedes tomar casi todos los cursos de Platzi durante un mes");
}

porqué no entra a nada más, pero, el ejercicio completo es:

const tipoDeSuscripcion = "Basic";
f (tipoDeSuscripcion === "Free"){
    console.log("Solo puedes tomar los cursos gratis");
} else if (tipoDeSuscripcion === "Basic") {
    console.log("Puedes tomar casi todos los cursos de Platzi durante un mes");
} else if (tipoDeSuscripcion === "Expert") {
    console.log("Puedes tomar casi todos los cursos de Platzi durante un año");
}else if (tipoDeSuscripcion === "ExpertPlus") {
    console.log("Tú y alguien más pueden tomar TODOS los cursos de Platzi durante un año");
}
const tipoDeSuscripcion = "Basic";
const suscription = {
    "Basic": "Puedes tomar casi todos los cursos de Platzi durante un mes",
    "Expert": "Puedes tomar casi todos los cursos de Platzi durante un año",
    "ExpertPlus": "Tú y alguien más pueden tomar TODOS los cursos de Platzi durante un año"
}

console.log(suscription[tipoDeSuscripcion]);

Ciclos:
1)

  • Es un código que se repite determinadas veces o mientras una condición se cumpla.

  • Podemos clasificarlos en finitos e “infinitos”.

  • Es un ciclo que puede nunca “romperse” y es un problema porque consume recursos máquina y pueden “trabar” el equipo, aunque los motores como el V8 ya no lo permiten.

  • sí, aunque los ciclos por dentro usan condicionales

let i=0;
while (i<5) {
    console.log("El valor de i es: " + i);
    i++;
}
i=10;
while (i>=2) {
    console.log("El valor de i es: " + i);
    i--;
}
if (prompt('¿Cuanto es 2 + 2?') === "4")
    console.log("Correcto, es 4, felicidades")
else
    console.log("Incorrecto.");

Listas:

  • Un array es una colección ordenada de datos bajo un mismo nombre, pueden ser de varias dimensiones. Y como están ordenados tiene varios métodos de acceso a ellos. Pueden tener diferentes tipos de datos dentro, pero lo normal es que sean un tipo especifico.

  • Un objeto es una colección de tipo de datos básicos bajo un mismo nombre, normalmente lo usamos para generar datos “custom”.

  • Un array es mejor cuando vamos a realizar una iteración sobre esos datos, ya que su acceso puede ser más sencillo. Un objeto es usado cuando tenemos diferentes tipos de datos bajo un solo nombre.

  • sí.

function printFirst(array1) {
    console.log(array1[0]);
}

const array2 = [1,2]
printFirst(array2)
function printArray (array1){
    array1.map(element => console.log(element))
}
function printObject(object) {
    for (let key in object) {
      console.log(object[key]);
       }
   }

Variables y Operaciones
1)

  • Una variable es un espacio en memoria en el cual se guarda la información desdeada.
  • Cuando declaramos una variable solo estamos creando ese espacio en memoria junto con su nombre específico. Por otro lado cuando inicializamos una variable estamos estableciendo que tipo de datos va a almacenar y cual será dicha información.
  • Cuando sumamos números estamos realizando una operación matemática, claro que esto se realiza cuando estamos trabajando con datos de tipo númerico. Mientras que, cuando concatenamos strings, lo que estamos haciendo es unir dos cadenas de texto en una sola.
  • Estas dos acciones (sumar y concatenar), se realizan con el signo de mas (+).
  • Nombre: “string”
  • Apellido: “string”
  • Nombre de usuario: “string”
  • Edad: “number”
  • Email: “string”
  • Mayor de edad: “boolean”
  • Dinero ahorrado: “number”
  • Deudas: “number”
let nombre = "Lionel";
let apellido = "Messi";
let userName = "campeon_del_mundo22";
let edad = 35;
let email = "[email protected]";
let esAdulto = true;
let ahorro = 450000;
let deuda = 6000;
let nombreCompleto = nombre + " " + apellido;
let dineroReal = ahorro - deuda;
console.log(nombreCompleto);
console.log(dineroReal);

Test de JavaScript 🛸
Repositorio con respuestas y código 🖖

Variables y operaciones

1️⃣ Responde las siguientes preguntas en la sección de comentarios:

¿Qué es una variable y para qué sirve?
Espacio en memoria identificado por un nombre único con la capacidad de almacenar algún valor.

¿Cuál es la diferencia entre declarar e inicializar una variable?
Se declara cuando la variable se nombra y se inicializa cuando se le asigna algún valor.

¿Cuál es la diferencia entre sumar números y concatenar strings?
Usando el mismo signo de “más”, los valores numéricos se operan matemáticamente y las cadenas de texto se van agregando haciendo esta más grande en longitud de caracteres.

¿Cuál operador me permite sumar o concatenar?
El signo más, “+”.

2️⃣ Determina el nombre y tipo de dato para almacenar en variables la siguiente información:

Nombre - String
Apellido - String
Nombre de usuario en Platzi - String
Edad - Number
Correo electrónico - String
Mayor de edad - Boolean
Dinero ahorrado - Number
Deudas - Number

3️⃣ Traduce a código JavaScript las variables del ejemplo anterior y deja tu código en los comentarios.

var name = "Michael";
var Lastname = "Rodríguez Medina";
var user = "michael_rdz";
var age = 29;
var email = "[email protected]";
var mayor = true;
var saving = 65000;
var debt = 12000;

4️⃣ Calcula e imprime las siguientes variables a partir de las variables del ejemplo anterior:

//Nombre completo (nombre y apellido):
	var name = "Michael";
var lastName = "Rodríguez Medina";
console.log("Nombre completo: "+name+" "+lastname);

//Dinero real (dinero ahorrado menos deudas)
var saving = 65000;
var debt = 12000;
let real = saving - debt; 
console.log("Dinero real: "+real);

TEST JAVASCRIPT (Nuevo curso práctico de JavaScript) 🤓 ​

1️⃣ Variables & Operaciones

  • ¿Qué es una variable y para qué sirve?
    RESPUESTA: Es un lugar en memoria y nos sirve para almacenar información (datos). A las variables le podemos poner nombres humanos que sean fáciles de recordar.

  • ¿Cuál es la diferencia entre declarar e inicializar una variable?
    RESPUESTA: Declarar una variable, es cuando le decimos al programa donde empieza la variable, que nombre y que tipo de dato tendrá. E inicializar una variable es cuando le asignas un valor a esa variable.

  • ¿Cuál es la diferencia entre sumar números y concatenar strings?
    RESPUESTA: La principal diferencia es el tipo de valor de cada variable. Por ejemplo: Si sumo 20 + “2” tendremos como resultado 202. Al contrario que si sumo 20 + 2 = 22. O si sumo "Hola " + “20” = Hola 20, estoy concatenando dos strings.

  • ¿Cuál operador me permite sumar o concatenar?
    RESPUESTA: El operador suma (+)

2️⃣ Determina el nombre y tipo de dato para almacenar en variables la siguiente información:

  • const name = “Jairo”;

  • const lastname = “Colón”;

  • const username = “jairo_developer”;

  • const age = 26;

  • const mail = “[email protected]”;

  • const olderAge = true;

  • const savedMoney = 1000000;

  • const debts = 100000;

3️⃣ Traduce a código JavaScript las variables del ejemplo anterior y deja tu código en los comentarios.

const name = "Jairo";
const lastname = "Colón";
const username = "jairo_developer";
const age = 26;
const email = "[email protected]";
const olderAge = true;
const savedMoney = 4000000;
const debts = 60000;

4️⃣ Calcula e imprime las siguientes variables a partir de las variables del ejemplo anterior:
Nombre completo (nombre y apellido)
Dinero real (dinero ahorrado menos deudas)


- Nombre completo (nombre y apellido)
const name = "Jairo";
const lastname = "Colón";
console.log(`Mi nombre es ${name} ${lastname}, un gusto estar acá`)
  • Dinero real (dinero ahorrado menos deudas)
const savedMoney = 40000000;
const debts = 60000;
const totalMoney = savedMoney - debts;

console.log(`El total de mi dinero es ${totalMoney}`);

Funciones
1️⃣ Responde las siguientes preguntas en la sección de comentarios:

  • ¿Qué es una función?
    RESPUESTA: Básicamente es un conjunto de instrucciones para realizar una tarea en específico.

  • ¿Cuándo me sirve usar una función en mi código?
    RESPUESTA: Cuando se que voy a poder reutilizar esa función.

  • ¿Cuál es la diferencia entre parámetros y argumentos de una función?
    RESPUESTA: Los parámetros son los nombres que aparecen en la definición de la función. Y los argumentos son los valores que le pasamos, y que por ende recibe una función.

2️⃣ Convierte el siguiente código en una función, pero, cambiando cuando sea necesario las variables constantes por parámetros y argumentos en una función

const name = "Juan David";
const lastname = "Castro Gallego";
const completeName = name + lastname;
const nickname = "juandc";

console.log("Mi nombre es " + completeName + ", pero prefiero que me digas " + nickname + ".");

/*MY SOLUTIONS*/

const myPresentation = function(name, lastname, nickname) {
    return console.log(`Mi nombre es ${name} ${lastname}, pero prefiero que me digas ${nickname}`);
}

myPresentation("Juan David", "Castro Gallego", "juandc")

Condicionales
1️⃣ Responde las siguientes preguntas en la sección de comentarios:

  • ¿Qué es un condicional?
    RESPUESTA: Es una sentencia para ver diferentes casos, si es verdadero o falso básicamente.

  • ¿Qué tipos de condicionales existen en JavaScript y cuáles son sus diferencias?
    RESPUESTA: Tenemos los siguientes condiciones en JavaScript.

  1. if
  2. else if
  3. else
  4. swicth
  5. se pueden trabajar condicionales también con objetos
  • ¿Puedo combinar funciones y condicionales?
    RESPUESTA: Si se pueden combinar.

2️⃣ Replica el comportamiento del siguiente código que usa la sentencia switch utilizando if, else y else if:

const tipoDeSuscripcion = "Basic";

switch (tipoDeSuscripcion) {
   case "Free":
       console.log("Solo puedes tomar los cursos gratis");
       break;
   case "Basic":
       console.log("Puedes tomar casi todos los cursos de Platzi durante un mes​");
       break;
   case "Expert":
       console.log("Puedes tomar casi todos los cursos de Platzi durante un año");
       break;
   case "ExpertPlus":
       console.log("Tú y alguien más pueden tomar TODOS los cursos de Platzi durante un año");
       break;
}

/*MY SOLUTIONS*/

let typeOfSubscription = "Expert";

if(typeOfSubscription == "Free"){
   console.log("Solo puedes tomar los cursos gratis 🧑‍💻");
} else if(typeOfSubscription == "Basic"){
    console.log("Puedes tomar casi todos los cursos de Platzi durante un mes ✅​");
} else if(typeOfSubscription == "Expert"){
  console.log("Puedes tomar casi todos los cursos de Platzi durante un año 🧑‍💻✅");
}else if(typeOfSubscription == "ExpertPlus") {
   console.log("Tú y alguien más pueden tomar TODOS los cursos de Platzi 🧑‍💻✅💯🕵️‍♀️") 
}


3️⃣ Replica el comportamiento de tu condicional anterior con if, else y else if, pero ahora solo con if (sin else ni else if).

/*MY SOLUTIONS*/

const typeSubcription = [
"Free",
"Basic", 
"Expert", 
"ExpertPlus"
];

const infoSubcription = [
"solo puedes tomar los cursos gratis", 
"puedes tomar casi todos los cursos de Platzi durante un mes", 
"puedes tomar casi todos los cursos de Platzi durante un año", 
"tú y alguien más pueden tomar TODOS los cursos de Platzi durante un año"];

const userSubcription = "Basic";

for (let i=0; i < typeSubcription.length; i++) {
  
  if (userSubcription == typeSubcription[i]) {
  	console.log(`Si tienes la suscripción ${typeSubcription[i]}, ${infoSubcription[i]}`)
  }
}

Ciclos
1️⃣ Responde las siguientes preguntas en la sección de comentarios:

  • ¿Qué es un ciclo?
    RESPUESTA: Es una secuencia de código que repite varias veces.

  • ¿Qué tipos de ciclos existen en JavaScript?
    RESPUESTA:
    Declaración ** for**.
    Declaración do… while.
    Declaración while.
    Declaración for…in.
    Declaración for…of.
    Habrán más, pero estos son lo que conozco.

  • ¿Qué es un ciclo infinito y por qué es un problema?
    RESPUESTA: Un ciclo infinito ocurre cuando olvidamos escribir una condición que nunca se va a dar. El problema con esto es que el ciclo queda eternamente repitiéndose y esto causa que el programa quede colgado.

  • ¿Puedo mezclar ciclos y condicionales?
    RESPUESTA: Si podemos combinarlos

2️⃣ Replica el comportamiento de los siguientes ciclos for utilizando ciclos while:

for (let i = 0; i < 5; i++) {
    console.log("El valor de i es: " + i);
}

for (let i = 10; i >= 2; i--) {
    console.log("El valor de i es: " + i);
}

/*MY SOLUTIONS*/

let index = 0;
while (index < 5) {
  index++;
  console.log(`El valor del index es: ${index}`)
}

let j = 10;
while (j >= 2) {
  j--;
  console.log(`El valor de j es: ${j}`)
}

3️⃣ Escribe un código en JavaScript que le pregunte a los usuarios cuánto es 2 + 2. Si responden bien, mostramos un mensaje de felicitaciones, pero si responden mal, volvemos a empezar.
💡 Pista: puedes usar la función prompt de JavaScript.

const suma = prompt("Cuanto es 2 + 2");
 if(suma == 4){
   console.log("Felicitaciones, respuesta correcta ​🥳​✔️​");
 } else {
   console.log("Respuesta incorrecta, vuelve a intentar ​❌​");
 } 

Listas
1️⃣ Responde las siguientes preguntas en la sección de comentarios:

  • ¿Qué es un array?
    RESPUESTA: Es un conjunto de elementos con el mismo tipo de datos, los cuales se pueden recorrer para agregar elementos, eliminarlos, duplicarlos.

  • ¿Qué es un objeto?
    RESPUESTA: Es una entidad independiente la cual tiene propiedades, lo podemos comparar en la vida real con un ejemplo, como el cuerpo humano: El cual tiene brazos, piernas, cabeza, color de piel, tiene métodos para caminar, correr, pensar, comer, etc.

  • ¿Cuándo es mejor usar objetos o arrays?
    RESPUESTA: Los arrays se utilizan cuando almacenamos múltiples valores de una sola variable, mientras que un objeto puede contener múltiples variables con sus valores.

  • ¿Puedo mezclar arrays con objetos o incluso objetos con arrays?
    RESPUESTA: Si podemos

2️⃣ Crea una función que pueda recibir cualquier array como parámetro e imprima su primer elemento.

const office = ["Computer", "Laptop", "Mouse", "Printer"];

const myOffice = function(element){
	console.log(element[0])
}

myOffice(office);

3️⃣ Crea una función que pueda recibir cualquier array como parámetro e imprima todos sus elementos uno por uno (no se vale imprimir el array completo).

const office = ["Computer", "Laptop", "Mouse", "Printer"];

function myOffice(element) {
  for (let i = 0; i < element.length; i++) {
    console.log(`${i + 1} ${element[i]}`)
  }
}
myOffice(office);

4️⃣ Crea una función que pueda recibir cualquier objeto como parámetro e imprima todos sus elementos uno por uno (no se vale imprimir el objeto completo).

let myPets = {
  dog1: [
    "Jeyka", "8 años"
  ],
  dog2: [
    "Kira", "6 años"
  ],
  cat1: [
    "Simona", "3 años"
  ],
  cat2: [
    "Mona", "2 años" 
  ]
};

function readObject(object) {
  for (let key in object) {
    console.log(object[key]);
 	}
 }
readObject(myPets);

Listas

1️⃣ Responde las siguientes preguntas en la sección de comentarios:

  • ¿Qué es un array?

    Un array es una estructura de datos que permite almacenar, de manera secuencial y estructurada, diferentes valores de cualquier tipo. Incluso puedes almacenar arrays dentro un array. Cada unos de los valores que guardes dentro de un array se les conoce como elementos, y cada elemento tiene una posición en el array, mejor conocido como el índice. Mira el siguiente en el cual se colocan algunos ejemplos de arrays:

    var numeros = [1, 2, 3, 4, 5];
    
    var estudiantesDePlatzi = ["Andrés", "Dylan", "Herlán", "Andrea"];
    
    var profesDePlatzi = ["Diego De Granda", "JuanDC", "Oscar Barajas", "Estefany Aguilar", "Diana Martínez", "Ricardo Celis"];
    

    Como puedes ver, es muy importante que separes a cada uno de los elementos con una coma. Y por otro lado, el índice se refiere a cada una de las posiciones en las que se encuentran cada uno de los elementos. En el caso del array numeros tenemos 5 elementos (que van desde el 1 hasta el 5), el índice del primer elemento (es decir, el número 1) es el 0; el índice del segundo es el 1; el del tercero es el 2; y así sucesivamente. Y así pasa con todos los demás arrays. Espero te haya podido quedar claro.

    Para acceder a un valor en específico que está dentro de un array, solo colocas el nombre de la variable en donde se encuentra el array y luego, entre corchetes ([]), colocas su índice. Por ejemplo:

    console.log(estudiantesDePlatzi[2]); // "Herlán"
    
  • ¿Qué es un objeto?

    Un objeto también es una estructura de datos que permite almacenar valores mediante la relación propiedad - valor. Puede que ahora me digas ¿espera, cómo así Andrés? Pues pasemos a mirarlo más fijamente mediante código:

    var profePlatzi1 = {
    		nombre: "JuanDC",
    		facultad: "Desarrollo Web"
    }
    
    var profePlatzi2 = {
    		nombre: "Carolina Boquín",
    		facultad: "Inglés"
    }
    
    var profePlatzi3 = {
    		nombre: "Renzo Cuadra",
    		facultad: "Habilidades Blandas"
    }
    
    var profePlatzi4 = {
    		nombre: "Geraldinne Bohórquez",
    		facultad: "Negocios"
    }
    

    Cada una de las variables es un objeto para un profe específico de Platzi, en el cual tiene dos propiedades para cada uno. La propiedad nombre el cual asigna como valor el nombre de cada profesor, y la propiedad facultad que tiene la categoría de los cursos que imparte dicho profesor (que el valor es un string con el nombre de la categoría). Para acceder a una de las propiedades con su respectivo valor, puedes hacerlo de dos maneras: con la notación de corchetes y la notación de puntos.

    // Notación de corchetes
    console.log(profePlatzi1["nombre"]); // "JuanDC"
    console.log(profePlatzi1["facultad"]); // "Desarrollo Web"
    
    // Notación de puntos
    console.log(profePlatzi3.nombre); // "Renzo Cuadra"
    console.log(profePlatzi3.facultad); // "Habilidades Blandas"
    

    La diferencia entre estas dos notaciones, como habrás notado, es que para la notación de corchetes tienes que, entre los corchetes, colocar el nombre de la propiedad entre comillas. Por en cambio, con la notación de punto esto no ocurre.

  • ¿Cuándo es mejor usar objetos o arrays?

    Los objetos son muy útiles para cuando necesites almacenar datos asociados con claves únicas. Los objetos son ideales cuando quieres acceder a los valores utilizando una clave personalizada en lugar de un índice numérico. Puedes usarlos también, si deseas agrupar datos relacionados y acceder a ellos de manera eficiente a través de la clave, o bien quieras aprovechar las características y funcionalidades adicionales de los objetos, como los métodos incorporados y la capacidad de definir comportamiento personalizado.

    En cambio, los arrays son muy útiles en caso de que necesites almacenar una colección de elementos ordenados y acceder a ellos mediante un índice numérico, o quieras aprovechar las características y funcionalidades específicas de los arrays, como los métodos de manipulación de arreglos (por ejemplo, push, pop, shift, unshift) y las funciones de iteración (por ejemplo, forEach, map, filter).

  • ¿Puedo mezclar arrays con objetos o incluso objetos con arrays?

    ¡Definitivamente, sí! Pues, en muchos casos, los objetos y los arrays se pueden combinar para lograr la estructura de datos deseada. Por ejemplo, puedes tener un array de objetos donde cada objeto contiene propiedades clave-valor. Mira el siguiente código en donde cada uno de los objetos profePlatzi están estructurados dentro de un array.

    var profesPlatzi = [
    		{ nombre: "JuanDC", facultad: "Desarrollo Web" },
    		{ nombre: "Carolina Boquín", facultad: "Inglés" },
    		{ nombre: "Renzo Cuadra", facultad: "Habilidades Blandas" },
    		{ nombre: "Geraldinne Bohórquez", facultad: "Negocios" }
    ];
    

2️⃣ Crea una función que pueda recibir cualquier array como parámetro e imprima su primer elemento.

function firstElement(array) {
		console.log(array[0]);
}

3️⃣ Crea una función que pueda recibir cualquier array como parámetro e imprima todos sus elementos uno por uno (no se vale imprimir el array completo).

function allElements(array) {
		for (var element of array) {
				console.log(element);
		}
}

4️⃣ Crea una función que pueda recibir cualquier objeto como parámetro e imprima todos sus elementos uno por uno (no se vale imprimir el objeto completo).

function printObject(object) {
    for (var key in object) {
        if (object.hasOwnProperty(key)) {
            console.log(object[key]);
        }
    }
}
  1. a) Una variable representa un espacio en memoria y esta nos permite almacenar información. Se pueden alojar diversos tipos de datos en las variables.
    b) Se declara una variable para reservar el espacio en memoria y se inicializa al asignarle algún valor determinado.
    c) Una operación matemática vs la unión de datos tipo string.
    d) +
  2. nombre = "string"
    apellido = "string"
    usuario = "string"
    edad = number
    email = "string"
    mayor de edad = booleano
    dinero = number
    deudas = number
 var nombre = "johan";
var apellido = "lópez";
var usuario = "user";
var edad = 33;
var email = "email@email";
var mayorEdad = true;
var dinero = 5000;
var deuda = 400;

console.log(nombre + apellido);
var total;
total = dinero -deuda;
console.log(total);

Funciones

Una función es una parte del código que nos permite automaitzar el mismo, se puede declarar o expresar y depende (según su utilidad) de unos parámetros para su ejecución.

Test JavaScript 😄

Variables y operaciones 🌟

1️⃣ Responde las siguientes preguntas en la sección de comentarios:

  • ¿Qué es una variable y para qué sirve?

    • Elemento que se emplea para almacenar y hacer referencia a otro valor. Pueden tenerse presentes las variables “var”, “let” o “const”
  • ¿Cuál es la diferencia entre declarar e inicializar una variable?

    • Declarar: Es darle nombre a la variable.
    • Inicializar: Es darle valor a una variable declarada
  • ¿Cuál es la diferencia entre sumar números y concatenar strings?

    • Sumar números: Realizar la operación entre 2 o n números teniendo presente el operador de la suma “+”.
    • Concatenar: Unir varios Strings con el operando +; pero teniendo en cuenta que los Strings deben ir en comillas, ya sean simples o dobles.
  • ¿Cuál operador me permite sumar o concatenar?

    • Con el signo de sumar “+”

2️⃣ Determina el nombre y tipo de dato para almacenar en variables la siguiente información:

  • Nombre: String
  • Apellido: String
  • Nombre de usuario en Platzi: String
  • Edad: int
  • Correo electrónico: String
  • Mayor de edad: boolean o int (depende del contexto)
  • Dinero ahorrado: boolean o int (depende del contexto)
  • Deudas: boolean o int (depende del contexto)

3️⃣ Traduce a código JavaScript las variables del ejemplo anterior y deja tu código en los comentarios.

<code> 
var nombre;
var apellido;
var nombreUsuario;
var edad;
var correoElectronico;
var mayorEdad;
var dineroAhorrado;
var deudas;

nombre = "Laura";
apellido = "García";
nombreUsuario = "LauraVaGarciaA";
edad = 27;
correoElectronico = "[email protected]";
mayorEdad = true;
dineroAhorrado = true;
deudas = false;

console.log('Mi nombre es: '+nombre+' '+apellido+'; mi usuario es: '+nombreUsuario+'; tengo '+edad+' años. Mi correo electrónico es: '+correoElectronico+' ¿Soy mayor de edad?: '+mayorEdad+' ¿Tengo dinero Ahorrado?: '+dineroAhorrado+' ¿Tengo deudas?: '+deudas );

4️⃣ Calcula e imprime las siguientes variables a partir de las variables del ejemplo anterior:

  • Nombre completo (nombre y apellido)
  • Dinero real (dinero ahorrado menos deudas)
<code> 

var nombre;
var apellido;
var nombreUsuario;
var edad;
var correoElectronico;
var mayorEdad;
var dineroAhorrado;
var deudas;

nombre = "Laura";
apellido = "García";
nombreUsuario = "LauraVaGarciaA";
edad = 27;
correoElectronico = "[email protected]";
mayorEdad = true;
dineroAhorrado = 10000000;
deudas = 500000;

dineroReal = dineroAhorrado - deudas;

console.log('Mi nombre es: '+nombre+' '+apellido+'; mi usuario es: '+nombreUsuario+'; tengo '+edad+' años. Mi correo electrónico es: '+correoElectronico+' ¿Soy mayor de edad?: '+mayorEdad+'. Mi dinero real, es: $ '+dineroReal+' Pesos Colombianos' );

// Variables y operaciones

// ¿Qué es una variable y para qué sirve?
// Una variable es un espacio en memoria, que sirve para almacenar
// cualquier tipo de dato ya se string, int, o boolean

// ¿Cuál es la diferencia entre declarar e inicializar una variable?
// Cuando se declara una variable, se esta reservando un espacio en
// memoria, pero que no tiene ningun tipo de informacion esta alli
// esperandonos, Ahora cuando la inicializamos, es cuando le damos
// algun tipo de valor que es almacenado en la variable.Ahora

// ¿Cuál es la diferencia entre sumar números y concatenar strings?
// Cuando se suman dos numeros, estamos involucrando tipos de datos
// entero o boolenos, cuando se concardenan, se unen dos tipos de
// datos string, es decir que son dos cosas totalmente diferentes.

// ¿Cuál operador me permite sumar o concatenar?
// Es el operador de suma, este operador te permite sumar y concardenar
// datos de tipo string.

// Determina el nombre y tipo de dato para almacenar en
// variables la siguiente información:

// Nombre name = string
// Apellido lastName = string
// Nombre de usuario en Platzi userName = string
// Edad age = int
// Correo electrónico email = string
// Mayor de edad ageAlderly = int
// Dinero ahorrado dinerSaved = int
// Deudas debts = string

// Traduce a código JavaScript las variables del ejemplo anterior
// y deja tu código en los comentarios.

// let name, lastName, userName, age, email, ageAlder,y, dinerSaved, debts;

// Calcula e imprime las siguientes variables a partir de las variables del ejemplo anterior:
// Nombre completo (nombre y apellido)
// Dinero real (dinero ahorrado menos deudas)

// let name = “Oscar”, lastName = “Lopez”, fullName;
// console.log(${name} ${lastName});

// let deinerSaved = 5000, deudas = 15000; realDiner;
// realDiner = dinerSaved - realDiner;
// console.log(realDiner);

// Funciones

// Responde las siguientes preguntas en la sección de comentarios:

// ¿Qué es una función?
// Una funcion es pedacito de codigo envuelto entre llaves, que hacen algo
// especifico y que ademas es reutilizable.

// ¿Cuándo me sirve usar una función en mi código?
// En este caso si veo que el codigo que estoy escribiendo es muy repetitivo,
// es decir hace siempre lo mismo por ejemplo una operacion de suma alli
// aplico una funcion por que la puedo reutilizar y escribiria el codigo una sola vez

// ¿Cuál es la diferencia entre parámetros y argumentos de una función?
// Bueno cuando hablamos de parametros, son los que van dentro de los parentesis
// de la funcion y los argumentos son el valor de los parametros, seria como
// la variable y el valor de la variable.Ahora

// Convierte el siguiente código en una función, pero, cambiando cuando sea necesario
// las variables constantes por parámetros y argumentos en una función:

// function datos(name= “Juan David”, lastname = “Castro Gallego”, nickname = “juandc”){
// completeName = name + lastname;
// console.log(completeName);
// }
// datos();

// Condicionales

// ¿Qué es un condicional?
// Un condicional es algo que se puedo cumplir o no dependiendo de una condicion.Qué

// ¿Qué tipos de condicionales existen en JavaScript y cuáles son sus diferencias?
// En JavaScript existen los condicionales simples, condicionales dobles, condicionales
// anidados, condicionales multiples bueno esos son de los que yo me acuerdo, ahora su
// diferencia implica en que los simples validan una sola condicion, los dobles como dice su nombre
// dos condiciones, los multiples muchas condiciones, y los anidados si la consicion
// primera es verdadera evaluara otra condicion dependiendo de la anterior y asi sucesivamente
// ademas de la diferencia de us estructura.

// ¿Puedo combinar funciones y condicionales?
// Si claro ademas de eso arreglos, objetos y funciones con funciones.

// Replica el comportamiento del siguiente código que usa la sentencia
// switch utilizando if, else y else if:
// const tipoDeSuscripcion = “Basic”;

// switch (tipoDeSuscripcion) {
// case “Free”:
// console.log(“Solo puedes tomar los cursos gratis”);
// break;
// case “Basic”:
// console.log(“Puedes tomar casi todos los cursos de Platzi durante un mes”);
// break;
// case “Expert”:
// console.log(“Puedes tomar casi todos los cursos de Platzi durante un año”);
// break;
// case “ExpertPlus”:
// console.log(“Tú y alguien más pueden tomar TODOS los cursos de Platzi durante un año”);
// break;
// }

// let tipoDeSuscripcion = “ExpertPlus”;

// if (tipoDeSuscripcion === “Free”) {
// console.log(“Solo puedes tomar los cursos gratis”);
// } else if (tipoDeSuscripcion === “Basic”) {
// console.log(“Puedes tomar casi todos los cursos de Platzi durante un mes”);
// } else if (tipoDeSuscripcion === “Expert”) {
// console.log(“Puedes tomar casi todos los cursos de Platzi durante un año”);
// } else if (tipoDeSuscripcion === “ExpertPlus”) {
// console.log(
// “Tú y alguien más pueden tomar TODOS los cursos de Platzi durante un año”
// );
// }

// Replica el comportamiento de tu condicional anterior con if, else y else if,
// pero ahora solo con if (sin else ni else if).

// let tipoDeSuscripcion = “ExpertPlus”;

// if (tipoDeSuscripcion === “Free”) {
// console.log(“Solo puedes tomar los cursos gratis”);
// }
// if (tipoDeSuscripcion === “Basic”) {
// console.log(“Puedes tomar casi todos los cursos de Platzi durante un mes”);
// }
// if (tipoDeSuscripcion === “Expert”) {
// console.log(“Puedes tomar casi todos los cursos de Platzi durante un año”);
// }
// if (tipoDeSuscripcion === “ExpertPlus”) {
// console.log(
// “Tú y alguien más pueden tomar TODOS los cursos de Platzi durante un año”
// );
// }

// 💡 Bonus: si ya eres una experta o experto en el lenguaje, te desafío a comentar
// cómo replicar este comportamiento con arrays u objetos y un solo condicional. 😏

// let tipoSuscripcion = [
// “Free”,
// “Basic”,
// “Expert”,
// “ExpertPlus”
// ];

// let = descripcionServicio = [
// “Solo puedes tomar los cursos gratis”,
// “Puedes tomar casi todos los cursos de Platzi durante un mes”,
// “Puedes tomar casi todos los cursos de Platzi durante un año”,
// “Tú y alguien más pueden tomar TODOS los cursos de Platzi durante un año”
// ];

// let userTipoSuscripcion = “Basic”;

// for(i = 0; i < tipoSuscripcion.length; i++){
// if(tipoSuscripcion[i
// ] == userTipoSuscripcion){
// console.log(Ususario tiene un tipo de suscripcion: ${tipoSuscripcion[i]} // nota: ${descripcionServicio[i]})
// }
// }

// Ciclos

// ¿Qué es un ciclo?
// Un ciclo es un pedacito de codigo que se ejecuta una y otra vez hasta que la condicion
// deja de ser verdadera se rompe y se ejecuta el codigo dentro de su ScriptProcessorNode

// ¿Qué tipos de ciclos existen en JavaScript?
// Bueno existen los ciclos while, for, do while, foreach

// ¿Qué es un ciclo infinito y por qué es un problema?
// Un ciclo infinito es cuando la condicion es siempre verdadera, estos casos pasan cuando
// la variable contador no tiene incremento y siempre tendra el mismo valor, lo que hara
// que el ciclo se ejecute una y otra vez, esto es un problema para nuesta pagina web
// ya que no se ejecutaran el resto de codigo y la pagina simpre quedara cargando.

// ¿Puedo mezclar ciclos y condicionales?
// si claro podemos mesclar ciclos nocesariamente con condicionales sino tan bien con
// objetos, arrays, funciones etc

// Replica el comportamiento de los siguientes ciclos for utilizando ciclos while:
// for (let i = 0; i < 5; i++) {
// console.log("El valor de i es: " + i);
// }
// let i = 0;
// while(i < 5){
// i++;
// console.log("El valor de i es: " + i);
// }

// for (let i = 10; i >= 2; i–) {
// console.log("El valor de i es: " + i);
// }

// let i = 10;
// while (i >= 0) {
// console.log("El valor de i es: " + i);
// i–;
// }

// Escribe un código en JavaScript que le pregunte a los usuarios cuánto es 2 + 2. Si responden bien, mostramos un mensaje de felicitaciones, pero si responden mal, volvemos a empezar.
// 💡 Pista: puedes usar la función prompt de JavaScript.

// let suma = 4
// let res = prompt(parseInt(“cuanto es 2 + 2 ?”));
// while(suma != res){
// res = prompt(“cuanto es 2 + 2?”);
// }
// console.log(“DIVINOOOOOOO”)

// ARRAY
// Responde las siguientes preguntas en la sección de comentarios:
// ¿Qué es un array?
// Es una variable que púede almacenar diferentes tipo de datos, string, int, boolean,
// funciones, objestos etc, en pocas palabras es como una caja grande que puede
// almacenar diferentes tipo de datos.

// ¿Qué es un objeto?
// Es algo que tiene propiedades que conforman al objeto, es decir un carro
// tiene llantas, puertas, vidrios, asientos etc
// estas proíedades conforman al objeto.

// ¿Cuándo es mejor usar objetos o arrays?
// ambos son utiles, aqui depende del caso de lo que uno quiere hacer
// hay veces que es mejor usar arrays que objetos y lo contrario

// ¿Puedo mezclar arrays con objetos o incluso objetos con arrays?
// si se puede

// Crea una función que pueda recibir cualquier array como parámetro
// e imprima su primer elemento.

// let comidas = [‘leche’, ‘yogut’, ‘banana’, ‘arroz’, ‘frijoles’];

// function imprimir(recibir){
// console.log(recibir[3]);
// }

// imprimir(comidas)

// Crea una función que pueda recibir cualquier array como parámetro e imprima
// todos sus elementos uno por uno (no se vale imprimir el array completo).

// let dia = [‘lunes’,‘martes’,‘miercoles’,‘jueves’,‘viernes’];

// function imprimir ( recibir){
// for(i=0; i < recibir.length; i++){
// console.log(dia: ${recibir[i]})
// }
// }
// imprimir(dia)

// Crea una función que pueda recibir cualquier objeto como
// parámetro e imprima todos sus elementos uno por uno
// (no se vale imprimir el objeto completo).
//

// aqui me falto casi la cumino jejejje…

Variables y operaciones
1️⃣ Responde las siguientes preguntas en la sección de comentarios:
¿Qué es una variable y para qué sirve?

It's a code block that we write with a name and a value that save it on memory

¿Cuál es la diferencia entre declarar e inicializar una variable?

When you declare a var you put the name but do not necessarily you put the value and init a var it's when putting the var value

¿Cuál es la diferencia entre sumar números y concatenar strings?

sum numbers you use the format of the numbers and concatenate string it's when you join strings

¿Cuál operador me permite sumar o concatenar?

the operator or signal +

2️⃣ Determina el nombre y tipo de dato para almacenar en variables la siguiente información:
Nombre - string
Apellido - string
Nombre de usuario en Platzi - string
Edad - number
Correo electrónico - string
Mayor de edad - boolean
Dinero ahorrado - number
Deudas - boolean
3️⃣ Traduce a código JavaScript las variables del ejemplo anterior y deja tu código en los comentarios.
let name = ‘Hector’;
let lastName = ‘Milano’;
let username = ‘Torecito’;
let age = 20;
let correo = ‘[email protected]’;
let fullAge = boolean;
let saveMoney = number;
let debts = number

4️⃣ Calcula e imprime las siguientes variables a partir de las variables del ejemplo anterior:
Nombre completo (nombre y apellido)
const fullName = (name, lastName) => name + lastName;

Dinero real (dinero ahorrado menos deudas)
const realMoney = (saveMoney, debts) => saveMoney - debts;

Funciones
1️⃣ Responde las siguientes preguntas en la sección de comentarios:
¿Qué es una función?

a code block that saves code that with can use in other parts of our project

¿Cuándo me sirve usar una función en mi código?

When you have to use the same piece of code more than one time

¿Cuál es la diferencia entre parámetros y argumentos de una función?
parameters are the name listed on the function and arguments are the value passed on the function

2️⃣ Convierte el siguiente código en una función, pero, cambiando cuando sea necesario las variables constantes por parámetros y argumentos en una función:
const name = “Juan David”;
const lastName = “Castro Gallego”;
const nickname = “juandc”;

const completeName = (name, lastName) => let fullName = ‘name + lastName’;

console.log("Mi nombre es " + fullName + ", pero prefiero que me digas " + nickname + “.”);
Condicionales
1️⃣ Responde las siguientes preguntas en la sección de comentarios:
¿Qué es un condicional?
code block that is ejecuted if something it’s true or not
¿Qué tipos de condicionales existen en JavaScript y cuáles son sus diferencias?
if: something true
else: sometring that is not true
if else: a specific condition

¿Puedo combinar funciones y condicionales?
2️⃣ Replica el comportamiento del siguiente código que usa la sentencia switch utilizando if, else y else if:
const tipoDeSuscripcion = “Basic”;

switch (tipoDeSuscripcion) {
case “Free”:
console.log(“Solo puedes tomar los cursos gratis”);
break;
case “Basic”:
console.log(“Puedes tomar casi todos los cursos de Platzi durante un mes”);
break;
case “Expert”:
console.log(“Puedes tomar casi todos los cursos de Platzi durante un año”);
break;
case “ExpertPlus”:
console.log(“Tú y alguien más pueden tomar TODOS los cursos de Platzi durante un año”);
break;
}
3️⃣ Replica el comportamiento de tu condicional anterior con if, else y else if, pero ahora solo con if (sin else ni else if).
💡 Bonus: si ya eres una experta o experto en el lenguaje, te desafío a comentar cómo replicar este comportamiento con arrays u objetos y un solo condicional. 😏

Ciclos
1️⃣ Responde las siguientes preguntas en la sección de comentarios:
¿Qué es un ciclo?
¿Qué tipos de ciclos existen en JavaScript?
¿Qué es un ciclo infinito y por qué es un problema?
¿Puedo mezclar ciclos y condicionales?
2️⃣ Replica el comportamiento de los siguientes ciclos for utilizando ciclos while:
for (let i = 0; i < 5; i++) {
console.log("El valor de i es: " + i);
}

for (let i = 10; i >= 2; i–) {
console.log("El valor de i es: " + i);
}
3️⃣ Escribe un código en JavaScript que le pregunte a los usuarios cuánto es 2 + 2. Si responden bien, mostramos un mensaje de felicitaciones, pero si responden mal, volvemos a empezar.
💡 Pista: puedes usar la función prompt de JavaScript.

Listas
1️⃣ Responde las siguientes preguntas en la sección de comentarios:
¿Qué es un array?
¿Qué es un objeto?
¿Cuándo es mejor usar objetos o arrays?
¿Puedo mezclar arrays con objetos o incluso objetos con arrays?
2️⃣ Crea una función que pueda recibir cualquier array como parámetro e imprima su primer elemento.
3️⃣ Crea una función que pueda recibir cualquier array como parámetro e imprima todos sus elementos uno por uno (no se vale imprimir el array completo).
4️⃣ Crea una función que pueda recibir cualquier objeto como parámetro e imprima todos sus elementos uno por uno (no se vale imprimir el objeto completo).

Condicionales
3️⃣ Replica el comportamiento de tu condicional anterior con if, else y else if, pero ahora solo con if (sin else ni else if).

💡 Bonus: si ya eres una experta o experto en el lenguaje, te desafío a comentar cómo replicar este comportamiento con arrays u objetos y un solo condicional.

var tiposDeSuscripcion = [
    "Free",
    "Basic", 
    "Expert", 
    "ExpertPlus"
];
var infoDeSuscripcion = [
    "solo puedes tomar los cursos gratis", 
    "puedes tomar casi todos los cursos de Platzi durante un mes", 
    "puedes tomar casi todos los cursos de Platzi durante un año", 
    "tú y alguien más pueden tomar TODOS los cursos de Platzi durante un año"
];

const suscripcion = "Basic";

var indice = tiposDeSuscripcion.indexOf(suscripcion);

console.log(infoDeSuscripcion[indice]);

Test de Javascript
Variables y operaciones

  • ¿Qué es una variable y para qué sirve?
    Una variable es un contenedor o espacio de memoria en donde se pueden almacenar datos.
  • ¿Cuál es la diferencia entre declarar e inicializar una variable?
    Cuando se declara una variable unicamente se le indica al programa a partir de donde existe o desde donde se puede empezar a ocupar, y se inicializa una variable cuando ya se le asigna un valor.
  • ¿Cuál es la diferencia entre sumar números y concatenar strings?
    La primera diferencia y la mas importante seria el valor que obtiene cada variable. Cuando se suman dos números obtenemos un valor entero y numerico por ejempo, 3 + 6 = 9 y cuando concatenamos dos strings obtenemos un string mas largo, por ejemplo “3” + “6” = 36
  • ¿Cuál operador me permite sumar o concatenar?
    El signo de suma “+” es el que nos permite realizar ambas operaciones.

Replica el comportamiento de tu condicional anterior con if, else y else if, pero ahora solo con if (sin else ni else if).

 const typeSuscripcion = {
  Free: "solo puedes tomar los cursos gratis",
  Basic: "puedes tomar casi todos los cursos de Platzi durante un mes",
  Expert: "puedes tomar casi todos los cursos de Platzi durante un año",
  ExpertPlus:
    "tú y alguien más pueden tomar TODOS los cursos de Platzi durante un año",
};
let userSuscription = "Expert";

if (userSuscription in typeSuscripcion) {
  console.log(typeSuscripcion[userSuscription]);
}

FUNCIONES
2️⃣ Convierte el siguiente código en una función, pero, cambiando cuando sea necesario las variables constantes por parámetros y argumentos en una función:

function publicSpeech() {
    const name = "Juan David ";
    const lastname = "Castro Gallego ";
    const completeName = name + lastname;
    const nickname = "juandc";
    for ( i = 0; i < 1; i++) {
        console.log("My name is " + completeName + "but please call me " + nickname);
    }
}
publicSpeech();

1️⃣ Responde las siguientes preguntas en la sección de comentarios:
¿Qué es un condicional?
Una instrucción que evalúa verdadero o falso para luego realizar una acción
¿Qué tipos de condicionales existen en JavaScript y cuáles son sus diferencias?
_Existen 2 tipos de funciones

  1. Declarativas
  2. De expresión_
    ¿Puedo combinar funciones y condicionales?
    Si

2️⃣ Replica el comportamiento del siguiente código que usa la sentencia switch utilizando if, else y else if:

let tipoDeSuscripcion = 'Basic';

if (tipoDeSuscripcion === 'Free') {
  console.log('Solo puedes tomar los cursos gratis');
} else if (tipoDeSuscripcion === 'Basic') {
  console.log('Puedes tomar casi todos los cursos de Platzi durante un mes');
} else if (tipoDeSuscripcion === 'Expert') {
  console.log('Puedes tomar casi todos los cursos de Platzi durante un año');
} else if (tipoDeSuscripcion === 'ExpertPlus') {
  console.log("Tú y alguien más pueden tomar TODOS los cursos de Platzi durante un año");
}

3️⃣ Replica el comportamiento de tu condicional anterior con if, else y else if, pero ahora solo con if (sin else ni else if).

let tipoDeSuscripcion2 = 'Free';

if (tipoDeSuscripcion2 === 'Free') {
  console.log('Solo puedes tomar los cursos gratis');
} 
if (tipoDeSuscripcion2 === 'Basic') {
  console.log('Puedes tomar casi todos los cursos de Platzi durante un mes');
} 
if (tipoDeSuscripcion2 === 'Expert') {
  console.log('Puedes tomar casi todos los cursos de Platzi durante un año');
} 
if (tipoDeSuscripcion2 === 'ExpertPlus') {
  console.log("Tú y alguien más pueden tomar TODOS los cursos de Platzi durante un año");
}

Acá dejo mi aporte.


// Variables y operaciones
let nombre = 'luis';
let apellido = 'pacheco';
let usuarioPlatzi = 'pachecolanzziano';
let edad = 32;
let email = '[email protected]';
let mayor_de_edad = true;
let dinero_ahorrado = 200000;
let deudas = 2700000;

console.log(`Bienvenido ${nombre.toUpperCase()}`)
document.write(nombre +' '+apellido);
document.write('<br>')
document.write(`${nombre} ${apellido}`);

//Funciones
const name = "Juan David";
const lastname = " Castro Gallego";
const completeName = name + lastname;
const nickname = "juandc";

function mostrarDatos(completeName, nickname) {
  document.write("Mi nombre es " + completeName + ", pero prefiero que me digas " + nickname + ".");
}
mostrarDatos(completeName, nickname)

// Condicionales
const tipoDeSuscripcion = "Basic";

if (tipoDeSuscripcion == "Free") {
  console.log("Solo puedes tomar los cursos gratis");
}else if(tipoDeSuscripcion == "Basic"){
  console.log("Puedes tomar casi todos los cursos de Platzi durante un mes");
}
else if(tipoDeSuscripcion == "Expert"){
  console.log("Puedes tomar casi todos los cursos de Platzi durante un año");
}
else if(tipoDeSuscripcion == "ExpertPlus"){
  console.log("Tú y alguien más pueden tomar TODOS los cursos de Platzi durante un año");
}else{
  console.log("Tú opcion no es valida");
}

// ------ 2 ------
const tipoDeSuscripcion2 = "Basic";

if (tipoDeSuscripcion2 == "Free") {
  console.log("Solo puedes tomar los cursos gratis");
}
if(tipoDeSuscripcion2 == "Basic"){
  console.log("Puedes tomar casi todos los cursos de Platzi durante un mes");
}
if(tipoDeSuscripcion2 == "Expert"){
  console.log("Puedes tomar casi todos los cursos de Platzi durante un año");
}
if(tipoDeSuscripcion2 == "ExpertPlus"){
  console.log("Tú y alguien más pueden tomar TODOS los cursos de Platzi durante un año");
}
 
// ---  Bonus ---
var arrayDeSuscripcion =[
  "Free" ,"Solo puedes tomar los cursos gratis",
  "Basic" ,"Puedes tomar casi todos los cursos de Platzi durante un mes",
  "Expert" ,"Puedes tomar casi todos los cursos de Platzi durante un año",
  "ExpertPlus","Tú y alguien más pueden tomar TODOS los cursos de Platzi durante un año",
]
let pos = arrayDeSuscripcion.indexOf('Free');

if (pos != -1){
  console.log(arrayDeSuscripcion[pos+1])
}

// Ciclos
//convertir de For a While
let i = 0
while(i<5){
  console.log("El valor de i es: " + i);
  i++
}

let k = 10
while (k >= 2 ) {
  console.log("El valor de i es: " + k);
  k--
}

// 2+2=?

while (true){
  let valor = parseInt(prompt("cuanto es 2+2="));
  if(valor == 4){
    document.write(`Felicitaciones 2 + 2 = ${valor}`);
    break;
  }else{
    alert(`La respuesta no es ${valor}, vulve a intentarlo`);
  }
}


//Listas
// --- 1 ---
function firstElementArray(array){
  document.write(array[0]);
}
let frutas=["manzana", "pera", "mango"]
firstElementArray(frutas);

// --- 2 ---
let frutas=["manzana", "pera", "mango"]
function mostrarArray(array){
  for (let elemento of array){
    document.write(`${elemento}<br>`)
  }
}
mostrarArray(frutas)

//--- 3 ---
let persona = {
  'nombre':'luis',
  'apellido':'pacheco',
  'edad':32,
  'email':'[email protected]'
}

function mostrarObjeto(objeto){
  for(item in objeto){
      document.write(`${objeto[item]}<br>`)
  }
}
mostrarObjeto(persona);

let i = 0;
while(i < 1){
let x = prompt(‘2 + 2?’);
x = parseInt(x);
if(x == 4){alert(‘Felicidades’)
i = 1;}

}

1\. ¿Que es una variable y para que sirve? una variable en javascript se trata de darle nombre y sentido a un elemento, ya sea de cualquier tipo de dato que yo desee crear, seguarda un espacio en memoria para este y es de forma temporal, otra caraccteristicas de la variable es que no es constantes y pueden ser reutilizadas, ejemplo, creamos una variable cualquiera: var elemento = "variable", tambien se conoce como var, let, o const.. ¿Cual es la diferencia entre declarar e inicializar una variable? declarar una variable se refiere a dotarla de nombre y su tipo de dato, mientras que inicilizar se refiere a llamar esa variable cuando sea necesaria. ¿Cual es la diferencia entre sumar numeros y concatenar strings? la suma de numeros se da con el simbolo + entre dos valores numericos, mientras que concatenar strings se refiere a unir estos dos tipos de datos en una sola linea. ¿Cual operador me permite sumar o concatenar? el operador +. 2\. Determina el nombre y tipo de dato para almacenar en variables la siguiente información: \- Nombre = string \- Apellido = string \- Nombre de usuario de platzi = string \- Edad = numerico \- Correo electronico = string \- Mayor de edad = Boolean \- Dinero ahorrado = numerico \- Deudas = numerico 3\. Traduce a código Javascript las variables del ejemplo anterior y deja tu código en los comentarios. var nombre = "Jose"; var apellido = "Molina"; var usuario = "Jose Molina"; var edad = 23; var email = "[email protected]" var adulto = true; var dineroAhorrado = 500000; var deudas = 1500; 4\. Calcula e imprime las siguientes variables a partir de las variables del ejemplo anterior: var nombre = "Jose"; var apellido = "Molina"; { console.log('Mi nombre completo es ${nombre} ${apellido}'); var dineroAhorrado = 500000 ; var deudas = 1500 ; var dineroTotal= dineroAhorrado - deudas; { console.log(`El total de mi dinero actual es: $${dineroTotal}'); FUNCIONES 1\. Responde las siguientes preguntas en la sección de comentarios: ¿Que es una función? -Una función como lo dice el nombre representa una serie de instrucciones, aplicando unos parametros dentro de ella y un contenido que imprima el resultado de la función. ¿Cuando me sirve usar una función en mi codigo? -cuando se tiene distintos parametros que se pueden representar de una manera mas simple a traves de una función y poder acceder a estos de una forma mas optima. ¿Cual es la diferencia entre parámetros y argumentos de una función? \- los parametros es el contenido de nuestra función, estos pueden variar la cantidad depende de la función en cambio los argumentos de una función son las instrucciones que va recibir esta misma, y dependiendo de los argumentos me imprime un resultado. 2\. Convierte el siguiente código en una función, pero, cambiando cuando sea necesario las variables constantes por parámetros y argumentos en una función: const name = "Juan David"; const lastname = "Castro Gallego"; const completeName = name + lastname; const nickname = "juandc"; console.log("Mi nombre es " + completeName + ", pero prefiero que me digas " + nickname + "."); function miPresentacion (name, lastname, nickname) { console.log('Mi nombre completo es ${name} ${lastname], pero pregiero que me digan ${nickname}.'); } miPresentacion CONDICIONALES 1\. ¿Qué es un condicional? condicionales como se utilizan para representar casos donde independientemente de cierto resultado se procede a realizar cierta acción en base a eso. ¿Qué tipos de condicionales existen en JavaScript y cuáles son sus diferencias? if, su traduccion es "si" quiere decir que si nuestro resultado es positivo, procede a realizar ciertas instrucciones. else if, su traduccion es "entonces si" se da en caso de que el primer resultado no resulte positivo se procede a realizar las instruciones de este condicional. else, el else se da en caso los anteriores resultados hayan sido negativos y no hay respuesta para ninguna variable, se procede a realizar las instrucciones de este condicional. switch, este con dicional a diferencia de los otros, nos presenta dentro de sus instrucciones varios casos con sus propias intrucciones para operar. ¿Puedo combinar funciones y condicionales? si, se complementan en base a los parametros de la funcion podemos determinar que tipo de condicionales usaremos y para que las necesitamos. 2\. Replica el comportamiento del siguiente código que usa la sentencia switch utilizando if, else y else if: const tipoDeSuscripcion = "Basic"; switch (tipoDeSuscripcion) { case "Free": console.log("Solo puedes tomar los cursos gratis"); break; case "Basic": console.log("Puedes tomar casi todos los cursos de Platzi durante un mes"); break; case "Expert": console.log("Puedes tomar casi todos los cursos de Platzi durante un año"); break; case "ExpertPlus": console.log("Tú y alguien más pueden tomar TODOS los cursos de Platzi durante un año"); break; } RESULTADO: var tipoDeSuscripcion = "Basic"; var tipoDeSuscripcion = "Expert"; var tipoDeSuscripcion = "ExpertPlus"; var tipoDeSuscripcion = "Free" if (tipoDeSuscripcion == "Basic") { console.log("puedes tomar casi todos los cursos de platzi durante un mes"); } else if (tipoDeSuscripcion == "Expert") { console.log("Puedes tomar casi todos los cursos de Platzi durante un año"); } else if (tipoDeSuscripcion == "ExpertPlus") { console.log("Tú y alguien más pueden tomar TODOS los cursos de Platzi durante un año"); } else if (tipoDeSuscripcion == "Free") { console.log("Solo puedes tomar los cursos gratis"); } else { console.log("no tienes ninguna suscripción"); } 3\. Replica el comportamiento de tu condicional anterior con if, else y else if, pero ahora solo con if (sin else ni else if). if(tipoDeSuscripcion === "Free"){ console.log("Solo puedes tomar los cursos gratis"); } if(tipoDeSuscripcion === "Basic"){ console.log("Puedes tomar casi todos los cursos de Platzi durante un mes"); } if(tipoDeSuscripcion === "Expert"){ console.log("Puedes tomar casi todos los cursos de Platzi durante un año"); } CICLOS 1\. Responde las siguientes preguntas en la sección de comentarios: ¿Qué es un ciclo? El ciclo se refiere a toda acción automatica en donde las intrucciones se vuelven a repetir una y otra vez hasta llegar a un punto donde se detiene, o no, dependiendo de la condición. ¿Qué tipos de ciclos existen en JavaScript? for, while y do while ¿Qué es un ciclo infinito y por qué es un problema? un ciclo infinito es cuando una condicion no se llega a cumplir, por lo tanto el proceso nunca termina. ¿Puedo mezclar ciclos y condicionales? Sí, podemos condicionar un ciclo para que se repita todas las veces hasta que se cumplan una condición que internamente puede tener otra condición para su evaluación. 2\. Replica el comportamiento de los siguientes ciclos for utilizando ciclos while: for (let i = 0; i < 5; i++) { console.log("El valor de i es: " + i); } let i = 0; while(i < 5) { console.log("El valor de i es: " + i); i++; } for (let i = 10; i >= 2; i--) { console.log("El valor de i es: " + i); } let i = 10; while(i >= 2) { console.log("El valor de i es: " + i); i--; } 3\. Escribe un código en JavaScript que le pregunte a los usuarios cuánto es 2 + 2. Si responden bien, mostramos un mensaje de felicitaciones, pero si responden mal, volvemos a empezar. var pregunta = prompt("2 + 2 es igual a?"); if (Numero(pregunta) === 4){ console.log(`Congratulations`); } else{ console.log(`Sorry, you are wrong :(`); } LISTAS 1\. Responde las siguientes preguntas en la sección de comentarios: ¿Qué es un array? \- un array es tipo de dato objeto que permine conjuntar datos homogeneos, todos del mismo tipo y relacionados. ¿Qué es un objeto? \- puede ser cualquier objeto general donde se almacenan caracteristicas que conforman dicho objeto almacenados como tipos de datos, una informacion que conjunta crean un objeto completo. ¿Cuándo es mejor usar objetos o arrays? el array es mas para agrupas tipos de datos similares y los objetos es mejor usarlos cuando queremos descrbir por caracteristicas cualquier cosa. ¿Puedo mezclar arrays con objetos o incluso objetos con arrays? Si, puedo almacenar arrays dentro de objetos y objetos dentro de arrays con concat(). 2️. Crea una función que pueda recibir cualquier array como parámetro e imprima su primer elemento. var nombre = \["Vivian", "Sofia", "Carmen", "Daniel"]; function imprimir(miArray) { console.log("Primer valor: " + miArray\[0]; } imprimir(nombre); 3️. Crea una función que pueda recibir cualquier array como parámetro e imprima todos sus elementos uno por uno (no se vale imprimir el array completo). var nombre = \["Vivian", "Sofia", "Carmen", "Daniel"]; function imprimir(miArray) { for (var i = 0; i < miArray.length; i++) { console.log(miArray\[i]); } } imprimir(nombre); 4️. Crea una función que pueda recibir cualquier objeto como parámetro e imprima todos sus elementos uno por uno (no se vale imprimir el objeto completo). var nombre= { nombre: "Vivian", apellido: "Romero", edad: "1997" }; function imprimirO(Objeto) { for (var i in objeto) { console.log(nombre\[i]); } } imprimirO(nombre);

Variables y operaciones
1️⃣ Responde las siguientes preguntas en la sección de comentarios:

  • ¿Qué es una variable y para qué sirve?
    Una variable es una elemento cuyo valor puede cambiar en la ejecucion del programa, y se utiliza generalmente para almacenar los resultados deseados de una operacion.

  • ¿Cuál es la diferencia entre declarar e inicializar una variable?
    El declarar solo es nombrar sin especificar un valor inicial o tipo de dato a manipular, y el inicializar si se le especifica esta informacion.

  • ¿Cuál es la diferencia entre sumar números y concatenar strings?
    Sumar números entrega como resultado otro número, y concatenar, entregra como resultado la union de dos o mas cadena de caracteres.

  • ¿Cuál operador me permite sumar o concatenar?
    El operador es el ‘+’

2️⃣ Determina el nombre y tipo de dato para almacenar en variables la siguiente información:
Nombre --> String
Apellido --> String
Nombre de usuario en Platzi --> String
Edad --> Number
Correo electrónico --> String
Mayor de edad --> Boolean
Dinero ahorrado --> Number
Deudas --> Number

3️⃣ Traduce a código JavaScript las variables del ejemplo anterior y deja tu código en los comentarios.
var Nombre = "Oscar Giovanny"
var Apellido = "Rivera Alvarez"
var Nombre_de_usuario_en_Platzi = "argo_platzi"
var Edad = "26"
var Correo_electrónico = "[email protected]"
var Mayor_de_edad = true
var Dinero_ahorrado = 10551000
var Deudas = 254627

4️⃣ Calcula e imprime las siguientes variables a partir de las variables del ejemplo anterior:
Nombre completo (nombre y apellido)
Dinero real (dinero ahorrado menos deudas)

Funciones
1️⃣ Responde las siguientes preguntas en la sección de comentarios:

-¿Qué es una función?
Es una maquina que hace lo que yo quiero, en donde al darle una entrada, se procesara con las instrucciones programdas y generara una sailda

-¿Cuándo me sirve usar una función en mi código?
Cuando requiero realizar operaciones repetitivas

-¿Cuál es la diferencia entre parámetros y argumentos de una función?
Los parametros son con las que se define la funcion, y los argumentos son las que se usan cuando se llama a la funcion

2️⃣ Convierte el siguiente código en una función, pero, cambiando cuando sea necesario las variables constantes por parámetros y argumentos en una función:

Condicionales
1️⃣ Responde las siguientes preguntas en la sección de comentarios:
-¿Qué es un condicional?
Evaluacion de alguna expresion para realizar o no una accion

-¿Qué tipos de condicionales existen en JavaScript y cuáles son sus diferencias?
If … else
Switch … case
Con if … else puedo evaluar varias condiciones y con switch solo se evalua la igualdad con una expresion especifica

¿Puedo combinar funciones y condicionales?
Si se refiere a que dentro de una funcion puedo utilizar condicionales o que dependiendo del resultado de una condicion (true o false) puedo invocar a una funcion, si.

2️⃣ Replica el comportamiento del siguiente código que usa la sentencia switch utilizando if, else y else if:

Ciclos
1️⃣ Responde las siguientes preguntas en la sección de comentarios:
-¿Qué es un ciclo?
Instruciones ordenadas repetitivas que dependen de una condicion
-¿Qué tipos de ciclos existen en JavaScript?
While
For
Do … While
-¿Qué es un ciclo infinito y por qué es un problema?
Un ciclo que su condicion siempre es true, por lo cual se ejecutara siempre, y solo se saldra del ciclo hasta que se se detenga manualmente de manera abrupta el proceso y el problema de estos ciclos es que con el tiempo afectan el rendimiento de la maquina que lo ejecuta

-¿Puedo mezclar ciclos y condicionales?
Si

2️⃣ Replica el comportamiento de los siguientes ciclos for utilizando ciclos while:

3️⃣ Escribe un código en JavaScript que le pregunte a los usuarios cuánto es 2 + 2. Si responden bien, mostramos un mensaje de felicitaciones, pero si responden mal, volvemos a empezar.
💡 Pista: puedes usar la función prompt de JavaScript.

Listas
1️⃣ Responde las siguientes preguntas en la sección de comentarios:
-¿Qué es un array?
Es un vector, 1xn, en donde se puede almacenar datos listados
-¿Qué es un objeto?
Es una colección de datos relacionados con múltiples variables con sus valores.
-¿Cuándo es mejor usar objetos o arrays?
-¿Puedo mezclar arrays con objetos o incluso objetos con arrays?
Si
2️⃣ Crea una función que pueda recibir cualquier array como parámetro e imprima su primer elemento.

3️⃣ Crea una función que pueda recibir cualquier array como parámetro e imprima todos sus elementos uno por uno (no se vale imprimir el array completo).

4️⃣ Crea una función que pueda recibir cualquier objeto como parámetro e imprima todos sus elementos uno por uno (no se vale imprimir el objeto completo).

Variables y operaciones
1️⃣ Responde las siguientes preguntas en la sección de comentarios:
¿Qué es una variable y para qué sirve?

Es un espacio reservado en la memória para poder guardar la información que necesitamos para nuestro programa.

¿Cuál es la diferencia entre declarar e inicializar una variable?

Para decirlo de forma directa declarar una variable es hacer una reserva de espacio pero sin darle un visualViewport. El inicializar una variable
es poner dentro de ese espacio una información.

¿Cuál es la diferencia entre sumar números y concatenar strings?

La diferencia es que sumar números es hacer una operación matemática, mientras que concatenar implica poner dos valores uno al lado del onstorage.

¿Cuál operador me permite sumar o concatenar?

El operador que permite sumar o concatenar según como lo pongas es +

2️⃣ Determina el nombre y tipo de dato para almacenar en variables la siguiente información:
Nombre - varchar, nombre
Apellido -varchar, apellido
Nombre de usuario en Platzi - varchar, usuario
Edad - Integer, edad
Correo electrónico - varchar(255), mail
Mayor de edad - Boolean, mayor
Dinero ahorrado - Float, saldo
Deudas - Float, deuda
3️⃣ Traduce a código JavaScript las variables del ejemplo anterior y deja tu código en los comentarios.

let nombre = ‘Maria’;
let apellido = ‘martinez’;
let usuario = ‘marti’;
let edad = 26;
var correoElectronico = ‘[email protected]’;
let mayorDeEdad = true;
var ahorros = 50000;
var deuda = 500;

4️⃣ Calcula e imprime las siguientes variables a partir de las variables del ejemplo anterior:
Nombre completo (nombre y apellido)
console.log("Este es mi "+ nombre + " y mi apellido es " + apellido)
Dinero real (dinero ahorrado menos deudas)
var dinero-real = ahorrado -deudas;
console.log("El dinero ahorrado es " + dinero-real)
Funciones
1️⃣ Responde las siguientes preguntas en la sección de comentarios:
¿Qué es una función?

Es como un procedimiento que tiene en el interior una série de instrucciones.

¿Cuándo me sirve usar una función en mi código?

Usamos las funciones cuando deberíamos repetir muchas veces un trozo de código. Para ello simplemente creamos una función.

¿Cuál es la diferencia entre parámetros y argumentos de una función?

los parámetros son los nombres que aparecen en la definición de una función. Por su parte, los argumentos son los valores que le
pasamos (y que, por tanto, recibe) una función.

2️⃣ Convierte el siguiente código en una función, pero, cambiando cuando sea necesario las variables constantes por parámetros y argumentos en una función:
const name = “Juan David”;
const lastname = “Castro Gallego”;
const completeName = name + lastname;
const nickname = “juandc”;

function nombre (completeName, nickname){
return console.log("Mi nombre es " + completeName + ", pero prefiero que me digas " + nickname + “.”);
}

nombre(completeName, nickname)

Condicionales
1️⃣ Responde las siguientes preguntas en la sección de comentarios:
¿Qué es un condicional?

Si se da una condición pasan una série de cosas si no no.

¿Qué tipos de condicionales existen en JavaScript y cuáles son sus diferencias?

Existen:

!== no es igual ni en valor ni en tipo

= es mayor igual que
<= es menor igual que
true es verdad
false no es verdad
mayor que
< menor que
= igual que
&& y
|| o
== es igual al valor
=== es igual al valor y al tipo

¿Puedo combinar funciones y condicionales?

Si puedo combinar condicionales y puedo llamar a funciones dentro de funciones.

2️⃣ Replica el comportamiento del siguiente código que usa la sentencia switch utilizando if, else y else if:
const tipoDeSuscripcion = “Basic”;

switch (tipoDeSuscripcion) {
case “Free”:
console.log(“Solo puedes tomar los cursos gratis”);
break;
case “Basic”:
console.log(“Puedes tomar casi todos los cursos de Platzi durante un mes”);
break;
case “Expert”:
console.log(“Puedes tomar casi todos los cursos de Platzi durante un año”);
break;
case “ExpertPlus”:
console.log(“Tú y alguien más pueden tomar TODOS los cursos de Platzi durante un año”);
break;
}

if(tipoDeSuscripcion == “Free”){
console.log(“Solo puedes tomar los cursos gratis”);
}else if(tipoDeSuscripcion == “Basic” ){
console.log(“Puedes tomar casi todos los cursos de Platzi durante un mes”);
}else if(tipoDeSuscripcion == “Expert”){
console.log(“Puedes tomar casi todos los cursos de Platzi durante un año”);
}else if(tipoDeSuscripcion == “ExpertPlus”){
console.log(“Tú y alguien más pueden tomar TODOS los cursos de Platzi durante un año”);
}else{
console.log(“No hay ninguna opción válida”);
}

3️⃣ Replica el comportamiento de tu condicional anterior con if, else y else if, pero ahora solo con if (sin else ni else if).
💡 Bonus: si ya eres una experta o experto en el lenguaje, te desafío a comentar cómo replicar este comportamiento con arrays u objetos y un solo condicional. 😏

if(tipoDeSuscripcion == “Free”||tipoDeSuscripcion == “Basic”||tipoDeSuscripcion == “Expert”||tipoDeSuscripcion == “ExpertPlus”){
console.log(“Puedes tomar un curso en Platzi”);
}

Ciclos
1️⃣ Responde las siguientes preguntas en la sección de comentarios:
¿Qué es un ciclo?
¿Qué tipos de ciclos existen en JavaScript?
¿Qué es un ciclo infinito y por qué es un problema?
¿Puedo mezclar ciclos y condicionales?
2️⃣ Replica el comportamiento de los siguientes ciclos for utilizando ciclos while:
for (let i = 0; i < 5; i++) {
console.log("El valor de i es: " + i);
}

for (let i = 10; i >= 2; i–) {
console.log("El valor de i es: " + i);
}
3️⃣ Escribe un código en JavaScript que le pregunte a los usuarios cuánto es 2 + 2. Si responden bien, mostramos un mensaje de felicitaciones, pero si responden mal, volvemos a empezar.
💡 Pista: puedes usar la función prompt de JavaScript.
prompt(¿Cuánto son 2 + 2 ?);
Listas
1️⃣ Responde las siguientes preguntas en la sección de comentarios:
¿Qué es un array?

Es un tipo de dato estructurado que almacena datos, del mismo tipo y relacionados.

¿Qué es un objeto?

Es una estructura con la que puedes replicar una misma estructura para un conjunto de datos. Puedes hacer sin repetir código
ojetos similares y programar solo las diferencias.

¿Cuándo es mejor usar objetos o arrays?

Cuando teneemos que replicar una estructura varias veces usamos objetos. Cuando tenemos un grupo de datos que debemos mantener juntos para
trabajar con ellos. Básicamente los arrays continenen valores simples mientras que en los objetos tenemos propiedades con diferentes valores.

¿Puedo mezclar arrays con objetos o incluso objetos con arrays?
2️⃣ Crea una función que pueda recibir cualquier array como parámetro e imprima su primer elemento.

var primerArray = [“Hola”];
console.log(primerArray[0]);
3️⃣ Crea una función que pueda recibir cualquier array como parámetro e imprima todos sus elementos uno por uno (no se vale imprimir el array completo).

var miArray = [“Hola”, “mundo”];
var miFuncion = function miPrimeraFuncion(miArray){
for(var i = 0; i < miArray.lenght(); i++){
console.log(miArray[i]);
}
}

miFuncion(miArray);

4️⃣ Crea una función que pueda recibir cualquier objeto como parámetro e imprima todos sus elementos uno por uno (no se vale imprimir el objeto completo).

function imprimirObjeto(objeto) {
for (var clave in objeto) {
if (objeto.hasOwnProperty(clave)) {
console.log(clave + ": " + objeto[clave]);
}
}
}

// Ejemplo de uso:
var miObjeto = {
nombre: “Juan”,
edad: 30,
ciudad: “Ejemploville”
};

imprimirObjeto(miObjeto);

Test Javascript Platzi 🚀 Completado

// Variables y operaciones

//1️⃣ Responde las siguientes preguntas en la sección de comentarios:

//¿Qué es una variable y para qué sirve?
    //Una variable es un espacio que reservamos en memoria, se usa para guardar un valor o una operación a la que podemos acceder despúes por medio del llamado de esa variable.

//¿Cuál es la diferencia entre declarar e inicializar una variable?
    //Declarar una variable es cuando definimos el nombre de la variable, inicializar la variable es cuando le asignamos un valor.

//¿Cuál es la diferencia entre sumar números y concatenar strings?
    //Sumar numeros es una operación matematica que se realiza entre numeros, concatenar un string es unir dos caracteres o textos.

//¿Cuál operador me permite sumar o concatenar?
    //El operador que me permite sumar o concatenar es +.


//2️⃣ Determina el nombre y tipo de dato para almacenar en variables la siguiente información:
    //Nombre = “string”
    //Apellido = “string”
    //Nombre de usuario en Platzi = “string”
    //Edad = number
    //Correo electrónico = “string”
    //Mayor de edad = boolean
    //Dinero ahorrado = number
    //Deudas = number


//3️⃣ Traduce a código JavaScript las variables del ejemplo anterior y deja tu código en los comentarios.
    var nombre = "Darwin"
    var apellido = "Avendaño"
    var usuario = "darwina1103"
    var edad = 24
    var email = "[email protected]"
    var mayorEdad = function(){
        if (edad >= 18) {
            return true
        } else { return false}
    }
    var ahorro = 10000000
    var deudas = 6554638

//4️⃣ Calcula e imprime las siguientes variables a partir de las variables del ejemplo anterior:

//Nombre completo (nombre y apellido)
var nombreCompleto = nombre + " " + apellido

//Dinero real (dinero ahorrado menos deudas)
var dineroReal = ahorro - deudas



//Funciones

//1️⃣ Responde las siguientes preguntas en la sección de comentarios:

//¿Qué es una función?
    //Una función es un bloque de codigo que realiza un calculo o una tarea especifica que luego puede ser reutilizada.

//¿Cuándo me sirve usar una función en mi código?
    //Cuando necesito que una tarea se ejecute varias veces a lo largo de mi codigo. 

//¿Cuál es la diferencia entre parámetros y argumentos de una función?
    //Los parametros hacen referencia a la variable declarada dentro de la función y los argumentos son los valores que se le asignan a estas variables.

//2️⃣ Convierte el siguiente código en una función, pero, cambiando cuando sea necesario las variables constantes por parámetros y argumentos en una función:
    const name = "Juan David";
    const lastname = "Castro Gallego";
    const completeName = name + lastname;
    const nickname = "juandc";

    console.log("Mi nombre es " + completeName + ", pero prefiero que me digas " + nickname + ".");

    //Solución

    function preference (name, lastname, nickname) {
        completeName = name + " " + lastname
        console.log("Mi nombre es " + completeName + ", pero prefiero que me digas " + nickname + "."); 
    }



//Condicionales

//1️⃣ Responde las siguientes preguntas en la sección de comentarios:

//¿Qué es un condicional?
    //Los condicionales nos permiten ejecutar una acción siempre y cuando se valide una situación.

//¿Qué tipos de condicionales existen en JavaScript y cuáles son sus diferencias?
 //Las condicionales que existen son if - else - else if y Switch, la diferencia es que con if puedes validar cualquier operación y/o comparación, con switch solo puedes validar si algo es verdadero.

//¿Puedo combinar funciones y condicionales?
    //Si, podemos usar condicionales dentro de una función y también podemos usar una función dentro de un condicional.

//2️⃣ Replica el comportamiento del siguiente código que usa la sentencia switch utilizando if, else y else if:

    const tipoDeSuscripcion = "Basic";

    switch (tipoDeSuscripcion) {
    case "Free":
        console.log("Solo puedes tomar los cursos gratis");
        break;
    case "Basic":
        console.log("Puedes tomar casi todos los cursos de Platzi durante un mes");
        break;
    case "Expert":
        console.log("Puedes tomar casi todos los cursos de Platzi durante un año");
        break;
    case "ExpertPlus":
        console.log("Tú y alguien más pueden tomar TODOS los cursos de Platzi durante un año");
        break;
    }

    //Solución

    const tipoDeSuscripcion = "Basic";

    if (tipoDeSuscripcion == "Free") {
        console.log("Solo puedes tomar los cursos gratis");
    } else if (tipoDeSuscripcion == "Basic") {
        console.log("Puedes tomar casi todos los cursos de Platzi durante un mes");
    } else if (tipoDeSuscripcion == "Expert") {
        console.log("Puedes tomar casi todos los cursos de Platzi durante un año");
    } else if (tipoDeSuscripcion == "ExpertPlus") {
        console.log("Tú y alguien más pueden tomar TODOS los cursos de Platzi durante un año");
    } else {
        console.log("Registrate en Platzi!");
    }

//3️⃣ Replica el comportamiento de tu condicional anterior con if, else y else if, pero ahora solo con if (sin else ni else if).
    
    var tipoDeSuscripcion = "Basic";

    var msgSuscripcion = {
        Free: "Solo puedes tomar los cursos gratis",
        Basic: "Puedes tomar casi todos los cursos de Platzi durante un mes",
        Expert: "Puedes tomar casi todos los cursos de Platzi durante un año",
        ExpertPlus: "Tú y alguien más pueden tomar TODOS los cursos de Platzi durante un año",
    };

    function mensajeSuscripcion (suscripcion) {
        if (suscripcion == "Free" || suscripcion == "Basic" || suscripcion == "Expert" || suscripcion == "ExpertPlus") {
            console.log(msgSuscripcion[suscripcion]);
        }
    };

    mensajeSuscripcion(tipoDeSuscripcion);

//💡 Bonus: si ya eres una experta o experto en el lenguaje, te desafío a comentar cómo replicar este comportamiento con arrays u objetos y un solo condicional. 😏



//Ciclos

//1️⃣ Responde las siguientes preguntas en la sección de comentarios:

//¿Qué es un ciclo?
    //Un ciclo es una funcionalidad de javascript que nos permite ejecutar una tarea repetidas veces.

//¿Qué tipos de ciclos existen en JavaScript?
    //Existen los ciclos for y while.

//¿Qué es un ciclo infinito y por qué es un problema?
    //Es un ciclo que no cumple un parametro que lo termine, es un problema porque puede consumir y agotar los recursos de la computadora donde se está ejecutando.

//¿Puedo mezclar ciclos y condicionales?
    //Si, puedo anidar un ciclo dentro de un condicional y un condicional dentro de un ciclo.

//2️⃣ Replica el comportamiento de los siguientes ciclos for utilizando ciclos while:

    for (let i = 0; i < 5; i++) {
        console.log("El valor de i es: " + i);
    }

    for (let i = 10; i >= 2; i--) {
        console.log("El valor de i es: " + i);
    }

    //Solucion
    var i = 0
    while (i < 5) {
        console.log("El valor de i es: " + i);
        i++
    }

    var i = 10
    while (i >= 2) {
        console.log("El valor de i es: " + i);
        i--
    }

//3️⃣ Escribe un código en JavaScript que le pregunte a los usuarios cuánto es 2 + 2. Si responden bien, mostramos un mensaje de felicitaciones, pero si responden mal, volvemos a empezar.

    var result = prompt("Cuanto es 2+2?");

    if (result == 4) {
        alert("Felicitaciones!!")
    } else {
        alert("volvamos a empezar :(")
        location.reload()
    }

//💡 Pista: puedes usar la función prompt de JavaScript.




//Listas

//1️⃣ Responde las siguientes preguntas en la sección de comentarios:

//¿Qué es un array?
    //Un array es una variable en la que se pueden almacenar 1 o más valores.

//¿Qué es un objeto?
    //Un objeto es una variable en la que podemos almacenar valores con propiedades distintas.

//¿Cuándo es mejor usar objetos o arrays?
    //Es preferible usar un array cuando necesitamos construir una lista simple de valores, y es mejor usar objetos cuando necesitamos que cada valor de esa lista sea identificable mediante su propiedad.

//¿Puedo mezclar arrays con objetos o incluso objetos con arrays?
    //Si, podemos crear un array de objetos.

//2️⃣ Crea una función que pueda recibir cualquier array como parámetro e imprima su primer elemento.
    
    function firstItem (array) {
        return array[0]
    }

//3️⃣ Crea una función que pueda recibir cualquier array como parámetro e imprima todos sus elementos uno por uno (no se vale imprimir el array completo).

    var estudiantes = [ 'Maria', 'Sergio', 'Rosa', 'Daniel' ]; 

    function nombreEstudiantes(nombres) {
        for (var nombre of nombres) {
            console.log(nombre);
        }
    }

    nombreEstudiantes(estudiantes)

//4️⃣ Crea una función que pueda recibir cualquier objeto como parámetro e imprima todos sus elementos uno por uno (no se vale imprimir el objeto completo).

    var estudiantes = {
        nombre: "Maria",
        edad: 20,
        suscripcion: "Expert",
    }; 

    function nombreEstudiantes(nombres) {
        for (prop in nombres) {
            console.log(prop,": ",nombres[prop]);
        }
    }

    nombreEstudiantes(estudiantes)
//VARIABLES & OPERACIONES/Traduce a código JavaScript las variables del ejemplo anterior y deja tu código en los comentarios.
let name = 'Jose';
let lastName = 'Garcia';
let nickName = 'Jose_g';
let age = 35;
let mail = '[email protected]';
let mayoriaEdad = true;
let debt = 100;
let saving = 10000;


//VARIABLES & OPERACIONES/Calcula e imprime las siguientes variables a partir de las variables del ejemplo anterior:
let fullName = ` ${name}  ${lastName}`
let patrimony = saving - debt;
console.log(`Soy ${fullName} y mi patrimonio es de: $${patrimony} USD  `)

//FUNCIONES/Convierte el siguiente código en una función, pero, cambiando cuando sea necesario las variables constantes por parámetros y argumentos en una función:

const name2 = "Juan David";
const lastname = "Castro Gallego";
const completeName = name + lastname;
const nickname = "juandc";
console.log("Mi nombre es " + completeName + ", pero prefiero que me digas " + nickname + ".");

let register = (name,lastName,nickName) => {
    const lastName2 = `${name}  ${lastName}`
    console.log(`Mi nombre es  ${lastName2} pero prefiero que me digas ${nickName} ` );
}

//CONDICIONALES / Replica el comportamiento de tu condicional anterior con if, else y else if, pero ahora solo con if (sin else ni else if).
/* 💡 Bonus: si ya eres una experta o experto en el lenguaje, te desafío a comentar cómo replicar este comportamiento con arrays u objetos y un solo condicional. 😏 */
const functionCourse2 = (course) => {
 cursos.forEach( (element,index,array) => {
    if ((Object.keys(array[index])[0] === course )) x = (array[index][course])
 } )
return console.log(x);
}



 //💡CICLOS/Escribe un código en JavaScript que le pregunte a los usuarios cuánto es 2 + 2. Si responden bien, mostramos un mensaje de felicitaciones, pero si responden mal, volvemos a empezar.
// 💡 Pista: puedes usar la función prompt de JavaScript.

const  sumaCuatro = () => { 
        respuesta = parseInt(prompt("Cuanto es 2+2?"));
        while ( respuesta !== 4 ) {
            if(respuesta !== 4)  console.warn(`${respuesta} Incorrecto, vuelve a intentarlo  `)
            respuesta = parseInt(prompt("Cuanto es 2+2?"));
        }
     if ( respuesta == 4)  {console.info(`Has respondido ${respuesta}, te felcito¡`)}     
}

//💡ARRAY/
 
//ARRAY/ Crea una función que pueda recibir cualquier array como parámetro e imprima su primer elemento.
 
  const functionArray = (array) => {
    console.log(array[0]);
  }

//ARRAY/Crea una función que pueda recibir cualquier array como parámetro e imprima todos sus elementos uno por uno (no se vale imprimir el array completo).
const printArray = (array) => {
    array.forEach( element => console.log(element) );
}

//ARRAY/Crea una función que pueda recibir cualquier objeto como parámetro e imprima todos sus elementos uno por uno (no se vale imprimir el objeto completo).


const printObject = (objetc) => {
    for (element in objetc ) {
         console.log(element); 
    }
}


Variables y operaciones

1️⃣ Responde las siguientes preguntas en la sección de comentarios:

  • ¿Qué es una variable y para qué sirve?

    Las variables son espacios reservados en memoria a los cuales podemos acceder mediante un identificador ya sea para consultar su valor o actualizarlo. Son la base de cualquier lenguaje de programación ya que en ellas es donde se almacenan los datos que requieren los programas para funcionar, por decirlo de alguna forma es la memoria del programa.

    En JavaScript hay varias formas de declarar variables var, let y cont. Las tres sirven para almacenar datos en memoria, pero tienen algunas diferencias entre si:

    Var por muchos años fue la única forma de declarar variables en JS, sin embargo con el paso del tiempo a sido desplazado su uso por let y const ya que estas opciones al momento de declararlas, su scope se limita a donde fueron declaradas. Además no se pueden re declarar y en el caso de const tampoco se puede reasignar un valor.

  • ¿Cuál es la diferencia entre declarar e inicializar una variable?

    Declarar una variable implica decirle a la computadora que cree un espacio en memoria y le asigne el identificador de acceso (nombre de la variable) que hallamos elegido, mientras que inicializarla significa darle un valor inicial a dicha variable.

  • ¿Cuál es la diferencia entre sumar números y concatenar strings?

    Que al sumar números se realiza una operación matemática de suma, danto por ejemplo 4 la suma de 2 + 2, en tanto que concatenar strings es unir dos cadenas de texto por ejemplo: “Aprendo, ” y “JavaScript” da como resultado “Aprendo Javascript”.

  • ¿Cuál operador me permite sumar o concatenar?

    El operador de suma +


2️⃣ Determina el nombre y tipo de dato para almacenar en variables la siguiente información:

  • Nombre → name / string
  • Apellido → lastName / string
  • Nombre de usuario en Platzi → user / string
  • Edad → age / number
  • Correo electrónico → email / string
  • Mayor de edad → isAdult / boolean
  • Dinero ahorrado → savings / number
  • Deudas → debt / number

3️⃣ Traduce a código JavaScript las variables del ejemplo anterior y deja tu código en los comentarios.

let name = 'Jesús'
let lastName = 'Velasco'
let user = 'jesusrobot'
let age = 23
let email = '[email protected]'
let isAdult = true 
let savings = 3500
let debt = 1800

4️⃣ Calcula e imprime las siguientes variables a partir de las variables del ejemplo anterior:

  • Nombre completo (nombre y apellido)
  • Dinero real (dinero ahorrado menos deudas)
let fullName = name + lastName
let money = savings - debt

console.log({fullName, money})

Funciones

1️⃣ Responde las siguientes preguntas en la sección de comentarios:

  • ¿Qué es una función?

    Las funciones permiten abstraer la lógica de un procedimiento con el propósito de reutilizar dicha lógica en varios lugares a lo largo del programa. Las funciones pueden recibir argumentos y retornar valores.

  • ¿Cuándo me sirve usar una función en mi código?

    Cuando tienes un fragmento de código que se repite varias veces en tu aplicación, esto te ayudara a hacer más fácil de editar y entender tu código

  • ¿Cuál es la diferencia entre parámetros y argumentos de una función?

    Los parámetros son los nombres que aparecen en la definición de una función. Por su parte, los argumentos son los valores que le pasamos (y que, por tanto, recibe) una función.


2️⃣ Convierte el siguiente código en una función, pero, cambiando cuando sea necesario las variables constantes por parámetros y argumentos en una función:

const name = "Juan David";
const lastname = "Castro Gallego";
const completeName = name + lastname;
const nickname = "juandc";

console.log("Mi nombre es " + completeName + ", pero prefiero que me digas " + nickname + ".");
function presentation({completeName, nickname}) {
	console.log("Mi nombre es " + completeName + ", pero prefiero que me digas " + nickname + ".");
}

presentation(completeName, nickname)

Condicionales

1️⃣ Responde las siguientes preguntas en la sección de comentarios:

  • ¿Qué es un condicional?

    Una condicional es una estructura de control de flujo que permite ejecutar un fragmento de código u otro en base al resultado de una condición.

  • ¿Qué tipos de condicionales existen en JavaScript y cuáles son sus diferencias?

    Existe if que ejecuta una porción de código en base al resultado de su condición, a el if se le puede añadir el else if que ejecuta el código que contiene en caso de que su condición sea positiva y la del if principal y los demás else if anteriores (si los hay) sea negativa. Además se puede dar un por a si decirlo un código a ejecutar por defecto en caso de que todo sea negativo con el else que permite ejecutar un código en caso de que todas las condiciones sean negativas.

    También existe switch que ejecuta algún código examinado los posibles valores de una variable.

  • ¿Puedo combinar funciones y condicionales?

    Si, ¿por qué no? xD


2️⃣ Replica el comportamiento del siguiente código que usa la sentencia switch utilizando if, else y else if:

const tipoDeSuscripcion = "Basic";

switch (tipoDeSuscripcion) {
   case "Free":
       console.log("Solo puedes tomar los cursos gratis");
       break;
   case "Basic":
       console.log("Puedes tomar casi todos los cursos de Platzi durante un mes");
       break;
   case "Expert":
       console.log("Puedes tomar casi todos los cursos de Platzi durante un año");
       break;
   case "ExpertPlus":
       console.log("Tú y alguien más pueden tomar TODOS los cursos de Platzi durante un año");
       break;
}
if (tipoDeSuscripcion === 'Basic') {
	console.log("Tú y alguien más pueden tomar TODOS los cursos de Platzi durante un año");
} else if(tipoDeSuscripcion === 'Expert') {
	console.log("Puedes tomar casi todos los cursos de Platzi durante un año");
} else if (tipoDeSuscripcion === 'ExpertPlus') {
	console.log("Tú y alguien más pueden tomar TODOS los cursos de Platzi durante un año");
} else {
	console.log("Solo puedes tomar los cursos gratis");
}

3️⃣ Replica el comportamiento de tu condicional anterior con if, else y else if, pero ahora solo con if (sin else ni else if).


if (tipoDeSuscripcion === 'Free'){
	console.log("Solo puedes tomar los cursos gratis");
	return
}

if (tipoDeSuscripcion === 'Basic') {
	console.log("Tú y alguien más pueden tomar TODOS los cursos de Platzi durante un año");
	return
} 

if(tipoDeSuscripcion === 'Expert') {
	console.log("Puedes tomar casi todos los cursos de Platzi durante un año");
	return
}

if (tipoDeSuscripcion === 'ExpertPlus') {
	console.log("Tú y alguien más pueden tomar TODOS los cursos de Platzi durante un año");
	return
}

💡 Bonus: si ya eres una experta o experto en el lenguaje, te desafío a comentar cómo replicar este comportamiento con arrays u objetos y un solo condicional. 😏

const tipoDeSuscripcion = "ExpertPlus";

const planesDeSubscripcion = ['Free', 'Basic', 'Expert', 'ExpertPlus']
const mensajes = [
	"Solo puedes tomar los cursos gratis",
  "Puedes tomar casi todos los cursos de Platzi durante un mes",
	"Puedes tomar casi todos los cursos de Platzi durante un año",
	"Tú y alguien más pueden tomar TODOS los cursos de Platzi durante un año"
]

const index = planesDeSubscripcion.indexOf(tipoDeSuscripcion)
if(index) {
	console.log(mensajes[index]) 
}

1️⃣ Responde las siguientes preguntas en la sección de comentarios:

  • ¿Qué es un ciclo?

    Los ciclos son otro tipo de estructura de la sintaxis de JavaScript y sirven para ejecutar una porción de código tantas veces como la condición del ciclo lo permita.

  • ¿Qué tipos de ciclos existen en JavaScript?

    Existe el ciclo for que ejecuta el código que contiene mientras la condición que maneja sea verdadera, este ciclo se inicializa con la inicialización de una variable, luego la condición en si y al final el incremento de la variable cada vez que se ejecuta el ciclo.

    El ciclo while mezcla el ciclo con el poder de un if ya que ejecuta un código si su condición es verdadera, la cual incluso evalúa antes de la primera iteración. Si esta no es verdadera desde un principio no se va a ejecutar nunca, el incremento va dentro del cuerpo del while.

    Por otro lado el do while funciona de manera similar con la diferencia de que ejecuta el código al menos una vez.

    Por último están los ciclos for of y el for in el primero itera sobre los valores de un array o similares como los strings o nodeLists y el segundo sobre las propiedades de los objetos.

  • ¿Qué es un ciclo infinito y por qué es un problema?

    Un ciclo infinito es cuando la condición del loop siempre es verdadera, esto se debe a que no se esta haciendo un incremento en las variables involucradas en la condición y es un problema por que va a consumir toda la memoria de la computadora provocando que el programa se rompa.

  • ¿Puedo mezclar ciclos y condicionales?

    Si, incluso tenemos las sentencias break y continue para este tipo de casos.


2️⃣ Replica el comportamiento de los siguientes ciclos for utilizando ciclos while:

for (let i = 0; i < 5; i++) {
    console.log("El valor de i es: " + i);
}

for (let i = 10; i >= 2; i--) {
    console.log("El valor de i es: " + i);
}
let i = 0

while (i < 5) {
  console.log("El valor de i es: " + i)
  i++
}

let i2 = 10

while (i2 > 2) {
  console.log("El valor de i es: " + i2);
  i2--
}

3️⃣ Escribe un código en JavaScript que le pregunte a los usuarios cuánto es 2 + 2. Si responden bien, mostramos un mensaje de felicitaciones, pero si responden mal, volvemos a empezar.

💡 Pista: puedes usar la función prompt de JavaScript.

let question
do {
  question = Number(prompt('Cuanto es 2 + 2'))
  if(question === 4) {
    console.log('Felicidades sabes sumar')
  }
} while (question !== 4)

Listas

1️⃣ Responde las siguientes preguntas en la sección de comentarios:

  • ¿Qué es un array?

    Los arrays son una estructura de de datos que sirve para guardar una lista de valores de distintos datos si se quiere o uno solo. A estos valores se puede acceder por su posición en el array comenzando por 0 para el primero.

  • ¿Qué es un objeto?

    Un objeto tambien es una lista de valores de distinto tipo si se desea y que pueden estar relacionados para representar a una entidad dentro del programa por ejemplo un usuario. Se puede acceder a estos valores mediante el identificador del valor que queremos obtener. Los objetos son una estructura de datos llave:valor .

  • ¿Cuándo es mejor usar objetos o arrays?

    Si necesitas asociar datos con claves y representar información con contexto, los objetos son más adecuados. Si estás trabajando con una colección de elementos ordenados y deseas realizar operaciones de lista, los arrays son más apropiados.

  • ¿Puedo mezclar arrays con objetos o incluso objetos con arrays?

    Si

2️⃣ Crea una función que pueda recibir cualquier array como parámetro e imprima su primer elemento.

const faces = ['😎', '🥴', '🥵', '🤔']

function firstElmentOf(array) {
  console.log(array[0])
}

firstElmentOf(faces)

3️⃣ Crea una función que pueda recibir cualquier array como parámetro e imprima todos sus elementos uno por uno (no se vale imprimir el array completo).

const faces = ['😎', '🥴', '🥵', '🤔']
function allElementsOf(array) {
  for (element of array) {
    console.log(element)
  }
}

allElementsOf(faces)

4️⃣ Crea una función que pueda recibir cualquier objeto como parámetro e imprima todos sus elementos uno por uno (no se vale imprimir el objeto completo).

const facesObj = {
  cool: '😎',
  stunned: '🥴',
  hot: '🥵',
  thoughtful: '🤔'
}
function allElementsOf(obj) {
  for (property in obj) {
    console.log(obj[property])
  }
}

allElementsOf(facesObj)

pueden ver mi test en Notion

¿Qué es una variable y para qué sirve?
es como un espacio que creo para almacenar un valor
¿Cuál es la diferencia entre declarar e inicializar una variable?
cuando declaro una variable le digo a mi programa que guarde un espacio en memoria para ese valor que no debe ir ahí, cuando inicializo una variable es por que le estoy asignando un valor desde el proncipio.
¿Cuál es la diferencia entre sumar números y concatenar strings?
yo lo veo asi: concatenar es como pegar, sumar numeros es eso la operacion de dos valores que tengo en mis datos
¿Cuál operador me permite sumar o concatenar?
el "+"
Determina el nombre y tipo de dato para almacenar en variables la siguiente información:
let nombre = “”; // string.
let Apellido= “”, // string.
let usuarioPlatzi = “”// string
let edad = “” // number
let correo = “” // email
let mayorEdad = “” // boolean
let dineroAhorrado = 0.0; // number
let deudas = 0.0; // number

Calcula e imprime las siguientes variables a partir de las variables del ejemplo anterior:

let nombre = "Kevin"
let apellido = "Franco"
let dineroAhorrado = 5000
let deudas = 1000

let nombreCompleto = nombre + " " + apellido
let dineroTotal = dineroAhorrado - deudas

console.log(“nombre completo:”, nombreCompleto);
console.log(“Dinero real del usuarios:”, dineroTotal);
¿Qué es una función?
bloques de codigo ejecutable
¿Cuándo me sirve usar una función en mi código?
cuando queremos modular nuestros programas y crear bloques que hagan una tarea concreta
¿Cuál es la diferencia entre parámetros y argumentos de una función?
Los parámetros se definen en la declaración de la función y representan los datos que la función espera recibir.
Los argumentos son los valores reales que se pasan a la función cuando la llamamos.
function presentacion(name, lastname, nickname) {
const completeName = name + " " + lastname;
console.log("Mi nombre es " + completeName + ", pero prefiero que me digas " + nickname + “.”);
}

presentacion(“Juan David”, “Castro Gallego”, “juandc”);
Condicionales
¿Qué es un condicional?
instrucciones que nos permiten ejecutar una secuencia de instrucciones
¿Qué tipos de condicionales existen en JavaScript y cuáles son sus diferencias?
if /elsedepende del resultado muestra un valor si lo cumple y otro si no
switch: depende del caso que este en la consicion devolvera un valor si se cumple y otro general si no
¿Puedo combinar funciones y condicionales?
si se puede
const tipoDeSuscripcion = “Basic”;

if (tipoDeSuscripcion === “Free”) {
console.log(“Solo puedes tomar los cursos gratis”);
} else if (tipoDeSuscripcion === “Basic”) {
console.log(“Puedes tomar casi todos los cursos de Platzi durante un mes”);
} else if (tipoDeSuscripcion === “Expert”) {
console.log(“Puedes tomar casi todos los cursos de Platzi durante un año”);
} else if (tipoDeSuscripcion === “ExpertPlus”) {
console.log(“Tú y alguien más pueden tomar TODOS los cursos de Platzi durante un año”);
} else {
console.log(“Tipo de suscripción no reconocida”);
}
¿Qué es un ciclo?
un bloque que se jecuta cuando se cumple una condicion
¿Qué tipos de ciclos existen en JavaScript?
While, Do/While, For
¿Qué es un ciclo infinito y por qué es un problema?
es un ciclo que nunca se detiene, los problemas son, consumen recursos, consumo de memoria elevado,
¿Puedo mezclar ciclos y condicionales?
Si se puede
let i = 0;
while (i < 5) {
console.log("El valor de i es: " + i);
i++;
}
let i = 10;
while (i >= 2) {
console.log("El valor de i es: " + i);
i–;
}
Qué es un array?
una coleccion de datos
¿Qué es un objeto?
una coleccion de variables
¿Cuándo es mejor usar objetos o arrays?
cuando debo realizar una operacion de una lista usare arrays
Cuando tengo datos que se identifican con nombres claros y no me es relevante el orden uso objetos
¿Puedo mezclar arrays con objetos o incluso objetos con arrays?
Si se puede

function imprimirPrimerElemento(arr) {
if (arr.length > 0) {
console.log(arr[0]);
} else {
console.log(“El array está vacío”);
}
}
function imprimirElementos(arr) {
for (let i = 0; i < arr.length; i++) {
console.log(arr[i]);
}
}
function imprimirPropiedadesYValores(obj) {
for (let propiedad in obj) {
console.log(Propiedad: ${propiedad}, Valor: ${obj[propiedad]});
}
}

let respuesta;

do {
respuesta = prompt("¿Cuánto es 2 + 2?");
} while (respuesta != 4);

alert("¡Felicitaciones, es correcto!");

1️⃣ Responde las siguientes preguntas en la sección de comentarios:

¿Qué es una variable y para qué sirve?
Es un espacio en memoria, que reservamos para guardar informacion mas adelante…

¿Cuál es la diferencia entre declarar e inicializar una variable?
Al declarar una variable, solo estamos seleccionando el espacio en memoria y al inicializarya le damos un valor a la variable.

¿Cuál es la diferencia entre sumar números y concatenar strings?

la suma de enteros se hace sin las “” y la concatenacion incluye las comillas, ejemplo:
2+2 //suma
"2"+“2” //concatenar

¿Cuál operador me permite sumar o concatenar?
ambos se hacen con el operador +

2️⃣ Determina el nombre y tipo de dato para almacenar en variables la siguiente información:
Nombre // tipo de dato string
Apellido // tipo de dato string
Nombre de usuario en Platzi // tipo de dato string
Edad // tipo de dato int
Correo electrónico // tipo de dato string
Mayor de edad // tipo de dato boolean
Dinero ahorrado // tipo de dato int
Deudas //// tipo de dato int

3️⃣ Traduce a código JavaScript las variables del ejemplo anterior y deja tu código en los comentarios.
Nombre // var nombre = "Denis"
Apellido // var apellido = "Alvarez"
Nombre de usuario en Platzi // var usuario = "DenisAlvarez"
Edad // var edad = 36
Correo electrónico // var nombre = "[email protected]"
Mayor de edad // var edadmayor = true
Dinero ahorrado // var dinero = 3000
Deudas //var debe = 100

4️⃣ Calcula e imprime las siguientes variables a partir de las variables del ejemplo anterior:
Nombre completo (nombre y apellido)
console.log(nombre + " " + apellido );
Dinero real (dinero ahorrado menos deudas)
console.log(dinero - debe );

Variables y operaciones
1️⃣ Responde las siguientes preguntas

  • ¿Qué es una variable y para qué sirve?
    Es un espacio de almacenamiento reservado y sirve para almacenar información
  • ¿Cuál es la diferencia entre declarar e inicializar una variable?
    Al declarar una variable no se le asigna ningun valor, mientras que al inicializar la variable ya se le asigna un valor o dato.
  • ¿Cuál es la diferencia entre sumar números y concatenar strings?
    Al sumar numeros el resultado sera la suma de esos numeros, si se concatena strings se unen esos dos strings. ej:
    2 + 4 --> 6 “2” + “4” --> “24”
  • ¿Cuál operador me permite sumar o concatenar?
    El operador aritmético Suma +

2️⃣ Determina el nombre y tipo de dato para almacenar en variables la siguiente información:

  • Nombre - var nombre - tipo string
  • Apellido - var apellido - tipo string
  • Nombre de usuario en Platzi - var usuarioPlatzi - tipo string
  • Edad - var edad - tipo numero
  • Correo electrónico - var email - tipo string
  • Mayor de edad - var mayorEdad - tipo booleano
  • Dinero ahorrado - var dineroAhorro - tipo numero
  • Deudas - var deudas - tipo numero

3️⃣ Traduce a código JavaScript las variables del ejemplo anterior y deja tu código en los comentarios.

var nombre = "Adri";
var apellido = "Barrera";
var usuarioPlatzi = "Adriana Beatriz Barrera Estrella";
var edad = 25;
var email = "[email protected]";
var mayorEdad = true;
var dineroAhorro = 100;
var deudas = 1000; //:c

4️⃣ Calcula e imprime las siguientes variables a partir de las variables del ejemplo anterior:
Nombre completo (nombre y apellido)

var nombre = "Adriana";
var apellido = "Barrera";
conlose.log(nombre + " " + apellido);

Dinero real (dinero ahorrado menos deudas)

var dineroAhorro = 100;
var deudas = 1000;
var dineroReal = (dineroAhorro - deudas);
console.log("Tu dinero real es: " + dineroReal);

Funciones
1️⃣ Responde las siguientes preguntas

  • ¿Qué es una función?
    Es un subprograma que realiza cierta tarea y puede ser reutilizada.
  • ¿Cuándo me sirve usar una función en mi código?
    para poder reutilizar la funcion nuevamente.
  • ¿Cuál es la diferencia entre parámetros y argumentos de una función?
    los parametros son los datos de entrada que tiene la funcion y los argumentos son los datos que mandamos a la funcion para que sean datos de entrada.

2️⃣ Convierte el siguiente código en una función, pero, cambiando cuando sea necesario las variables constantes por parámetros y argumentos en una función:

function miFuncion(name, lastname, nickname){
	console.log("Mi nombre es " + name + " " + lastname + ", pero prefiero que me digas " + nickname + "."); 
}

miFuncion("Adriana", "Barrera","Adri Tris")

Condicionales
1️⃣ Responde las siguientes preguntas

  • ¿Qué es un condicional?
    Es un proceso en el cual hay una condicion y existen dos caminos, una donde se cumple y otra donde no se cumple
  • ¿Qué tipos de condicionales existen en JavaScript y cuáles son sus diferencias?
    IF, IF ELSE, ELSE IF y SWITCH
  • ¿Puedo combinar funciones y condicionales?
    No lo recuerdo exactamente…

2️⃣ Replica el comportamiento del siguiente código que usa la sentencia switch utilizando if, else y else if:

const tipoDeSuscripcion = "Basic";

if (tipoDeSuscripcion === "Free"){
	console.log("Solo puedes tomar los cursos gratis");
} else if (tipoDeSuscripcion === "Basic"){
	console.log("Puedes tomar casi todos los cursos de Platzi durante un mes");
} else if (tipoDeSuscripcion === "Expert"){
	console.log("Puedes tomar casi todos los cursos de Platzi durante un año");
} else if (tipoDeSuscripcion === "ExpertPlus"){
	console.log("Tú y alguien más pueden tomar TODOS los cursos de Platzi durante un año");
} 

3️⃣ Replica el comportamiento de tu condicional anterior con if, else y else if, pero ahora solo con if (sin else ni else if).

const tipoDeSuscripcion = "Basic";

if (tipoDeSuscripcion === "Free"){
	console.log("Solo puedes tomar los cursos gratis");
} 
if (tipoDeSuscripcion === "Basic"){
	console.log("Puedes tomar casi todos los cursos de Platzi durante un mes");
}
if (tipoDeSuscripcion === "Expert"){
	console.log("Puedes tomar casi todos los cursos de Platzi durante un año");
}
if (tipoDeSuscripcion === "ExpertPlus"){
	console.log("Tú y alguien más pueden tomar TODOS los cursos de Platzi durante un año");
} 

Ciclos
1️⃣ Responde las siguientes preguntas

  • ¿Qué es un ciclo?
    Es una iteración que se repite hasta que se cumpla una condicion.
  • ¿Qué tipos de ciclos existen en JavaScript?
    While, Do-While, For, For of
  • ¿Qué es un ciclo infinito y por qué es un problema?
    Significa que la condición nunca se cumple y va a seguirse ejecutando por siempre lo cual es un problema.
  • ¿Puedo mezclar ciclos y condicionales?
    Por supuesto que si

2️⃣ Replica el comportamiento de los siguientes ciclos for utilizando ciclos while:

for (let i = 0; i < 5; i++) {
    console.log("El valor de i es: " + i);
}

//Solucion
var i = 0;
while(i < 5){
	console.log("El valor de i es: " + i);
	i++;
}

for (let i = 10; i >= 2; i--) {
    console.log("El valor de i es: " + i);
}

//Solucion 
var i = 10;
while(i >= 2){
	console.log("El valor de i es: " + i);
	i--;
}

3️⃣ Escribe un código en JavaScript que le pregunte a los usuarios cuánto es 2 + 2. Si responden bien, mostramos un mensaje de felicitaciones, pero si responden mal, volvemos a empezar.

var respuesta;
do{
	respuesta = prompt("¿Cuánto es 2 + 2?");
}while(respuesta >= 5 || respuesta <= 3);
console.log("Felicitaciones lo lograaste");

Listas
1️⃣ Responde las siguientes preguntas

  • ¿Qué es un array?
    Es un tipo de almacenamiento donde se guardan varios datos
  • ¿Qué es un objeto?
    Es un contenedor de propiedades, donde una propiedad tiene un nombre y un valor
  • ¿Cuándo es mejor usar objetos o arrays?
    Depende de la problemática
  • ¿Puedo mezclar arrays con objetos o incluso objetos con arrays?
    Si.

2️⃣ Crea una función que pueda recibir cualquier array como parámetro e imprima su primer elemento.

function imprimirArray(array){
	console.log(array[0]);
}

imprimirArray(["Peloso", "Quki"]);

hasta aqui mi reporte joaquin 😖🫠

1️⃣ Responde las siguientes preguntas en la sección de comentarios:
¿Qué es una variable y para qué sirve?
Una variable es un espacio en la memoria de un programa informático que se utiliza para almacenar un valor o una información.
¿Cuál es la diferencia entre declarar e inicializar una variable?
declarar una variable es reservar espacio en memoria para ella y especificar su tipo y nombre, mientras que inicializar una variable es asignarle un valor por primera vez.
¿Cuál es la diferencia entre sumar números y concatenar strings?
La principal diferencia entre sumar números y concatenar strings es que la primera es una operación matemática que se realiza con valores numéricos, mientras que la segunda es una operación de texto que se realiza con cadenas de caracteres.
¿Cuál operador me permite sumar o concatenar
Usando el operador “+”

2️⃣ Determina el nombre y tipo de dato para almacenar en variables la siguiente información:
Nombre de Variable: nombre
Tipo de Datos: Cadena de caracteres (String)
Apellido

Nombre de Variable: apellido
Tipo de Datos: Cadena de caracteres (String)
Nombre de usuario en Platzi

Nombre de Variable: nombreUsuarioPlatzi
Tipo de Datos: Cadena de caracteres (String)
Edad

Nombre de Variable: edad
Tipo de Datos: Entero (Integer) o Número (Number)
Correo electrónico

Nombre de Variable: correoElectronico
Tipo de Datos: Cadena de caracteres (String)
Estado de Mayoría de Edad (Si la persona es mayor de edad o no)

Nombre de Variable: esMayorEdad
Tipo de Datos: Booleano (Boolean)
Cantidad Ahorrada

Nombre de Variable: cantidadAhorrada
Tipo de Datos: Número (Number) o Decimal (Float)
Deudas

Nombre de Variable: deudas
Tipo de Datos: Número (Number) o Decimal (Float)

3️⃣ Traduce a código JavaScript las variables del ejemplo anterior y deja tu código en los comentarios.
var nombre = “Juan”;
var apellido = “Pérez”;
var nombreUsuarioPlatzi = “juanito123”;
var edad = 28;
var correoElectronico = “[email protected]”;
var esMayorEdad = true;
var cantidadAhorrada = 1500.75;
var deudas = 500.25;

4️⃣ Calcula e imprime las siguientes variables a partir de las variables del ejemplo anterior:
var nombre = “Juan”;
var apellido = “Pérez”;
var nombreUsuarioPlatzi = “juanito123”;
var edad = 28;
var correoElectronico = “[email protected]”;
var esMayorEdad = true;
var cantidadAhorrada = 1500.75;
var deudas = 500.25;

var nombreCompleto = nombre + " " + apellido;
console.log(“Nombre completo:”, nombreCompleto);

var dineroReal = cantidadAhorrada - deudas;
console.log(“Dinero real:”, dineroReal);

Responde las siguientes preguntas:
• ¿Qué es una variable y para qué sirve?
R: Una variable es una reserva de memoria que se destina a guardar datos de tipo numérico, string o booleano; sirve para que a lo largo del código se pueda llamar a la variable para hacer operaciones matemáticas, modificarla o simplemente traerla a colación; lo anterior reduce tiempo y espacio (en el código) al no tener que volver a especificar datos repetitivos
• ¿Cuál es la diferencia entre declarar e inicializar una variable?
R: Declarar la variable es definir el nombre de la variable y a partir de donde va a empezar a existir, mientras que inicializar es definir a que va a ser igual ese nombre que previamente se declaró
• ¿Cuál es la diferencia entre sumar números y concatenar strings?
R: Sumar es una operación matemática y se puede hacer entre datos de tipo numéricos, mientras que concatenar es poner un valor al lado de otro dato, se puede hacer con datos numéricos y strings
• ¿Cuál operador me permite sumar o concatenar?
R: “+” este símbolo realiza sumas y concatena: realiza suma si dos o más datos son numéricos; concatena si son dos datos de diferentes tipos.

2️⃣ Determina el nombre y tipo de dato para almacenar en variables la siguiente información:
• Nombre: string
• Apellido: string
• Nombre de usuario en Platzi: string
• Edad: numérico
• Correo electrónico: string
• Mayor de edad: booleano
• Dinero ahorrado: numérico
• Deudas: numérico

3️⃣ Traduce a código JavaScript las variables del ejemplo anterior y deja tu código en los comentarios.

Let Nombre: “”;
Let Apellido: “”;
Let NombreDeUsuarioEnPlatzi = ””;
Let Edad = 0
Let CorreoElectrónico: “”;
let MayorEdad = false
Let DineroAhorrado = 0;
Let Deudas = 0;

4️⃣ Calcula e imprime las siguientes variables a partir de las variables del ejemplo anterior:

Let NombreCompleto = Nombre + “ “ + Apellido;
Console.log (NombreCompleto);
Let DineroReal = DineroAhorrado – Deudas;
Console.log (DineroReal);

Funciones
1️⃣ Responde las siguientes preguntas en la sección de comentarios:
• ¿Qué es una función?
R Una función es una tarea en donde se ingresa unos parámetros y pasa por unas instrucciones para que al final salga un resultado que tenga relación con los parámetros ingresados
• ¿Cuándo me sirve usar una función en mi código?
R Cuando dentro del código hay una tarea que se repita varias veces, se define una vez y se llama
• ¿Cuál es la diferencia entre parámetros y argumentos de una función?
R Los parámetros son variables que se ingresan cuando se declara la función, mientras que los argumentos son estas mismas variables cuando se les da un valor; es decir cuando la función se inicialice.

2️⃣ Convierte el siguiente código en una función, pero, cambiando cuando sea necesario las variables constantes por parámetros y argumentos en una función:

const name = "Juan David";
const lastname = "Castro Gallego";
const completeName
= name +
const nickname = "juandc";
console.log("Mi nombre es " + completeName + ", pero prefiero que me digas " + nickname + ".");
//Solución:
const name = "";
const lastname = "";
const nickname = "";
function saludar (name, lastname, nickname
const completeName = name + " " + lastname;
console.log("Mi nombre es " + completeName + ", pero prefiero que me digas " + nickname + ".");
}
saludar ("juan", "garcia", "juanca")

Condicionales
1️⃣ Responde las siguientes preguntas en la sección de comentarios:
• ¿Qué es un condicional?
R Es una operación en donde se ejecuta un bloque de código si se cumple una condición
• ¿Qué tipos de condicionales existen en JavaScript y cuáles son sus diferencias?
R If/else if: se ponen la condiciones; las cuales se deben cumplir para ejecutar un bloque de código, en caso de que no (else) se ejecuta otro bloque de código. Esta es útil para cuando se tienen hasta 2 o 3 condiciones diferentes
R Switch: trabaja como una función en donde se declaran los parámetros con las cuales se van a comparar; después se ponen las condiciones (case 1) para ejecutar un bloque de código, se definen las condiciones del case 2, case 3… case n y finalmente un valor por defecto en caso de que no se cumplan los diferentes casos definidos. Este condicional es útil para cuando se tengan 3 o más casos para comparar.
• ¿Puedo combinar funciones y condicionales?
R Si

2️⃣ Replica el comportamiento del siguiente código que usa la sentencia switch utilizando if, else y else if:

const tipoDeSuscripcion = "Basic";
switch (tipoDeSuscripcion) {
case "Free":
console.log("Solo puedes tomar los cursos gratis");
break;
case "Basic":
console.log("Puedes tomar casi todos los cursos de Platzi durante un mes");
break;
case "Expert":
console.log("Puedes tomar casi todos los cursos de Platzi durante un año");
break;
case "ExpertPlus":
console.log("Tú y alguien más pueden tomar TODOS los cursos de Platzi durante un año");
break;
}
//Solución:
const tipoDeSuscripcion = "basic";
function mensaje (tipoDeSuscripcion){
if (tipoDeSuscripcion === "free") {
console.log("Solo puedes tomar los cursos gratis");
} else if (tipoDeSuscripcion === "basic"){
console.log("Puedes tomar casi todos los cursos de Platzi durante un mes");
} else if (tipoDeSuscripcion === "expert"){
console.log("Puedes tomar casi todos los cursos de Platzi durante un año");
} else if (tipoDeSuscripcion === "expert plus") {} else if (tipoDeSuscripcion === "expert plus") {
console.log("Tú y alguien más pueden tomar TODOS los cursos de Platzi durante un año");
}
}

3️⃣ Replica el comportamiento de tu condicional anterior con if, else y else if, pero ahora solo con if (sin else ni else if).

function mensaje (tipoDeSuscripcion){
if (tipoDeSuscripcion === "free") {
console.log("Solo puedes tomar los cursos gratis");
} if (tipoDeSuscripcion === "basic"){
console.log("Puedes tomar casi todos los cursos de Platzi durante un mes");
} if (tipoDeSuscripcion === "expert"){
console.log("Puedes tomar casi todos los cursos de Platzi durante un año");
} if (tipoDeSuscripcion === "expert plus") {
console.log("Tú y alguien más pueden tomar TODOS los cursos de Platzi durante un año");
}
}

Ciclos
1️⃣ Responde las siguientes preguntas en la sección de comentarios:
• ¿Qué es un ciclo?
R Es una estructura de control que permite realizar acciones (funciones) mientras se cumpla una condición
• ¿Qué tipos de ciclos existen en JavaScript?
R For, for each, while, f or of
• ¿Qué es un ciclo infinito y por qué es un problema?
R Es un ciclo que no cumple con la condición para finalizar el ciclo y es un problema se queda dando vueltas en el ciclo infinitamente y lo daña.
• ¿Puedo mezclar ciclos y condicionales?
R si
2️⃣ Replica el comportamiento de los siguientes ciclos for utilizando ciclos while:

for (let i = 0; i < 5; i++) {
console.log("El valor de i es: " + i);
}
for (let i = 10; i >= 2; i
----)
console.log("El valor de i es: " + i);
}
Solucion:
let i = 0;
while (i<5) {
console.log("el valor de i es: " + i++)
}
Let i =
1 0;
While (i<=2){
console.log (“el valor de i es: “ i
}

3️⃣ Escribe un código en JavaScript que le pregunte a los usuarios cuánto es 2️ + 2️. Si responden bien, mostramos un mensaje de felicitaciones, pero si responden mal, volvemos a empezar.

while (true){
const message = "How much is 2 +2?"
let answer = Number(prompt(message));
if (answer === 4){
alert ("excellent")
break;
}
}

Listas
1️⃣ Responde las siguientes preguntas en la sección de comentarios:
• ¿Qué es un array?
R Una variable que contiene un grupo de variables
• ¿Qué es un objeto?
R Es un array con diferentes propiedades
• ¿Cuándo es mejor usar objetos o arrays?
R Los objetos se usan cuando se tiene varias variables con propiedades parecidas, mientras que los arrays se usan cuando se tienen variables sin propiedades
• ¿Puedo mezclar arrays con objetos o incluso objetos con arrays?
R Si
2️⃣ Crea una función que pueda recibir cualquier array como parámetro e imprima su primer elemento.

function imprimir (array){
if (array.length > 0){
console.log(array[0]);
} else {
console.log("el array esta vacio");
}
}

3️⃣ Crea una función que pueda recibir cualquier array como parámetro e imprima todos sus elementos uno por uno (no se vale imprimir el array completo).

function imprimir (arreglo){
if (arreglo.length > 0){
for(let i = 0; i<arreglo.length; i++){
console.log(arreglo[i]);
} else if (arreglo.length===
console.log("array vacío")
}
}

4️⃣ Crea una función que pueda recibir cualquier objeto como parámetro e imprima todos sus elementos uno por uno (no se vale imprimir el objeto completo).

function print (objeto){
if(Object.getOwnPropertyNames(objeto).length > 0){
for (let i =0; i < Object.getOwnPropertyNames(objeto).length; i++){
console.log(Object.getOwnPropertyNames(objeto)[i] + ": " +
Object.values(objeto)[i])
}
} else {
console.log("Objeto sin propiedades")
}
}

Variables y operaciones

¿Qué es una variable y para qué sirve?
Una variable en JavaScript es un contenedor que almacena un valor. Estos valores pueden ser números, cadenas de texto, objetos, funciones y más. Las variables permiten manipular y acceder a estos valores en el código.

¿Cuál es la diferencia entre declarar e inicializar una variable?
Declarar una variable significa crearla en el código, mientras que inicializarla significa asignarle un valor por primera vez.

¿Cuál es la diferencia entre sumar números y concatenar strings?
Sumar números es una operación aritmética que resulta en la adición de valores numéricos. Concatenar strings es la acción de unir cadenas de texto en una sola cadena.

¿Cuál operador me permite sumar o concatenar?
El operador + se utiliza tanto para sumar números como para concatenar strings.

Determina el nombre y tipo de dato para almacenar en variables la siguiente información:

Nombre: nombre (Tipo de dato: string)
Apellido: apellido (Tipo de dato: string)
Nombre de usuario en Platzi: nombreUsuario (Tipo de dato: string)
Edad: edad (Tipo de dato: number)
Correo electrónico: correoElectronico (Tipo de dato: string)
Mayor de edad: esMayorDeEdad (Tipo de dato: boolean)
Dinero ahorrado: dineroAhorrado (Tipo de dato: number)
Deudas: deudas (Tipo de dato: number)
Traduce a código JavaScript las variables del ejemplo anterior:

javascript
Copy code
let nombre = “Juan”;
let apellido = “Pérez”;
let nombreUsuario = “juan123”;
let edad = 25;
let correoElectronico = “[email protected]”;
let esMayorDeEdad = true;
let dineroAhorrado = 1000;
let deudas = 500;
Calcula e imprime las siguientes variables a partir de las variables del ejemplo anterior:
javascript
Copy code
let nombreCompleto = nombre + " " + apellido;
let dineroReal = dineroAhorrado - deudas;

console.log("Nombre completo: " + nombreCompleto);
console.log("Dinero real: " + dineroReal);
Funciones

¿Qué es una función?
Una función en JavaScript es un bloque de código reutilizable que realiza una tarea específica. Puede aceptar parámetros como entrada y devolver un valor como salida.

¿Cuándo me sirve usar una función en mi código?
Las funciones son útiles para dividir el código en partes más pequeñas y manejables, lo que facilita la lectura, mantenimiento y reutilización del código.

¿Cuál es la diferencia entre parámetros y argumentos de una función?
Los parámetros son variables que se definen en la declaración de la función y actúan como marcadores de posición para los valores que se pasan como argumentos al llamar a la función.

Convierte el siguiente código en una función:

javascript
Copy code
function saludar(nombre, apellido, nickname) {
const nombreCompleto = nombre + " " + apellido;
console.log("Mi nombre es " + nombreCompleto + ", pero prefiero que me digas " + nickname + “.”);
}

saludar(“Juan David”, “Castro Gallego”, “juandc”);
Condiciones

¿Qué es un condicional?
Un condicional es una estructura de control que permite tomar decisiones en el flujo de ejecución del código, basándose en una condición evaluada como verdadera o falsa.

¿Qué tipos de condicionales existen en JavaScript y cuáles son sus diferencias?
En JavaScript, existen los condicionales if, else if y else para evaluar diferentes situaciones y ejecutar bloques de código correspondientes.

¿Puedo combinar funciones y condicionales?
Sí, puedes combinar funciones y condicionales para realizar acciones específicas dependiendo de ciertas condiciones.

Replica el comportamiento del código switch utilizando if, else y else if:

javascript
Copy code
const tipoDeSuscripcion = “Basic”;

if (tipoDeSuscripcion === “Free”) {
console.log(“Solo puedes tomar los cursos gratis”);
} else if (tipoDeSuscripcion === “Basic”) {
console.log(“Puedes tomar casi todos los cursos de Platzi durante un mes”);
} else if (tipoDeSuscripcion === “Expert”) {
console.log(“Puedes tomar casi todos los cursos de Platzi durante un año”);
} else if (tipoDeSuscripcion === “ExpertPlus”) {
console.log(“Tú y alguien más pueden tomar TODOS los cursos de Platzi durante un año”);
}
Replica el comportamiento del condicional anterior utilizando solo if:
javascript
Copy code
if (tipoDeSuscripcion === “Free”) {
console.log(“Solo puedes tomar los cursos gratis”);
}
if (tipoDeSuscripcion === “Basic”) {
console.log(“Puedes tomar casi todos los cursos de Platzi durante un mes”);
}
if (tipoDeSuscripcion === “Expert”) {
console.log(“Puedes tomar casi todos los cursos de Platzi durante un año”);
}
if (tipoDeSuscripcion === “ExpertPlus”) {
console.log(“Tú y alguien más pueden tomar TODOS los cursos de Platzi durante un año”);
}
Ciclos

¿Qué es un ciclo?
Un ciclo es una estructura que permite repetir un bloque de código varias veces mientras se cumpla una condición.

¿Qué tipos de ciclos existen en JavaScript?
En JavaScript, existen los ciclos for, while y do-while.

¿Qué es un ciclo infinito y por qué es un problema?
Un ciclo infinito es un bucle que se ejecuta continuamente sin terminar. Esto puede causar que el programa se quede bloqueado y no responda.

¿Puedo mezclar ciclos y condicionales?
Sí, puedes utilizar ciclos dentro de condicionales y viceversa para crear estructuras más complejas.

Replica el comportamiento de los ciclos for utilizando ciclos while:

javascript
Copy code
let i = 0;
while (i < 5) {
console.log("El valor de i es: " + i);
i++;
}

let j = 10;
while (j >= 2) {
console.log(“El valor de j es: " + j);
j–;
}
Escribe un código en JavaScript que le pregunte a los usuarios cuánto es 2 + 2:
javascript
Copy code
while (true) {
const respuesta = prompt(“Cuánto es 2 + 2?”);
if (respuesta === “4”) {
console.log(”¡Correcto! ¡Felicitaciones!");
break;
} else {
console.log(“Respuesta incorrecta. Intenta nuevamente.”);
}
}
Listas

¿Qué es un array?
Un array es una estructura de datos que permite almacenar múltiples valores en una sola variable. Los valores se almacenan en posiciones indexadas y se pueden acceder y modificar mediante su índice.

¿Qué es un objeto?
Un objeto es una estructura de datos que permite almacenar pares clave-valor. Cada valor se almacena junto con una clave que actúa como identificador.

¿Cuándo es mejor usar objetos o arrays?
Los objetos son ideales cuando necesitas almacenar valores junto con sus identificadores únicos (claves). Los arrays son útiles cuando deseas almacenar una lista ordenada de valores.

¿Puedo mezclar arrays con objetos o incluso objetos con arrays?
Sí, puedes mezclar arrays con objetos y viceversa para crear estructuras de datos más complejas y flexibles.

Crea una función que pueda recibir cualquier array como parámetro e imprima su primer elemento:

javascript
Copy code
function imprimirPrimerElemento(arr) {
console.log(“Primer elemento:”, arr[0]);
}

const miArray = [1, 2, 3, 4, 5];
imprimirPrimerElemento(miArray);
Crea una función que pueda recibir cualquier array como parámetro e imprima todos sus elementos uno por uno:
javascript
Copy code
function imprimirElementos(arr) {
for (let i = 0; i < arr.length; i++) {
console.log("Elemento " + i + ": " + arr[i]);
}
}

const otroArray = [“a”, “b”, “c”];
imprimirElementos(otroArray);
Crea una función que pueda recibir cualquier objeto como parámetro e imprima todos sus elementos uno por uno:
javascript
Copy code
function imprimirElementosObjeto(obj) {
for (let key in obj) {
console.log(key + ": " + obj[key]);
}
}

const miObjeto = {
nombre: “Juan”,
edad: 30,
profesion: “Desarrollador”
};

imprimirElementosObjeto(miObjeto);

Me pareció interesante el reto número 3* de las CONDICIONALES:
.
Aquí mi solution utilizando objetos:

Escribe un código en JavaScript que le pregunte a los usuarios cuánto es 2 + 2. Si responden bien, mostramos un mensaje de felicitaciones, pero si responden mal, volvemos a empezar. (pruébalo en la consola del navegador)

const num1 = 2
const num2 = 2
const sum = num1 + num2

const resultado = () => {
  alert(`Cuánto es ${num1} + ${num2}?`)
  const val = prompt()
  if (val == sum) {
    alert('Felicidades')    
  } else {
    resultado()
  }
}
resultado()

1️⃣ Responde las siguientes preguntas en la sección de comentarios:
¿Qué es una variable y para qué sirve?
Una variable es donde se almacenan y se recuperan los datos de un programa. Así de simple. En programación, la utilizamos para guardar datos y estados, asignar ciertos valores de variables a otras, representar valores de expresiones matemáticas y mostrar valores por pantallas.
¿Cuál es la diferencia entre declarar e inicializar una variable?
Cuando declaramos una variable, simplemente nombramos la variable, sin indicarle que tipo de información o dato almacenara. En cambio, cuando inicializamos una variable indicamos el tipo de dato e información que va a almacenar
¿Cuál es la diferencia entre sumar números y concatenar strings?
Sumar números es una operación matemática y concatenar es unir strings uno tras otro.
¿Cuál operador me permite sumar o concatenar?
JavaScript usa el signo + tanto para una suma como para concatenar strings, así cuando uno de los operadores de una suma es un string
2️⃣ Determina el nombre y tipo de dato para almacenar en variables la siguiente información:
Nombre "string"
Apellido "string"
Nombre de usuario en Platzi "string"
Edad "number"
Correo electrónico"string"
Mayor de edad "boolean"
Dinero ahorrado "number"
Deudas "number"
3️⃣ Traduce a código JavaScript las variables del ejemplo anterior y deja tu código en los comentarios.

//Variables
let name = “michael”;
let lastName = “reyes”;
let user_name = “michell”;
let age = 24;
let mail = "[email protected]"
let adult = falce;
let savedMoney = 1900;
let debtMoney = 600000;
4️⃣ Calcula e imprime las siguientes variables a partir de las variables del ejemplo anterior:
Nombre completo (nombre y apellido)
//Nombre completo
let name = “michael”;
let lastName = “reyes”;
console.log(Mi nombre completo es ${name} ${lastName});
Dinero real (dinero ahorrado menos deudas)
//Dinero ahorrado
let savedMoney = 1600;
let debtMoney = 60000;
let totalMoney = savedMoney - debtMoney;
console.log(El total de mi dinero actual es: $${totalMoney});
1️⃣ Responde las siguientes preguntas en la sección de comentarios:
¿Qué es una función?
Una función en JavaScript es un bloque de código o un conjunto de instrucciones que realiza una tarea específica y que puede reutilizarse a voluntad. Por lo tanto, una función es uno de los building blocks fundamentales de JavaScript.
¿Cuándo me sirve usar una función en mi código?
Una función en JavaScript es similar a un procedimiento — un conjunto de instrucciones que realiza una tarea o calcula un valor, pero para que un procedimiento califique como función, debe tomar alguna entrada y devolver una salida donde hay alguna relación obvia entre la entrada y la salida.
¿Cuál es la diferencia entre parámetros y argumentos de una función?
Así, los parámetros son los nombres que aparecen en la definición de una función. Por su parte, los argumentos son los valores que le pasamos (y que, por tanto, recibe) una función.

const name = “Juan David”;
const lastname = “Castro Gallego”;
const completeName = name + lastname;
const nickname = “juandc”;
console.log("Mi nombre es " + completeName + ", pero prefiero que me digas " + nickname + “.”);

//My solution
function presentation(name, lastName, nickName){
return console.log(“Mi nombre completo es” + name + lastName + “pero prefiero que me digas” + nickName );
}

presentation();

1️⃣ Responde las siguientes preguntas en la sección de comentarios:
¿Qué es un condicional?
El condicional if en javascript, si en español, nos permite introducir una situación que debe ser verdadera para que una acción suceda. Luego de este, escribiremos la acción a ejecutar. Entonces, podemos hacer que, por ejemplo, si una variable llega a determinado valor (i = 3), un bucle se detenga (break).
¿Qué tipos de condicionales existen en JavaScript y cuáles son sus diferencias?
If…else
Switch
Con el condicional If…Else podemos tener diferentes expresiones para evaluar dependiente del caso, y generar tantos If o else como sea necesario. Mientras que Switch case toma una sola expresión de entrada pero puede evaluar todos los casos como sea necesario de una forma más ordenada.

¿Puedo combinar funciones y condicionales?

Podemos encadenar una respusta desde un condional a otro pero no podemos combinarlo dentro de una misma expresión. Si podemos ocuparlos de forma separada y luego encadenar una acción dependiendo del resultado.

2️⃣ Replica el comportamiento del siguiente código que usa la sentencia switch utilizando if, else y else if:

const tipoDeSuscripcion = “Basic”;
switch (tipoDeSuscripcion) {
case “Free”:
console.log(“Solo puedes tomar los cursos gratis”);
break;
case “Basic”:
console.log(“Puedes tomar casi todos los cursos de Platzi durante un mes”);
break;
case “Expert”:
console.log(“Puedes tomar casi todos los cursos de Platzi durante un año”);
break;
case “ExpertPlus”:
console.log(“Tú y alguien más pueden tomar TODOS los cursos de Platzi durante un año”);
break;
}
//My solution
const tipoDeSuscripcion = “Basic”;
if (tipoDeSuscripcion == “Free”) {
console.log(“Solo puedes tomar los cursos gratis”);
} else if (tipoDeSuscripcion == “Basic”) {
console.log(“Puedes tomar casi todos los cursos de Platzi durante un mes”);
} else if (tipoDeSuscripcion == “Expert”) {
console.log(“Puedes tomar casi todos los cursos de Platzi durante un año”);
} else if (tipoDeSuscripcion == “ExpertPlus”) {
console.log(“Tú y alguien más pueden tomar TODOS los cursos de Platzi durante un año”);
} else {
console.log(“No tienes ninguna suscripción? suscribete ahora”);
}

1️⃣ Responde las siguientes preguntas en la sección de comentarios:
¿Qué es un ciclo?
Los bucles en JavaScript son una manera de crear repeticiones en nuestro código y son una parte importante de la sintaxis de este lenguaje de programación. Por ello, conocer cómo funcionan nos ayuda a elaborar situaciones complejas en las que automatizamos la repetición de varias funciones.
¿Qué tipos de ciclos existen en JavaScript?
Existe 4 tipos de ciclos en JavaScript, estos son For, While, Do While, For in y For of.
¿Qué es un ciclo infinito y por qué es un problema?
Un bucle infinito es una secuencia de instrucciones en un programa de computadora que se repite sin cesar, ya sea porque el bucle no tiene una condición de terminación, porque tiene una que nunca se puede cumplir o porque causa el bucle.
¿Puedo mezclar ciclos y condicionales?
¿Puedo mezclar ciclos y condicionales? Si, tanto ciclos como condicionales pueden anidarse.
for (let i = 0; i < 5; i++) {
console.log("El valor de i es: " + i);
}
for (let i = 10; i >= 2; i–) {
console.log("El valor de i es: " + i);
}
//My Solution
let i = 0;
while (i < 5) {
i++;
console.log(El valor de i es: ${i})
}
let i = 10;
while (i >= 2) {
i–;
console.log(El valor de i es: ${i})
}

3️⃣ Escribe un código en JavaScript que le pregunte a los usuarios cuánto es 2 + 2. Si responden bien, mostramos un mensaje de felicitaciones, pero si responden mal, volvemos a empezar.
💡 Pista: puedes usar la función prompt de JavaScript.

//Basic Math Quiz
let num = 10;
let num2 = 10;
const result = num + num2;
let questions = {
q1: Cuanto es ${num} + ${num2}
}
function Quizzer() {
let userInput = prompt(questions.q1);
if (userInput == result) {
alert(“Felicitaciones, respondiste correctamente el desafio 😎”);
} else {
alert(" tu respuesta es incorrecta");
}
}
Quizzer();

1️⃣ Responde las siguientes preguntas en la sección de comentarios:
¿Qué es un array?

Un array es una colecciones de elementos con valores de una sola variable. Se escriben dentro de [ … ], separado por una coma.

¿Qué es un objeto?

Es una colección de datos relacionados con múltiples variables con sus valores.

¿Cuándo es mejor usar objetos o arrays?

Ocupamos objetos cuando el conjunto de elementos es muy grande y de distintos tipos de valores.

¿Puedo mezclar arrays con objetos o incluso objetos con arrays?

2️⃣ Crea una función que pueda recibir cualquier array como parámetro e imprima su primer elemento.
let myArray = [‘Manchester’, ‘London’, ‘Liverpool’, ‘Birmingham’, ‘Leeds’, ‘Carlisle’];
function readArray(array){
console.log(array[0])
}
readArray(myArray);
3️⃣ Crea una función que pueda recibir cualquier array como parámetro e imprima todos sus elementos uno por uno (no se vale imprimir el array completo).
let myArray = [‘Manchester’, ‘London’, ‘Liverpool’, ‘Birmingham’, ‘Leeds’, ‘Carlisle’];
function readArray(array) {
for (let i = 0; i < array.length; i++) {
console.log(${i + 1} ${array[i]})
}
}
readArray(myArray);
4️⃣ Crea una función que pueda recibir cualquier objeto como parámetro e imprima todos sus elementos uno por uno (no se vale imprimir el objeto completo).
let myCar = {
make: ‘Ford’,
model: ‘Mustang’,
year: 1969
};
function readObject(object) {
for (let key in object) {
console.log(object[key]);
}
}
readObject(myCar);

Variables y Operaciones
Parte1

  • Una variable es un espacio en memoria reservado para almacenar información/datos.

  • Declarar una variable se refiere a únicamente darle nombre a la variable sin indicarle que dato y tipo de dato
    almacenara mientras que inicializarla se refiere a darle un valor a almacenar esa variable.

  • Cuando sumamos números lo que realizamos es una suma común como por ejemplo 10 + 10 = 20, y cuando concatenamos strings lo que hacemos es unir dos cadenas de texto. Ejemplo: "Hola " + “amigo” = “Hola amigo”.

  • El operador de suma “+”.

Parte 2

  • Nombre: String; “Steven”

  • Apellido: String; “Moya”

  • Nombre de usuario Platzi: String; “stevenmoya02”

  • Edad: Number; 21

  • Correo electronico: String “[email protected]

  • Mayor de edad: Boolean; True

  • Dinero ahorrado: Number; 100000.00

  • Deudas: Number; 100000.00

Parte 3


  let nombre = "Steven";
  let apellido = "Moya";
  let userNamePlatzi = "stevenmoya02";
  let age = 21;
  let email = "[email protected]";
  let mayorEdad = true;
  let dineroAhorrado = 100000;
  let deudas = 100000;

Parte 4

  console.log(`Nombre completo: ${nombre} ${apellido}`);
  console.log( `Dinero total: ${dineroAhorrado - deudas}` );

Funciones
Parte 1

  • Una función es un pedazo de código, o una serie de instrucciones que realizan una operación. Una función puede retornar un valor de salida o no.
  • Una función es útil en nuestro código cuando repetimos mucho código, en lugar de estar repitiendo código podríamos pasarlo a una función donde solo lo tendríamos que escribir una vez.
  • Los parámetros se definen a con la función y son los datos que una función espera recibir, mientras que los argumentos son los datos que se envían a la hora de invocar a una función.

Parte 2

const mensajeNombre = (nombre, apellido, apodo) => {

    console.log(`Mi nombre es ${nombre} ${apellido}, pero prefiero que me digas ${apodo}.`);
}

mensajeNombre(nombre,apellido,"Randys");

Condicionales
Parte 1

  • Un condicional es una porción de código que se se ejecuta basándose en si una condición es verdadera o falsa.

  • En JavaScript existen los siguientes condicionales: if, if else, else if, switch, operador ternario. Cada en el caso de if se ejecuta si la condición es verdadera, en el else if básicamente son if anidados, en el if else se ejecuta el if si la condición es verdadera y el else en caso de que sea falsa, el operador ternario es como un if else pero con una sintaxis mas corta. Y el switch es un bloque de código que evalua diferentes opciones.

Parte 2

if (tipoDeSuscripcion == "Free"){
    console.log("Solo puedes tomar los cursos gratis");

} else if (tipoDeSuscripcion == "Basic"){
    console.log("Puedes tomar casi todos los cursos de Platzi durante un mes");

} else if (tipoDeSuscripcion == "Expert"){
    console.log("Puedes tomar casi todos los cursos de Platzi durante un año");

} else if (tipoDeSuscripcion == "ExpertPlus"){
    console.log("Tú y alguien más pueden tomar TODOS los cursos de Platzi durante un año");
    
}

Parte 3

let tipoDeSuscripcion = "Basic";

const tiposSub = ["Free","Basic", "Expert", "ExpertPlus"];
const mensajeTiposSub = ["Solo puedes tomar los cursos gratis",
                        "Puedes tomar casi todos los cursos de Platzi durante un mes",
                        "Puedes tomar casi todos los cursos de Platzi durante un año",
                        "Tú y alguien más pueden tomar TODOS los cursos de Platzi durante un año"];

for (let i = 0; i < tiposSub.length; i++) {
    if(tiposSub[i] == tipoDeSuscripcion){
        console.log(mensajeTiposSub[i]);
    }
}

Ciclos
Parte 1

  • Un ciclo es un estructura de control que nos permite ejecutar una porción de código varias veces hasta que se cumpla una condición especifica.

  • En javascript existen los siguientes ciclos: for, while, do-while

  • Un bucle infinito es cunado la condición de un ciclo nunca se deja de cumplir por lo que el código se ejecutara infinitas veces provocando que se rompa el código y no se pueda avanzar en la ejecución.

  • Sí, se pueden combinar bucles y condicionales.

Parte 2

let i = 0;
while(i < 6){
    console.log("El valor de i es: " + i);
    i++;
}

i = 10;
while(i >= 2){
    console.log("El valor de i es: " + i);
    i--;
}

Parte 3

let respueta = false;
let userRespuesta;
do{
    userRespuesta = prompt("cuanto es 2 + 2")

    if(userRespuesta == 4){
        alert("Es correcto!!!");
        respueta == true;
    }else{
        alert("Incorrecto, intenta de nuevo");
    }
} while(respueta == false)

Listas
Parte 1

  • Un array es una estructura de datos que permite almacenar múltiples datos en una sola variable, cada dato tiene una posición única que se conoce como índice y que se usa para acceder a dichos datos.
    ejemplo:
const numbers= [10, 20, 30, 40];

  • Un objeto es una estructura de datos que es una entidad al que se le pueden definir atributos y métodos agrupados y que pertenecen a esa entidad.
    ejemplo:
const persona = {
  nombre: "Steven",
  edad: 22,
  pais: "Costa Rica"
};
  • Los arrays es mejor usarlos cuando queremos crear una lista de números o cosas y poder ordenarla y acceder a su contenido a través de su posición o numero de índice. En cambio los objetos es mejor usarlos cuando queremos asignar pares de clave valor, donde cada clave esta asociada a un valor en especifico.

  • Sí, podemos crear arrays de objetos y también podemos crear objetos que contengan arrays como atributos.

Parte 2

const numbers= [10, 20, 30, 40];

function imprimirPrimerValor(array){
    console.log(array[0]);
}

imprimirPrimerValor(numbers);

Parte 3

const numbers= [10, 20, 30, 40];

function imprimirValoresArray(array){
    for (let i = 0; i < array.length; i++) {
        console.log(array[i]);
    }
}

imprimirValoresArray(numbers);

Parte 4

const persona = {
    nombre: "Steven",
    edad: 22,
    pais: "Costa Rica"
};

function imprimirValoresObjeto(objeto){
    for (let atributo in objeto) {
        console.log(persona[atributo])
    }
}

imprimirValoresObjeto(persona);

Mi codigo SM 🚀


// Creacion de un metodo contructor para crear varios usuarios
function Usuario(nombre, apellido, platzi_user_name, edad, email, mayor, dinero_ahorrado, deudas){
    this.nombre = nombre;
    this.apellido = apellido;
    this.platzi_user_name = platzi_user_name;
    this.edad = edad;
    this.email = email;
    this.mayor = mayor;
    this.dinero_ahorrado = dinero_ahorrado;
    this.deudas = deudas;
    this.full_name = function(){
        console.log(`${this.nombre} ${this.apellido}`);
    };
    this.dinero_real = function(){
        console.log(`${this.dinero_ahorrado - this.deudas}`);
    };
    
}

// Creacion de un nuevo usuario
var newUser = new Usuario("Pepito", "Perez", "Pepito", 100, "[email protected]", true, 1000000, 500000);

// Imprimir el nombre completo
newUser.full_name();
// =>Pepito Perez


// Imprimir cuanto dinero real tiene en la cuenta
newUser.dinero_real();
// =>500000

By SsimorPro

1️⃣ Responde las siguientes preguntas en la sección de comentarios:
¿Qué es una variable y para qué sirve?
Una variable es una entidad que reserva espacio en la memoria para almacenar informacion.
¿Cuál es la diferencia entre declarar e inicializar una variable?
Declarar una variable consiste en llamar a ese variable para usarlo en alguna instruccion de nuestro codigo. En cambio inicializar una variable consiste en asignarle un valor inicial a esa variable, asimismo podemos indicar el tipo de dato.
¿Cuál es la diferencia entre sumar números y concatenar strings?
Sumar 2 numeros estamos haciendo referencia a la funcion mantematica de adición. En cambio al concatenar string simplemente estamos uniendo 2 tipo de datos, los cuales generalmente son string.
¿Cuál operador me permite sumar o concatenar?
El operador que permite sumar y concatenar es "+"
2️⃣ Determina el nombre y tipo de dato para almacenar en variables la siguiente información:
Nombre "String"
Apellido "String"
Nombre de usuario en Platzi "String"
Edad "Number"
Correo electrónico "String"
Mayor de edad "Boolean"
Dinero ahorrado "Number"
Deudas “Number”

3️⃣ Traduce a código JavaScript las variables del ejemplo anterior y deja tu código en los comentarios.

var nombre = "Jorge";
var apellido = "Holguin";
Nombre de usuario en platzi ="jorgeh";
Edad = 29;
Correo electronico = "[email protected]";
Mayor de edad = true;
DineroAhorrado = 500;
Deudas = 5000;

4️⃣ Calcula e imprime las siguientes variables a partir de las variables del ejemplo anterior:
Nombre completo (nombre y apellido)

var nombre = "Jorge";
var apellido = "Holguin";
console.log(`Mi nombre completo es ${nombre} ${apellido}`)

Dinero real (dinero ahorrado menos deudas)

var DineroAhorrado = 500;
var Deudas = 5000;
var DineroTotal = DineroAhorrado - Deudas;
console.log(`El total de mi dinero actual es: ${DineroTotal}`);

1️⃣ Responde las siguientes preguntas en la sección de comentarios:
¿Qué es una función?
Es un conjunto de instrucciones empaquetadas en nuestro codigo, con la finalidad de poder reutilizarlas.
¿Cuándo me sirve usar una función en mi código?
Cuando tenemos acciones repetidas y necesitamos reducir nuestra cantidad y complejidad de codigo.
¿Cuál es la diferencia entre parámetros y argumentos de una función?
Los parametros son las variables que se definen en la declaracion de nuestra funcion. En cambio los argumentos son los datos que asignamos a los parametros de la funcion para hacer un llamado a esa funcion.
2️⃣ Convierte el siguiente código en una función, pero, cambiando cuando sea necesario las variables constantes por parámetros y argumentos en una función:

function Presentacion(name, lastName, nickName){
return console.log(Mi nombre completo es ${name} ${lastName}, pero prefiero que me digas ${nickName}.);
}
var presentar = presentation(“Jorge”, “Holguin”, “jorgeh”);

Condicionales
1️⃣ Responde las siguientes preguntas en la sección de comentarios:
¿Qué es un condicional?
Es una expresion booleana que nos permite evaluar una situacion como falsa o verdadera, es muy util para poder controlar la accion de un bloque de codigo dependiendo las diversas situaciones que tengamos.
¿Qué tipos de condicionales existen en JavaScript y cuáles son sus diferencias?
if/else -switch - ?
¿Puedo combinar funciones y condicionales?
Si se puede
2️⃣ Replica el comportamiento del siguiente código que usa la sentencia switch utilizando if, else y else if:

const tipoDeSuscripcion = "Basic";

switch (tipoDeSuscripcion) {
   case "Free":
       console.log("Solo puedes tomar los cursos gratis");
       break;
   case "Basic":
       console.log("Puedes tomar casi todos los cursos de Platzi durante un mes");
       break;
   case "Expert":
       console.log("Puedes tomar casi todos los cursos de Platzi durante un año");
       break;
   case "ExpertPlus":
       console.log("Tú y alguien más pueden tomar TODOS los cursos de Platzi durante un año");
       break;
}
const tipoDeSuscripcion = "Basic";

if (tipoDeSuscripcion == "Free"){
console.log("Solo puedes tomar los cursos gratis");

}

else if (tipoDeSuscripcion == "Basic"){
console.log("Puedes tomar casi todos los cursos de Platzi durante un mes");

}

else if (tipoDeSuscripcion == "Expert"){
console.log("Puedes tomar casi todos los cursos de Platzi durante un año");

}

else if (tipoDeSuscripcion == "ExpertPlus"){
console.log("Tú y alguien más pueden tomar TODOS los cursos de Platzi durante un año");
    
}

else {
    console.log ("Error")
}

1️⃣ Responde las siguientes preguntas en la sección de comentarios:
¿Qué es un ciclo?
Es un bucle que se repite hasta que se cumple una determinada condicion
¿Qué tipos de ciclos existen en JavaScript?
while - do/while - for
¿Qué es un ciclo infinito y por qué es un problema?
Un ciclo infinito es cuando un bucle no tiene una condicion de salida. Puede relentizar la computadora o crashear el programa.
¿Puedo mezclar ciclos y condicionales?
Si, podemos iterar hasta que se cumpla una condicion de salida.Apellido
2️⃣ Replica el comportamiento de los siguientes ciclos for utilizando ciclos while:

for (let i = 0; i < 5; i++) {
    console.log("El valor de i es: " + i);
}

for (let i = 10; i >= 2; i--) {
    console.log("El valor de i es: " + i);
}

var i = 0;
while (i < 5) {
    console.log("El valor de i es: " + i);
    i++;
}

var i = 10;
while (i >=2 ){
    console.log("El valor de i es: " + i);
    i--;
}

3️⃣ Escribe un código en JavaScript que le pregunte a los usuarios cuánto es 2 + 2. Si responden bien, mostramos un mensaje de felicitaciones, pero si responden mal, volvemos a empezar.

let respuesta = prompt("¿Cuánto es 2 + 2?");

while (respuesta !== "4") {
  respuesta = prompt("Respuesta incorrecta. ¿Cuánto es 2 + 2?");
}

console.log("¡Felicitaciones! Respondiste correctamente.");

1️⃣ Responde las siguientes preguntas en la sección de comentarios:
¿Qué es un array?
Un array es un conjunto de valores o elementos, que se engloban en una sola variable. Tambien se les puede denominar como objetos.
¿Qué es un objeto?
Es similar a un array. Es una coleccion de valores relacionados.
¿Cuándo es mejor usar objetos o arrays?
Se puede emplear un array para poder relacionar elementos dentro de un mismo conjunto, y arrays para poder guardar informacion secuencial.

¿Puedo mezclar arrays con objetos o incluso objetos con arrays?
Sí, en JavaScript es posible mezclar arrays con objetos e incluso tener arrays de objetos. Esto te brinda flexibilidad para estructurar y organizar tus datos de manera más compleja y específica según tus necesidades.

2️⃣ Crea una función que pueda recibir cualquier array como parámetro e imprima su primer elemento.

function LeerArray (array){
    console.log(array[0]);
}

3️⃣ Crea una función que pueda recibir cualquier array como parámetro e imprima todos sus elementos uno por uno (no se vale imprimir el array completo).

function LeerArray (array){
    while(i< array.length){
    console.log(array[i]);
    i++;
    }
}

4️⃣ Crea una función que pueda recibir cualquier obje

function imprimirElementos(objeto) {
    for (let key in objeto) {
      console.log(objeto[key]);
    }

}

Test de JavaScript
Variables y operaciones

  1. Responde las siguientes preguntas en la sección de comentarios
  • Es un espacio de memoria y sirve para almacenar un dato
  • Cuando declaras, solo reservas un espacio de memoria y le asignas un nombre. Al inicializar, le das un valor a esa variable.
  • Sumar es números es hacer una operación aritmética y concatenar strings es para unir texto.
  • El es operador de suma “+”.
  1. Determina el nombre y tipo de dato para almacenar en variables la siguiente información:
  • Nombre -> String
  • Apellido -> String
  • Nombre de usuario Platzi -> String
  • Edad -> Number
  • Correo electrónico -> String
  • Mayor de edad -> Boolean
  • Dinero ahorrado -> Number
  • Deudas -> Number
  1. Traduce a código JavaScript las variables del ejemplo anterior y deja tu código en los comentarios.
let nombre = "Adrian"
let apellido = "Ruiz"
let userPlatzi = "aruiz08"
let edad = 18
let correo = "[email protected]"
let mayorEdad = true
let dineroAhorrado = 2000
let deudas = 0
  1. Calcula e imprime las siguientes variables a partir de las variables del ejemplo anterior:
console.log(`Su nombre completo es ${nombre} ${apellido}`)
console.log(`El dinero real es:  ${dineroAhorrado - deudas}`)

Funciones

  1. Responde las siguientes preguntas en la sección de comentarios:
  • Una función es un procedimiento almacenado que solo se ejecuta al ser invocado.
  • Cuando se repite código.
  • Los parámetros son el nombre de variables que tiene como entrada una función. Los argumentos son el valor de esas entradas al invocar la función .
  1. Convierte el siguiente código en una función, pero, cambiando cuando sea necesario las variables constantes por parámetros y argumentos en una función:
function saludo(name, lastname, nickname){
	const completeName = name + lastname;

	console.log("Mi nombre es " + completeName + ", pero prefiero que me digas " + nickname + ".");
}

Condicionales

  1. Responde las siguientes preguntas en la sección de comentarios:
  • Es una estructura de control que permite realizar un flujo correcto de acuerdo a la situación que se presente
  • If, else if, else y switch. If es para poner una condición y en caso de que se cumpla, se ejecutan las líneas de código que encapsula esta condicional. Else son las lineas de código que se ejecutan si no se cumple la condición del if. Else if es para poner otra condición en caso que la primera condición no se haya cumplido. Switch me permite almacenar distintos casos donde solo se ejecutará uno de acuerdo a la entrada que reciba está estructura de control.
  1. Replica el comportamiento del siguiente código que usa la sentencia switch utilizando if, else y else if:
const tipoDeSuscripcion = "Basic";

if(tipoDeSuscripcion === "Free"){
	console.log("Solo puedes tomar los cursos gratis");
}else if(tipoDeSuscripcion ===  "Basic"){
	console.log("Puedes tomar casi todos los cursos de Platzi durante un mes");
}else if(tipoDeSuscripcion ===  "Expert"){
	console.log("Puedes tomar casi todos los cursos de Platzi durante un año");
}else if(tipoDeSuscripcion ===  "ExpertPlus"){
	 console.log("Tú y alguien más pueden tomar TODOS los cursos de Platzi durante un año");
}
  1. Replica el comportamiento de tu condicional anterior con if, else y else if, pero ahora solo con if (sin else ni else if).
const tipoDeSuscripcion = "Basic";

const opciones = [{suscripcion: "Free", mensaje: "Solo puedes tomar los cursos gratis"}, {suscripcion: "Basic", mensaje: "Puedes tomar casi todos los cursos de Platzi durante un mes"}, {suscripcion: "Expert", mensaje: "Puedes tomar casi todos los cursos de Platzi durante un año"}, {suscripcion: "ExpertPlus", mensaje: "Tú y alguien más pueden tomar TODOS los cursos de Platzi durante un año"}];

opciones.forEach(function(opcion){
	if(opcion.suscripción === tipoDeSuscripcion){
		console.log(opcion.mensaje);
	}
})

Ciclos

  1. Responde las siguientes preguntas en la sección de comentarios:
  • Permiten repetir código cierta cantidad de veces de acuerdo a una condición.
  • for, for-of, for-in, while y do-while
  • Es cuando no le damos una salida al ciclo y se queda iterando infinitamente. Es un problema porque se mantiene consumiendo recursos del computador y pueden saturar el programa hasta detenerlo por completo.
  • Si. Es muy común hacer estas combinaciones al recorrer arreglos u objetos.
  1. Replica el comportamiento de los siguientes ciclos for utilizando ciclos while:
let i = 0;
while(i < 5){
	console.log("El valor de i es: " + i);
	i++
}

i = 10;
while(i >= 2){
	console.log("El valor de i es: " + i);
	i--
}
  1. Escribe un código en JavaScript que le pregunte a los usuarios cuánto es 2 + 2. Si responden bien, mostramos un mensaje de felicitaciones, pero si responden mal, volvemos a empezar.
let respuesta = prompt("¿Cuanto es 2 + 2?");
if(respuesta == 4){
	console.log("¡Felicitaciones!")
} else {
	console.log("Respuesta Incorrecta :(")
}

Listas

  1. Responde las siguientes preguntas en la sección de comentarios:
  • Es una estructura de datos que me permite almacenar distintos datos en un mismo lugar.
  • Es una estructura de datos que me permite designar propiedades y acciones en un mismo lugar.
  • Cuando se requiere almacenar una lista de datos o es necesario acceder a propiedades o características de objetos a almacenar.
  • Si. Es muy común utilizarlo. Un ejemplo podría ser para almacenar un la información de un carrito de compras en un Ecommerce.
  1. Crea una función que pueda recibir cualquier array como parámetro e imprima su primer elemento.
function primerElemento(array){
	console.log(array[0])
}
  1. Crea una función que pueda recibir cualquier array como parámetro e imprima todos sus elementos uno por uno (no se vale imprimir el array completo).
function imprimirArray(array){
	array.forEach(function(elemento){
		console.log(elemento);
	})
}
  1. Crea una función que pueda recibir cualquier objeto como parámetro e imprima todos sus elementos uno por uno (no se vale imprimir el objeto completo).
function imprimirObjeto(objeto){
	for(const propiedad in objeto){
		console.log(`La propiedad: ${propiedad} y su valor: ${objeto[propiedad]}`)
	}
}

respuestas del test javascript
¿Qué es una variable y para qué sirve?
es un espacio en memoria que nos permite almacenar información (cualquier tipo de datos)

¿Cuál es la diferencia entre declarar e inicializar una variable?
Cuando declaramos una variable, simplemente nombramos la variable, sin indicarle que tipo de información o dato almacenara. En cambio, cuando inicializamos una variable indicamos el tipo de dato e información que va a almacenar.

ejemplo
var articulo
var = articulo

¿Cuál es la diferencia entre sumar números y concatenar strings?
Al momento sumar números estamos realizando una operación matemática con dos tipos de datos (Numbers) mientras que al concatenar estamos sumando dos tipos de datos (String) que son cadena de textos.

¿Cuál operador me permite sumar o concatenar?
El operador utilizado es el signo +

2️⃣ Determina el nombre y tipo de dato para almacenar en variables la siguiente información:
Nombre : string
Apellido ; string
Nombre de usuario en Platzi: string
Edad: number
Correo electrónico: string
Mayor de edad: boleean
Dinero ahorrado: number
Deudas: number

3️⃣ Traduce a código JavaScript las variables del ejemplo anterior y deja tu código en los comentarios.
//Variables
let name = “said”;
let lastName = “janacet”;
let user_name = “said”;
let age = 26;
let mail = "[email protected]"
let adult = true;
let savedMoney = 1500;
let debtMoney = 500000;

4️⃣ Calcula e imprime las siguientes variables a partir de las variables del ejemplo anterior:
Nombre completo (nombre y apellido)
//Nombre completo
let name = “Camilo”;
let lastName = “Saavedra”;
console.log(Mi nombre completo es ${name} ${lastName});

Dinero real (dinero ahorrado menos deudas)
//Dinero ahorrado
let savedMoney = 1000000;
let debtMoney = 500000;
let totalMoney = savedMoney - debtMoney;
console.log(El total de mi dinero actual es: $${totalMoney});

Funciones
1️⃣ Responde las siguientes preguntas en la sección de comentarios:
¿Qué es una función?

Es un conjunto de acciones que nos permitirá reutilizar en nuestro código y siempre deben devolver un resultado. Podemos crear diferentes funciones con parámetros distintos y luego utilizar la información para realizar un evento o acción dentro de nuestro código.

¿Cuándo me sirve usar una función en mi código?

Cuando necesitamos repetir una acción en nuestro código, en vez de escribir una suma, por ejemplo en cada línea, podemos crear una función que nos permita sumar elementos cada vez que lo necesitemos y solo cambiamos sus parámetros.

¿Cuál es la diferencia entre parámetros y argumentos de una función?

Los parámetros son las variables declaras y solicitadas en nuestra función, al momento de realizar el llamado de nuestra funciones nos exigirá declarar nuestras variables que vendrían a ser nuestros argumentos de la función.

function myFunction(parámetro1 + parámetro2) {
//… All my code here
}

myFunction(argumento + argumento2);
//Al declarar las variables parámetro1 y parámetro2 estamos generando los argumentos de nuestra función.

2️⃣ Convierte el siguiente código en una función, pero, cambiando cuando sea necesario las variables constantes por parámetros y argumentos en una función:
const name = “Juan David”;
const lastname = “Castro Gallego”;
const completeName = name + lastname;
const nickname = “juandc”;
console.log("Mi nombre es " + completeName + ", pero prefiero que me digas " + nickname + “.”);
//My solution
function presentation(name, lastName, nickName){
return console.log(Mi nombre completo es ${name} ${lastName}, pero prefiero que me digas ${nickName}.);
}
presentation(“Camilo”, “Saavedra”, “cisaa”);
Condicionales
1️⃣ Responde las siguientes preguntas en la sección de comentarios:
¿Qué es un condicional?

Es una expresión que nos permite evaluar si es True o False.

¿Qué tipos de condicionales existen en JavaScript y cuáles son sus diferencias?

If…else
Switch
Con el condicional If…Else podemos tener diferentes expresiones para evaluar dependiente del caso, y generar tantos If o else como sea necesario. Mientras que Switch case toma una sola expresión de entrada pero puede evaluar todos los casos como sea necesario de una forma más ordenada.

¿Puedo combinar funciones y condicionales?

Podemos encadenar una respusta desde un condional a otro pero no podemos combinarlo dentro de una misma expresión. Si podemos ocuparlos de forma separada y luego encadenar una acción dependiendo del resultado.

2️⃣ Replica el comportamiento del siguiente código que usa la sentencia switch utilizando if, else y else if:
const tipoDeSuscripcion = “Basic”;
switch (tipoDeSuscripcion) {
case “Free”:
console.log(“Solo puedes tomar los cursos gratis”);
break;
case “Basic”:
console.log(“Puedes tomar casi todos los cursos de Platzi durante un mes”);
break;
case “Expert”:
console.log(“Puedes tomar casi todos los cursos de Platzi durante un año”);
break;
case “ExpertPlus”:
console.log(“Tú y alguien más pueden tomar TODOS los cursos de Platzi durante un año”);
break;
}
//My solution
const tipoDeSuscripcion = “Basic”;
if (tipoDeSuscripcion == “Free”) {
console.log(“Solo puedes tomar los cursos gratis”);
} else if (tipoDeSuscripcion == “Basic”) {
console.log(“Puedes tomar casi todos los cursos de Platzi durante un mes”);
} else if (tipoDeSuscripcion == “Expert”) {
console.log(“Puedes tomar casi todos los cursos de Platzi durante un año”);
} else if (tipoDeSuscripcion == “ExpertPlus”) {
console.log(“Tú y alguien más pueden tomar TODOS los cursos de Platzi durante un año”);
} else {
console.log(“No tienes ninguna suscripción”);
}
3️⃣ Replica el comportamiento de tu condicional anterior con if, else y else if, pero ahora solo con if (sin else ni else if).
💡 Bonus: si ya eres una experta o experto en el lenguaje, te desafío a comentar cómo replicar este comportamiento con arrays u objetos y un solo condicional. 😏

let typeSuscripción = [
“Free”,
“Basic”,
“Expert”,
“ExpertPlus”
];
let infoSuscripción = [
“solo puedes tomar los cursos gratis”,
“puedes tomar casi todos los cursos de Platzi durante un mes”,
“puedes tomar casi todos los cursos de Platzi durante un año”,
“tú y alguien más pueden tomar TODOS los cursos de Platzi durante un año”];
let userSuscription = “Expert”;
for (let i=0; i < typeSuscripción.length; i++) {
if (userSuscription == typeSuscripción[i]) {
console.log(Si estas suscrito al plan ${typeSuscripción[i]} en el cual ${infoSuscripción[i]})
}
}
Ciclos
1️⃣ Responde las siguientes preguntas en la sección de comentarios:
¿Qué es un ciclo?

Un ciclo es un bucle que se repite hasta que se cumpla una condición.

¿Qué tipos de ciclos existen en JavaScript?

Ciclo For, While, etc.

¿Qué es un ciclo infinito y por qué es un problema?

Un ciclo infinito es cuando la condición es infinita, nunca se cumple y, por lo tanto, no existe termino al proceso, por consecuencia nuestro código puede fallar y ralentizar nuestras computadoras.

¿Puedo mezclar ciclos y condicionales?

Sí, podemos condicionar un ciclo para que se repita todas las veces hasta que se cumplan una condición que internamente puede tener otra condición para su evaluación.

2️⃣ Replica el comportamiento de los siguientes ciclos for utilizando ciclos while:
for (let i = 0; i < 5; i++) {
console.log("El valor de i es: " + i);
}
for (let i = 10; i >= 2; i–) {
console.log("El valor de i es: " + i);
}
//My Solution
let i = 0;
while (i < 5) {
i++;
console.log(El valor de i es: ${i})
}
let i = 10;
while (i >= 2) {
i–;
console.log(El valor de i es: ${i})
}
3️⃣ Escribe un código en JavaScript que le pregunte a los usuarios cuánto es 2 + 2. Si responden bien, mostramos un mensaje de felicitaciones, pero si responden mal, volvemos a empezar.
💡 Pista: puedes usar la función prompt de JavaScript.

//Basic Math Quiz
let num = 10;
let num2 = 10;
const result = num + num2;
let questions = {
q1: Cuanto es ${num} + ${num2}
}
function Quizzer() {
let userInput = prompt(questions.q1);
if (userInput == result) {
alert(“Felicitaciones, respondiste correctamente el desafio 😎”);
} else {
alert(“lamentablemente, tu respuesta es incorrecta, sigue practicando ❌!”);
}
}
Quizzer();
Listas
1️⃣ Responde las siguientes preguntas en la sección de comentarios:
¿Qué es un array?

Un array es una colecciones de elementos con valores de una sola variable. Se escriben dentro de [ … ], separado por una coma.

¿Qué es un objeto?

Es una colección de datos relacionados con múltiples variables con sus valores.

¿Cuándo es mejor usar objetos o arrays?

Ocupamos objetos cuando el conjunto de elementos es muy grande y de distintos tipos de valores.

¿Puedo mezclar arrays con objetos o incluso objetos con arrays?

2️⃣ Crea una función que pueda recibir cualquier array como parámetro e imprima su primer elemento.
let myArray = [‘Manchester’, ‘London’, ‘Liverpool’, ‘Birmingham’, ‘Leeds’, ‘Carlisle’];
function readArray(array){
console.log(array[0])
}
readArray(myArray);
3️⃣ Crea una función que pueda recibir cualquier array como parámetro e imprima todos sus elementos uno por uno (no se vale imprimir el array completo).
let myArray = [‘Manchester’, ‘London’, ‘Liverpool’, ‘Birmingham’, ‘Leeds’, ‘Carlisle’];
function readArray(array) {
for (let i = 0; i < array.length; i++) {
console.log(${i + 1} ${array[i]})
}
}
readArray(myArray);
4️⃣ Crea una función que pueda recibir cualquier objeto como parámetro e imprima todos sus elementos uno por uno (no se vale imprimir el objeto completo).
let myCar = {
make: ‘Ford’,
model: ‘Mustang’,
year: 1969
};
function readObject(object) {
for (let key in object) {
console.log(object[key]);
}
}
readObject(myCar);

/ Test JavaScript en Platzi 😎💚

// Variables y Operaciones
//1)

// Una variable es un espacio en memoria en el cual se guarda la información desdeada.
// Cuando declaramos una variable solo estamos creando ese espacio en memoria junto con su nombre específico. Por otro lado cuando inicializamos una variable estamos estableciendo que tipo de datos va a almacenar y cual será dicha información.
// Cuando sumamos números estamos realizando una operación matemática, claro que esto se realiza cuando estamos trabajando con datos de tipo númerico. Mientras que, cuando concatenamos strings, lo que estamos haciendo es unir dos cadenas de texto en una sola.
// Estas dos acciones (sumar y concatenar), se realizan con el signo de mas (+).

//declarar una variable

let nombre;

// inicializar la variable

nombre = 'Fabian';

//podemos declarar e inicializar en la misma linea 

let nombre = 'Fabian';

// variables y operaciones

let nombre = 'Fabian'; //string
let apellido = 'Huertas'; //string
let usuarioPlatzi = 'Fabian Camilo Huertas Suarez'; //string
let edad = 30; //number
let email = '[email protected]'; //string
let mayor_de_edad = true; //boolean
let dinero_ahorrado = 200000; //number
let deudas = 7600000; //number necesito un mejor sueldo xd 

// Calcula e imprime las siguientes variables a partir de las variables del ejemplo anterior:
// 1.Nombre completo (nombre y apellido)

let nombreCompleto = nombre + " " + apellido;
console.log (nombreCompleto);

//Dinero real (dinero ahorrado menos deudas)

let dineroTotal = dinero_ahorrado - deudas;
console.log (dineroTotal);

// Funciones
// 
// ¿Qué es una función?
//R: Las funciones nos permiten guardar bloques de código para reutilizarlos y ejecutarlos en el futuro.

//¿Cuándo me sirve usar una función en mi código?
//Cuando tenemos variables o bloquees de código que pueden comportarse como parámetros y argumentos que podemos encapsular para usar más de una vez en el futuro. Y ordenar y hacer mas legible nuestro código.

//¿Cuál es la diferencia entre parámetros y argumentos de una función?
//R: Los parámetros son variables a las que se les asignará un valor. <<Las funciones reciben parámetros al redactarse>>

//Los Argumentos son los valores asignados a los parámetros al ejecutarse.<<Las funciones reciben argumentos al ejecutarse>>

//Convierte el siguiente código en una función, pero, cambiando cuando sea necesario las variables constantes por parámetros y argumentos en una función:
const name = "Fabian Camilo";
const lastName = "Huertas Suarez";
const completeName = name + lastName;
const nickName = "Naibaf";

console.log("Mi nombre es " + completeName + ", pero prefiero que me digas " + nickname + ".");

//solucion

function presentacion (name, lastName, nickName) {
    return console.log("Mi nombre es" + completeName + ", pero prefiero que me digas " + nickName + ".")
}

//Replica el comportamiento del siguiente código que usa la sentencia switch utilizando if, else y else if:

const tipoDeSuscripcion = "Basic";

switch (tipoDeSuscripcion) {
case"Free":
       console.log("Solo puedes tomar los cursos gratis");
break;
case"Basic":
       console.log("Puedes tomar casi todos los cursos de Platzi durante un mes");
break;
case"Expert":
       console.log("Puedes tomar casi todos los cursos de Platzi durante un año");
break;
case"ExpertDuo":
       console.log("Tú y alguien más pueden tomar TODOS los cursos de Platzi durante un año");
break;
}

// solucion if, else, if else  

if (tipoDeSuscripcion == "free"){
	console.log("Solo puedes tomar los cursos gratis");
}elseif (tipoDeSuscripcion == "Basic") {
	console.log("Puedes tomar casi todos los cursos de Platzi durante un mes");
}elseif (tipoDeSuscripcion == "Expert"){
	console.log("Puedes tomar casi todos los cursos de Platzi durante un año");
}elseif (tipoDeSuscripcion == "ExpertDuo") {
	console.log("Tú y alguien más pueden tomar TODOS los cursos de Platzi durante un año");
};

// Replica el comportamiento de tu condicional anterior con if, else y else if, pero ahora solo con if (sin else ni else if).

functiontipoSuscripcion(suscripcion) {
	if (suscripcion == "Free"){
	console.log("Solo puedes tomar los cursos gratis");
	return;
}if (suscripcion == "Basic") {
	console.log("Puedes tomar casi todos los cursos de Platzi durante un mes");
return;
}if (suscripcion == "Expert"){
	console.log("Puedes tomar casi todos los cursos de Platzi durante un año");
return;
}if (suscripcion == "ExpertDuo") {
	console.log("Tú y alguien más pueden tomar TODOS los cursos de Platzi durante un año");
return;
}
console.warn('Este tipo de suscripción no existe')
};

// Condicionales
// Responde las siguientes preguntas en la sección de comentarios:
// ¿Qué es un condicional?

//R: Un bloque de código que se ejecuta dependiendo de las condiciones establecidas previamente. Para establecer dichas condiciones usamos:

//¿Qué tipos de condicionales existen en JavaScript y cuáles son sus diferencias?

//R: If (else, else if),

//Nos permite hacer validaciones de variables distintas en cada condicional (si eso requerimos).

//Switch (case),

//En cambio usando Switch todos los case se validan con la misma variable o condición previamente definida en Switch .

//Booleanos (true o false )

//¿Puedo combinar funciones y condicionales?

//R: Sí, las funciones pueden encapsular cualquier bloque de código incluidas condicionales.

//Replica el comportamiento de los siguientes ciclos for utilizando ciclos while:

let i = 0;
while(i < 5){
    console.log("El valor de i es: " + i);
    i++;
}

for (let i = 10; i >= 2; i--) {
    console.log("El valor de i es: " + i);
}

let i = 10;
while(i >=2){
    console.log("El valor de i es: " + i);
    i--;
}

// Escribe un código en JavaScript que le pregunte a los usuarios cuánto es 2 + 2. Si responden bien, mostramos un mensaje de felicitaciones, pero si responden mal, volvemos a empezar.

let num1 = 10;
let num2 = 10;
const result = num + num2;
let question = {
  q1: `Cuanto es ${num1} + ${num2}`
}
function Quiz() {
  let userInput = prompt(question.q1);
  if (userInput == result) {
    alert("Felicitaciones, respondiste correctamente 🎉");
  } else {
    alert("Lo siento, tu respuesta es incorrecta 😔, sigue practicando 💪!");
  }
}
Quiz();

// -- Listas --

// ¿Qué es un array?
// R: Una estructura de datos que permite almacenar información con una cantidad indefinida de posiciones, dándole a cada una un solo valor

// ¿Qué es un objeto?
// R: Una estructura de datos que permite almacenar información con una cantidad indefinida de posiciones, dándole a cada, una clave y un valor de manera explícita.

// ¿Cuándo es mejor usar objetos o arrays?
// R: si necesitas almacenar datos estructurados y acceder a ellos mediante claves descriptivas, los objetos son una buena elección. Por otro lado, si necesitas una colección ordenada de elementos y acceder a ellos mediante índices numéricos, los arrays son más adecuados.

// ¿Puedo mezclar arrays con objetos o incluso objetos con arrays?
// R: Si claro, las dos maneras son posibles y realmente útiles cuando se trabaja con muchos datos.

// Crea una función que pueda recibir cualquier array como parámetro e imprima su primer elemento.

const semana = ['Lunes', 'Martes', 'Miercoles', 'Jueves', 'Viernes', 'Sabado', 'Domingo'];
function imprimir(array){
    console.log(array[0]);
}
imprimir(semana);

// Crea una función que pueda recibir cualquier array como parámetro e imprima todos sus elementos uno por uno (no se vale imprimir el array completo).
const semana = ['Lunes', 'Martes', 'Miercoles', 'Jueves', 'Viernes', 'Sabado', 'Domingo'];
function imprimir(array){
    array.forEach(elemento => console.log(elemento));
}
imprimir(semana);

// Crea una función que pueda recibir cualquier objeto como parámetro e imprima todos sus elementos uno por uno (no se vale imprimir el objeto completo)
printEveryElement(array);

  function printObjectElements(obj) {
    for (let key in obj) {
      if (obj.hasOwnProperty(key)) {
        console.log(key + ':', obj[key]);
      }
    }
  }
  
  const person = {
    name: 'Fabian',
    age: 30,
    profession: 'Developer'
  };
  
  printObjectElements(person);

Una variable es un palabra definida la cual pued almacenar en un espacio de memoria su informació, en javascript no es tipada pero puede haber diferentes tipo de datos en ella.
La declaración se hace para escribir el nombre de la variable es decir crearla juto con una de suspalabras reservadas, var y inicializar es declarar el contenido de la misma decir que contendra.
Para numeros estos se pueden sumar con el simbolo más lo cual roducirá un resultado matemático y concatenar es unir una cadena String con otra ya sea uniendo dos variables o dos cadenas en la misma variable esto se puede hacer a través del simbolo más una vez cerradas las comillas del texto.
Este operador es el símbolo más mismo que usamos para sumar.
Nombre es una cadena String.
Apellido es una cadena String.
nombre de usuario de Platzi es una cadena String.
Edad es un numero Int.
Correo electrónico es una cadena String.
Mayor de edad es un número Int.
Dinero ahorrado es un numero Float.
Deudas es un número Float.

var Nombre;
var Apellido;
let NombreDeUsuarioDePlatzi;
let Edad;
let CorreoElectronico;
var MayorDeEdad;
let DineroAhorrado;
Let Deudas;

Una función es un fragmento de código el cual permite ejecutar de manera ordenado determinadas tareas de modo que no sea todo en un solo lugar qsino segmentar además esta misma permite la ejecución de la misma tarea múltiples veces esta permite recibir parámetros pasados.
Cuando tengo que realizar la misma tarea múltiples veces.
Los parámetros son aquellos que son pasados a la función para que se ejecute en la misma los argumento son aquellos pasado en la llamada de la función apra que se los pase a la función.

Un condicional es un código el cual permite ejecutar determinado c´digo que en él este escrito siempre y cuando se cumpla la consición que se mencione.
existen if el cual permite decir una condición que se debe cumplir para que un códio se ejecute if else el cual nos demuestra la posibilidad de que si no se cumple la condición del if se pueda ejecutar el código puesto en el else if anidado es el cual contiene multiples if los cuales permite establecer diferentes condiciones para cumplir en caso de que una se cumpla no será necesario entrar a las demás.
En lo posible si por supuesto podemos colocar condicionales dentro de las funciones para poder determinar algo a cumplir dentro de nuestro coódigo.

Un ciclo un fragmento de código que permite realizar una tarea de forma repetitiva hasta que su condición de cierre se cumpla.
Existe el While que tiene una condició para cumplirse el do while que finaliza con una condición que le permite volver a repetirse el for que permite realizar tareas hasta que su condición se cumpla pero cuenta con un número de partida que va incrementando el for in que cuenta con una variable la cual recorrera un cierto objeto con un array de manera que solo se declarará y se colocará después el nombre de la variable que se desea recorrer.
Un ciclo infinito es aquel cuya condición de cierre nunca se cumple por lo que nunca se rompe esto puede consimir recursos del cumputador hasta agravarlo.
Es posible colocar dentro de un condicional colocar un ciclo que se ejecute hasta que su condición se cumpla.

Un array es un elemento dinámico el cual permte almacenar diferentes tipos de variables dentro de el.
Un objeto es aquel por medio del cual podemos crear determinados elementos con las misma caracteristicas de manera más sencillas.
sON MÁS PRACTICOS DE SER USADOS CUANDO VAMOS A MANEJAR VOLUMENES MAS GRANDES DE INFORMACIÓN.
Si es posible crear arrays de objetos.

/*var nombre = prompt(“Digite el nombre asi”)

var apellido = prompt(“Digite el apellido asi”)

var completo = nombre+apellido

document.write(completo)*/

/*var Ahorrado = parseInt(prompt(“Digite el dinero asi”))

var deudas = parseInt(prompt(“Digite la deuda asi”))

var dinero = Ahorrado - deudas

document.write(dinero)*/

/*function saludar(names, lastname, nickname){

const completeName = names + lastname

console.log("Mi nombre es "+completeName+" , pero prefiero que me digas "+nickname+" . ")

}

saludar(“Juan David”, “Castro Gallejo”, “juandc”);

const name = “Juan David”;
const lastname = “Castro Gallego”;
const completeName = name + lastname;
const nickname = “juandc”;

console.log("Mi nombre es " + completeName + ", pero prefiero que me digas " + nickname + “.”);*/

/*var suscripcion = “Basic”

if(suscripcion == “Free”){
document.write(“Solo puedes tomar los cursos gratis”)
}else if(suscripcion == “Basic”){
document.write(“Peudes tomar todoas los cursos de platzi durante un mes”)
}else if(suscripcion == “ExpertPlus”){
document.write(“Puedes tomar casi todos los cursos platzi durante un ano”)
}else{
document.write(“Puedes tomar casi todos los curos de platzi con alguien más durante un ano.”)
}*/

/*var i = 0

while(i<5){
document.write("El valor de i es: "+i);
i++;
}*/

/*var i = 10

while(i>=2){
document.write("El valor de i es: "+i)
i–;
}*/

¿Qué es una variable y para qué sirve? es un espacio reservado en la memoria, que permite asignarle un valor para que dicho espacio tenga una finalidad

¿Cuál es la diferencia entre declarar e inicializar una variable? Declarar: llamar a la variable
inicializar: darle la orden al tipo de dato que se declaro para poder ser ejecutado

¿Cuál es la diferencia entre sumar números y concatenar strings?
sumar numeros: operacion matematica en JS (number)
concatenar: suma de dos o mas strings
¿Cuál operador me permite sumar o concatenar?
concatenar: +

Determina el nombre y tipo de dato para almacenar en variables la siguiente información:
Nombre string
Apellido string
Nombre de usuario en Platzi string
Edad number
Correo electrónico string
Mayor de edad boolean
Dinero ahorrado number
Deudas number
Traduce a código JavaScript las variables del ejemplo anterior y deja tu código en los comentarios.
let Nombre = “Joel”;
let Apellido = “Enciso”;
let Nombre_de_usuario_en_Platzi = “Encis0”;
let Edad = 25;
let Correo_electrónico= “[email protected]”;
let Mayor_de_edad = false ;
let Dinero_ahorrado = 2009;
let Deudas = 3000;

4️⃣ Calcula e imprime las siguientes variables a partir de las variables del ejemplo anterior:
Nombre completo (nombre y apellido)
Dinero real (dinero ahorrado menos deudas)
Funcioneslet FullName = “Joel Enciso”;
let Money = 10000;
let lend = 5000;
let Total = (Money - lend);

console.log(El total de mi dinero actual es : $${Total} );
console.log(Mi nombre completo es: ${FullName});

1️⃣ Responde las siguientes preguntas en la sección de comentarios:
¿Qué es una función? conjunto de tareas que calculan un valor
¿Cuándo me sirve usar una función en mi código? cuando deseamos repetir una accion, para no crear nuevo codigo ,le decimos a la funcion que lo haga a nuestro ritmo y manera
¿Cuál es la diferencia entre parámetros y argumentos de una función? los parametros son los valores asignados a una variable, en este caso un parametro al ser ejecutado nos permite argumentar nuestro codigo.
2️⃣ Convierte el siguiente código en una función, pero, cambiando cuando sea necesario las variables constantes por parámetros y argumentos en una función:
const name = “Juan David”;
const lastname = “Castro Gallego”;
const completeName = name + lastname;
const nickname = “juandc”;

console.log("Mi nombre es " + completeName + ", pero prefiero que me digas " + nickname + “.”);
Condicionales

const name = “Juan David”;
const lastname = “Castro Gallego”;
const completeName = name + lastname;
const nickname = “juandc”;

function Presentation(name, lastname, completeName,nickname) {
return console.log(mi full name is:${completeName}, but you can call me ${nickname});
}
1️⃣ Responde las siguientes preguntas en la sección de comentarios:
¿Qué es un condicional? con el condicional podemos analizar si la inforamcion es boolean, (true or false) ¿Qué tipos de condicionales existen en JavaScript y cuáles son sus diferencias? if, if else, witch
¿Puedo combinar funciones y condicionales?
se pueden enlazar a tra ves de corchetes pero no se puedem combinar dado a que son expresiones que trabajan copletetamente independiente

2️⃣ Replica el comportamiento del siguiente código que usa la sentencia switch utilizando if, else y else if:

function Suscription(tipoDeSuscripcion) {
if (tipoDeSuscripcion === “Free”) {
return console.log(“Solo puede tomar los cursos gratis”);
}else if (tipoDeSuscripcion === “Basic”) {
return console.log(“Puedes tomar casi todos los cursos de Platzi durante un mes”);
} else if (tipoDeSuscripcion === “Expert”){
return console.log(“Puedes tomar casi todos los cursos de Platzi durante un año”);
}else if (tipoDeSuscripcion === “Expertplus”){
return console.log(“Tú y alguien más pueden tomar TODOS los cursos de Platzi durante un año”);
}

};

3️⃣ Replica el comportamiento de tu condicional anterior con if, else y else if, pero ahora solo con if (sin else ni else if).
💡 Bonus: si ya eres una experta o experto en el lenguaje, te desafío a comentar cómo replicar este comportamiento con arrays u objetos y un solo condicional. 😏
let typeSuscripción = [
“Free”,
“Basic”,
“Expert”,
“ExpertPlus”
];
let infoSuscripción = [
“solo puedes tomar los cursos gratis”,
“puedes tomar casi todos los cursos de Platzi durante un mes”,
“puedes tomar casi todos los cursos de Platzi durante un año”,
“tú y alguien más pueden tomar TODOS los cursos de Platzi durante un año”];
let userSuscription = “Expert”;
for (let i=0; i < typeSuscripción.length; i++) {
if (userSuscription == typeSuscripción[i]) {
console.log(Si estas suscrito al plan ${typeSuscripción[i]} en el cual ${infoSuscripción[i]})
}
}
Ciclos
1️⃣ Responde las siguientes preguntas en la sección de comentarios:
¿Qué es un ciclo? es un bucle que se crea for , while , que dan un determinado resultado en sierto determinado tiempo.

¿Qué tipos de ciclos existen en JavaScript? FOR, WHILE; DO, DO WHILE
¿Qué es un ciclo infinito y por qué es un problema? puede presentarse errores a la hora de codificar, bugs, etcs
¿Puedo mezclar ciclos y condicionales? si se puede, siempre y cuando este finaliice cuanod se cumplan las condicionales.
2️⃣ Replica el comportamiento de los siguientes ciclos for utilizando ciclos while:
for (let i = 0; i < 5; i++) {
console.log("El valor de i es: " + i);
}

for (let i = 10; i >= 2; i–) {
console.log("El valor de i es: " + i);
}

let I = 0;
while (i<5) {
i++
console.log(El valor de i es ${i});
}

let i = 10;
while (i>=2) {
i–;
console.log(El valor de i es : ${i});
}

3️⃣ Escribe un código en JavaScript que le pregunte a los usuarios cuánto es 2 + 2. Si responden bien, mostramos un mensaje de felicitaciones, pero si responden mal, volvemos a empezar.
💡 Pista: puedes usar la función prompt de JavaScript.
let num = 10;
let num2 = 10;
const result = num + num2;
let questions = {
q1: Cuanto es ${num} + ${num2}
}
function Quizzer() {
let userInput = prompt(questions.q1);
if (userInput == result) {
alert(“Felicitaciones, respondiste correctamente el desafio 😎”);
} else {
alert(“lamentablemente, tu respuesta es incorrecta, sigue practicando ❌!”);
}
}
Quizzer();
Listas
1️⃣ Responde las siguientes preguntas en la sección de comentarios:
¿Qué es un array?

Un array es una colecciones de elementos con valores de una sola variable. Se escriben dentro de [ … ], separado por una coma.

¿Qué es un objeto?

Es una colección de datos relacionados con múltiples variables con sus valores.

¿Cuándo es mejor usar objetos o arrays?

Ocupamos objetos cuando el conjunto de elementos es muy grande y de distintos tipos de valores.

¿Puedo mezclar arrays con objetos o incluso objetos con arrays?

2️⃣ Crea una función que pueda recibir cualquier array como parámetro e imprima su primer elemento.
let myArray = [‘Manchester’, ‘London’, ‘Liverpool’, ‘Birmingham’, ‘Leeds’, ‘Carlisle’];
function readArray(array){
console.log(array[0])
}
readArray(myArray);
3️⃣ Crea una función que pueda recibir cualquier array como parámetro e imprima todos sus elementos uno por uno (no se vale imprimir el array completo).
let myArray = [‘Manchester’, ‘London’, ‘Liverpool’, ‘Birmingham’, ‘Leeds’, ‘Carlisle’];
function readArray(array) {
for (let i = 0; i < array.length; i++) {
console.log(${i + 1} ${array[i]})
}
}
readArray(myArray);
4️⃣ Crea una función que pueda recibir cualquier objeto como parámetro e imprima todos sus elementos uno por uno (no se vale imprimir el objeto completo).
let myCar = {
make: ‘Ford’,
model: ‘Mustang’,
year: 1969
};
function readObject(object) {
for (let key in object) {
console.log(object[key]);
}
}
readObject(myCar);

Responde las siguientes preguntas en la sección de comentarios:
¿Qué es una variable y para qué sirve?
una variable define lo que queremos mostrar y sirve para dar sentido a la programacion
¿Cuál es la diferencia entre declarar e inicializar una variable?
cuando declaramos ingresamos un nombre y tipo de dato y eso reserva un espacio en la memoria en cambio cuan declaramos estamos llamandafo al dato para poder utilizarlo
¿Cuál es la diferencia entre sumar números y concatenar strings?
cuando somamos numeros tenemos que declarar variables y luego creamos una funcion que nos permitira sumar ambas variables es cambio cuando concatenamos estamos uniciendo nada mas las variables sin la necesitdad de que estas tengan un resultado matematico
¿Cuál operador me permite sumar o concatenar?
+
2️⃣ Determina el nombre y tipo de dato para almacenar en variables la siguiente información:
Nombre = string
Apellido = string
Nombre de usuario en Platzi = string
Edad = number
Correo electrónico = string
Mayor de edad = boolean
Dinero ahorrado =number
Deudas = number
3️⃣ Traduce a código JavaScript las variables del ejemplo anterior y deja tu código en los comentarios.
Let Nombre = “jesus”;
Let Apellido = "Tarazona ";
Let Nombre de usuario en Platzi = “Rodnyn Jesus”;
Let Edad = 26;
Let Correo electrónico = “[email protected]”;
Let Mayor de edad = True ;
Let Dinero ahorrado = 12312;
Let Deudas = 56456;
4️⃣ Calcula e imprime las siguientes variables a partir de las variables del ejemplo anterior:
Nombre completo (nombre y apellido)
var nombre = “Jesus”;
var apellido = “Tarazona”;

function nombreCompleto() {
var nombreCompleto = nombre + " " + apellido;
return nombreCompleto;
}

console.log(nombreCompleto());

Dinero real (dinero ahorrado menos deudas)
var dineroAhorrado = 1000;
var deudas = 500;

function dineroReal() {
var dineroReal = dineroAhorrado - deudas;
return dineroReal;
}

console.log(dineroReal());

Responde las siguientes preguntas en la sección de comentarios:
¿Qué es una función?
reciben parametro de entrada para realizar operacionss o calculos utilizando parametros y devuelven un resultado o tambien pueden devolver un valor
¿Cuándo me sirve usar una función en mi código?
Puedes usar una función en programación siempre que necesites encapsular una lógica o una tarea específica que se repite o se puede reutilizar en diferentes partes del programa. Las funciones nos ayudan a mejorar la logica en programacion
¿Cuál es la diferencia entre parámetros y argumentos de una función?los parametros son variables que se definen dentro de una funcion y actuando como marcadores cuando la funcion se llamada en cambio los argumentos son valores que se pasan a una funcion cuando se llaman
2️⃣ Convierte el siguiente código en una función, pero, cambiando cuando sea necesario las variables constantes por parámetros y argumentos en una función:
var name = Juan David;
var lastname = Castro Gallego;
var apodo = juandc;

function yosoy(name, lastname, nickname){
var mePresento = name + " " + lastname;
return "Mi nombre es: "+ mePresento + "pero me gusta que me digan "+ apodo+ “.”;
}

var mensaje = yosoy(name, lastname, nickname);
console.log(mensaje);
Responde las siguientes preguntas en la sección de comentarios:
¿Qué es un condicional?
permite tomar decisiones en funcion a una condicion determinanda conmo el else if
¿Qué tipos de condicionales existen en JavaScript y cuáles son sus diferencias?
el if da un condicion y else if te permite hacer una condion mas si es necesaria y else da finalidad a una condicion, tambien tenemos los switch case
¿Puedo combinar funciones y condicionales?
Sí, en JavaScript puedo combinar funciones y condicionales para crear lógica más compleja y flexible en mi programa. Puedo utilizar funciones para encapsular bloques de código reutilizables y condicionales para controlar el flujo de ejecución en función de ciertas condiciones. Al hacer esto, puedo organizar mi código de manera más estructurada y modular, lo que facilita el mantenimiento y la comprensión de mi programa. Además, al utilizar condicionales dentro de mis funciones, puedo tomar decisiones basadas en diferentes escenarios y adaptar el comportamiento de mi programa según sea necesario. Esta combinación de funciones y condicionales es una poderosa herramienta para construir aplicaciones más dinámicas y responsivas en JavaScript.
2️⃣ Replica el comportamiento del siguiente código que usa la sentencia switch utilizando if, else y else if:
const tipoDeSuscripcion = “Basic”;

if (tipoDeSuscripcion === “Free”) {
console.log(“Solo puedes tomar los cursos gratis”);
} else if (tipoDeSuscripcion === “Basic”) {
console.log(“Puedes tomar casi todos los cursos de Platzi durante un mes”);
} else if (tipoDeSuscripcion === “Expert”) {
console.log(“Puedes tomar casi todos los cursos de Platzi durante un año”);
} else if (tipoDeSuscripcion === “ExpertPlus”) {
console.log(“Tú y alguien más pueden tomar TODOS los cursos de Platzi durante un año”);
} else {
console.log(“Tipo de suscripción inválido”);
}
esponde las siguientes preguntas en la sección de comentarios:
¿Qué es un ciclo?
Un ciclo, también conocido como bucle, es una estructura de control que permite repetir un bloque de código hasta que se cumpla una condición específica.
¿Qué tipos de ciclos existen en JavaScript?
En JavaScript, existen tres tipos de ciclos: for, while y do…while.
¿Qué es un ciclo infinito y por qué es un problema?
Un ciclo infinito es aquel que se repite continuamente sin cumplir la condición de salida necesaria para detenerse, lo cual puede causar problemas al bloquear la ejecución del programa.
¿Puedo mezclar ciclos y condicionales?
Sí, es posible mezclar ciclos y condicionales en JavaScript. Puedes utilizar condicionales dentro de los bloques de código de los ciclos para controlar su comportamiento en función de condiciones específicas. Esto permite tomar decisiones y modificar el flujo de ejecución dentro de un ciclo.

Replica el comportamiento de los siguientes ciclos for utilizando ciclos while:

let i = 0;
while (i < 5) {
console.log("El valor de i es: " + i);
i++;
}

let i = 10;
while (i >= 2) {
console.log("El valor de i es: " + i);
i–;
}
Escribe un código en JavaScript que le pregunte a los usuarios cuánto es 2 + 2. Si responden bien, mostramos un mensaje de felicitaciones, pero si responden mal, volvemos a empezar.
💡 Pista: puedes usar la función prompt de JavaScript.
let respuestaCorrecta = false;

while (!respuestaCorrecta) {
let respuesta = prompt("¿Cuánto es 2 + 2?");

if (respuesta === “4”) {
alert("¡Correcto! Felicitaciones.");
respuestaCorrecta = true;
} else {
alert(“Respuesta incorrecta. Inténtalo de nuevo.”);
}
}
responde las siguientes preguntas en la sección de comentarios:
Claro, puedo responder tus preguntas:

  1. ¿Qué es un array?
    Un array es una estructura de datos que puede almacenar varios valores del mismo tipo en una secuencia ordenada. También se le conoce como una colección o lista. Los elementos en un array se identifican mediante índices numéricos, lo que permite acceder y manipular los elementos de manera eficiente.

  2. ¿Qué es un objeto?
    Un objeto es una entidad que combina datos y funciones relacionadas en una única unidad. Es una instancia de una clase en la programación orientada a objetos. Los objetos tienen atributos (variables) y métodos (funciones) que definen su comportamiento y características. Cada objeto es único y puede interactuar con otros objetos mediante el intercambio de mensajes.

  3. ¿Cuándo es mejor usar objetos o arrays?
    La elección entre usar objetos o arrays depende del contexto y del problema que se esté resolviendo. En general, los arrays son más adecuados cuando necesitas almacenar una colección ordenada de elementos del mismo tipo, como una lista de números o una serie de valores secuenciales. Por otro lado, los objetos son útiles cuando deseas representar entidades o conceptos más complejos que tienen propiedades y comportamientos específicos. Los objetos permiten encapsular datos y funcionalidades relacionadas, lo que facilita el manejo de datos estructurados y la implementación de conceptos de programación orientada a objetos.

  4. ¿Puedo mezclar arrays con objetos o incluso objetos con arrays?
    Sí, puedes mezclar arrays con objetos e incluso objetos con arrays en muchos lenguajes de programación. Por ejemplo, puedes tener un array que contenga objetos como sus elementos. Esto es útil cuando necesitas almacenar una colección de objetos relacionados. Por otro lado, también puedes tener un objeto que tenga un atributo que sea un array. Esto puede ser útil cuando deseas que un objeto tenga una propiedad que contenga múltiples valores o elementos. La capacidad de combinar arrays y objetos te brinda flexibilidad para estructurar y organizar tus datos de acuerdo con las necesidades específicas de tu programa o proyecto.
    Crea una función que pueda recibir cualquier array como parámetro e imprima su primer elemento.
    function imprimirPrimerElemento(array) {
    if (Array.isArray(array) && array.length > 0) {
    console.log("El primer elemento del array es: " + array[0]);
    } else {
    console.log(“El array está vacío o no es válido.”);
    }
    }

var miArray = [1, 2, 3, 4, 5];
imprimirPrimerElemento(miArray);

var otroArray = [“Hola”, “Mundo”];
imprimirPrimerElemento(otroArray);

var arrayVacio = [];
imprimirPrimerElemento(arrayVacio);

3️⃣ Crea una función que pueda recibir cualquier array como parámetro e imprima todos sus elementos uno por uno (no se vale imprimir el array completo).
function imprimirPrimerElemento(array) {
if (Array.isArray(array) && array.length > 0) {
console.log("El primer elemento del array es: " + array[0]);
} else {
console.log(“El array está vacío o no es válido.”);
}
}

// Ejemplos de uso
var miArray = [1, 2, 3, 4, 5];
imprimirPrimerElemento(miArray);

var otroArray = [“Hola”, “Mundo”];
imprimirPrimerElemento(otroArray);

var arrayVacio = [];
imprimirPrimerElemento(arrayVacio);

4️⃣ Crea una función que pueda recibir cualquier objeto como parámetro e imprima todos sus elementos uno por uno (no se vale imprimir el objeto completo).
function imprimirElementos(objeto) {
if (typeof objeto === ‘object’ && objeto !== null) {
for (var clave in objeto) {
if (objeto.hasOwnProperty(clave)) {
console.log(clave + ": " + objeto[clave]);
}
}
} else {
console.log(“El parámetro no es un objeto válido.”);
}
}

// Ejemplo de uso
var miObjeto = {
nombre: “Juan”,
edad: 30,
ciudad: “Madrid”
};

imprimirElementos(miObjeto);

// Test JavaScript en Platzi 🎈

// -- Variables y operaciones --

// ¿Qué es una variable y para qué sirve?
// R: Una variable es un espacio en memoria que permite almacenar información como textos, números, estructuras de datos, etc.

// ¿Cuál es la diferencia entre declarar e inicializar una variable?
// R: Declarar una variable hace referencia a su creación en la memoria. Inicializar una variable hace referencia a almacenar información dentro de esta.

// ¿Cuál es la diferencia entre sumar números y concatenar strings?
// R: La diferencia es que el primero es la operación aritmética clásica y la segunda es la unión de textos. La similitud entre ambos es el hecho de que usan el mismo operador (+).

// ¿Cuál operador me permite sumar o concatenar?
// R: El operador +

//  Determina el nombre y tipo de dato para almacenar en variables la siguiente información:

// Nombre:
let nombre = "Daniel"; // (string)
// Apellido:
let apellido = "Vélez"; // (string)
// Nombre de usuario en Platzi:
let platziUserName = ""; //(string)
// Edad:
let edad = 0; //(number)
// Correo electrónico:
let correo = ""; //(string)
// Mayor de edad:
let esMayor = 0; //(boolean)
// Dinero ahorrado:
let dineroAhorrado = 20000.25; //(number)
// Deuda:
let deuda = 15000.5; //(number)

function obtenerNombreCompleto(nombreUser, apellidoUser) {
  let nombreCompleto = `El nombre completo del usuario es: ${
    nombreUser + " " + apellidoUser
  }`;

  return nombreCompleto;
}

console.log(obtenerNombreCompleto(nombre, apellido));

const calcularDineroReal = (ahorro, deuda) => {
  let dineroReal = `La cantidad real de dinero que tiene el usuario es de: ${
    "$" + (ahorro - deuda)
  } COP`;

  return dineroReal;
};

console.log(calcularDineroReal(dineroAhorrado, deuda));

// -- Funciones --

// ¿Qué es una función?
// R: Es una manera de abstraer operaciones o procesos que permiten generar resultados a través de una serie lógica de eventos, los cuales pueden tener o no entradas.

// ¿Cuándo me sirve usar una función en mi código?
// R: Cuando quiero realizar una operación que requiere un nivel de complejidad realativamente alto o que agrupa un conjunto de procesos compuesto.

// ¿Cuál es la diferencia entre parámetros y argumentos de una función?
// R: Los parámetros son las "entradas" que reciben las funciones para realizar sus operaciones internas, pero que son agregadas a estas en su declaración (valores genéricos)
// Los argumentos son las entradas agregadas a las funciones en el momento de su llamado (valores reales).

//  Convierte el siguiente código en una función, pero, cambiando cuando sea necesario las variables constantes por parámetros y argumentos en una función: Convierte el siguiente código en una función, pero, cambiando cuando sea necesario las variables constantes por parámetros y argumentos en una función:

const name = "Juan David";
const lastname = "Castro Gallego";
const completeName = name + " " + lastname;
const nickname = "juandc";

// console.log("Mi nombre es " + completeName + ", pero prefiero que me digas " + nickname + ".");

const nameMe = (completeName, nickname) => {
  let sentence = `Mi nombre es ${completeName}, pero prefiero que me digas ${nickname}.`;

  return sentence;
};

console.log(nameMe(completeName, nickname));

// -- Condicionales --

// ¿Qué es un condicional?
// R: Es una estructura repetitiva que permite obtener resultados en función de decisiones.

// ¿Qué tipos de condicionales existen en JavaScript y cuáles son sus diferencias?
// R: - Condicional if -> Permite indicar qué resultado se va a obtener en función de una o varias opciones dadas.
// - Condicional else -> Permite indicar el resultado que se va a obtener en la estructura en caso de que la opción dada del if no se cumpla.
// - Condicional else if -> Permite indicar el resultado que se va a obtener en la estructura en caso de que la opción dada del if no se cumpla, especificando cuál se debe cumplir.
// - Condicional switch -> Permite indicar el resultado que se va a obtener en la estructura con base en una serie de opciones grande.

// ¿Puedo combinar funciones y condicionales?
// R: Si claro, de hecho suele ser bastante común usar condiciones para realizar operaciones dentro de funciones, ya que ayudan a mejorar la manera en que su flujo funciona.

// Replica el comportamiento del siguiente código que usa la sentencia switch utilizando if, else y else if:
const tipoDeSuscripcion = "Basic";

// switch (tipoDeSuscripcion) {
//    case "Free":
//        console.log("Solo puedes tomar los cursos gratis");
//        break;
//    case "Basic":
//        console.log("Puedes tomar casi todos los cursos de Platzi durante un mes");
//        break;
//    case "Expert":
//        console.log("Puedes tomar casi todos los cursos de Platzi durante un año");
//        break;
//    case "ExpertPlus":
//        console.log("Tú y alguien más pueden tomar TODOS los cursos de Platzi durante un año");
//        break;
// }

// Con if, else if y else

if (tipoDeSuscripcion === "Free") {
  console.log("Solo puedes tomar los cursos gratis");
} else if (tipoDeSuscripcion === "Basic") {
  console.log("Puedes tomar casi todos los cursos de Platzi durante un mes");
} else if (tipoDeSuscripcion === "Expert") {
  console.log("Puedes tomar casi todos los cursos de Platzi durante un año");
} else {
  console.log(
    "Tú y alguien más pueden tomar TODOS los cursos de Platzi durante un año"
  );
}

// Sólo con if

if (tipoDeSuscripcion === "Free") {
  console.log("Solo puedes tomar los cursos gratis");
}
if (tipoDeSuscripcion === "Basic") {
  console.log("Puedes tomar casi todos los cursos de Platzi durante un mes");
}
if (tipoDeSuscripcion === "Expert") {
  console.log("Puedes tomar casi todos los cursos de Platzi durante un año");
}
if (
  tipoDeSuscripcion !== "Free" &&
  tipoDeSuscripcion !== "Basic" &&
  tipoDeSuscripcion !== "Expert"
) {
  console.log(
    "Tú y alguien más pueden tomar TODOS los cursos de Platzi durante un año"
  );
}

//   Reto estructuras 😏:

let tiposDeSubscripcion = [
  { Free: "Solo puedes tomar los cursos gratis" },
  { Basic: "Puedes tomar casi todos los cursos de Platzi durante un mes" },
  { Expert: "Puedes tomar casi todos los cursos de Platzi durante un año" },
  {
    ExpertPlus:
      "Tú y alguien más pueden tomar TODOS los cursos de Platzi durante un año",
  },
];

let plan = "ExpertPlus";

let encontrado = false;

for (let i = 0; i < tiposDeSubscripcion.length; i++) {
  if (tiposDeSubscripcion[i].hasOwnProperty(plan)) {
    console.log(tiposDeSubscripcion[i][plan]);
    encontrado = true;
    break;
  }
}

// -- Ciclos --

// ¿Qué es un ciclo?
// R: Es aquel que permite realizar iteraciones sobre estructuras de datos como arreglos u objetos para recorrerlos y realizar operaciones sobre estos.

// ¿Qué tipos de ciclos existen en JavaScript?
// R: ciclos for, while, forEach, do...while, for...in, for...of

// ¿Qué es un ciclo infinito y por qué es un problema?
// Es un ciclo que no termina nunca sus iteraciones, debido a que no cuenta con una condición que detenga su ejecución. Es un problema porque detiene la ejecución habitual de un programa, al no hacer que este se quede esperando por su finalización.

// ¿Puedo mezclar ciclos y condicionales?
// Si claro, al igual que en la pregunta de si puedo combinar funciones y condicionales, los ciclos suelen tener condicionales internos para dar pie a la obtención de resultados especificos que estén en función de lo que fue especificado.

// Replica el comportamiento de los siguientes ciclos for utilizando ciclos while:

// Usando for

/* 1 */ for (let i = 0; i < 5; i++) {
  console.log("El valor de i es: " + i);
}

/* 2 */ for (let i = 10; i >= 2; i--) {
  console.log("El valor de i es: " + i);
}

// Usando while

let val1 = 0;
let val2 = 10;

/* 1 */ while (val1 < 5) {
  console.log(`El valor actual es: ${val1}`);
  val1++;
}

/* 2 */ while (val2 >= 2) {
  console.log(`El valor actual es: ${val2}`);
  val2--;
}

// Escribe un código en JavaScript que le pregunte a los usuarios cuánto es 2 + 2. Si responden bien, mostramos un mensaje de felicitaciones, pero si responden mal, volvemos a empezar.

// function preguntaDos() {
//   let result;

//   while (result != 4) {
//     result = Number(prompt("¿Cuánto es 2 + 2?"));
//   }

//   alert("¡Felicitaciones!");
// }

// preguntaDos();

// -- Listas --

// ¿Qué es un array?
// R: Una estructura de datos que permite almacenar información con una cantidad indefinida de posiciones, dándole a cada una un solo valor

// ¿Qué es un objeto?
// R: Una estructura de datos que permite almacenar información con una cantidad indefinida de posiciones, dándole a cada, una clave y un valor de manera explícita.

// ¿Cuándo es mejor usar objetos o arrays?
// R: si necesitas almacenar datos estructurados y acceder a ellos mediante claves descriptivas, los objetos son una buena elección. Por otro lado, si necesitas una colección ordenada de elementos y acceder a ellos mediante índices numéricos, los arrays son más adecuados.

// ¿Puedo mezclar arrays con objetos o incluso objetos con arrays?
// R: Si claro, las dos maneras son posibles y realmente útiles cuando se trabaja con muchos datos.

// Crea una función que pueda recibir cualquier array como parámetro e imprima su primer elemento.
let array = ["Daniel", "Juan", "Micaela", "Sebastián", "Óscar", "José"];

const printFirstElement = (array) => {
  console.log(array[0]);
};

printFirstElement(array);

// Crea una función que pueda recibir cualquier array como parámetro e imprima todos sus elementos uno por uno (no se vale imprimir el array completo).
const printEveryElement = (array) => {
  for (let i = 0; i < array.length; i++) {
    const element = array[i];
    console.log(element);
  }
};

// Crea una función que pueda recibir cualquier objeto como parámetro e imprima todos sus elementos uno por uno (no se vale imprimir el objeto completo)
printEveryElement(array);

  function printObjectElements(obj) {
    for (let key in obj) {
      if (obj.hasOwnProperty(key)) {
        console.log(key + ':', obj[key]);
      }
    }
  }
  
  const person = {
    name: 'John',
    age: 30,
    profession: 'Software Engineer'
  };
  
  printObjectElements(person);

Test de Javascript

MIralo mejor en Github

Esta es una prueba que es parte del curso practico de Javascript dentro de la plataforma Platzi. Para resolver estas preguntas, lo haré en primera instancia con mis propias palabras y posteriormente complementar algunos conceptos que hagan falta con ayuda de Internet y IA.


  1. Variables y operaciones
  2. Funciones
  3. Condicionales
  4. Ciclos
  5. LIstas

Variables y operaciones

1️⃣ Responde las siguientes preguntas en la sección de comentarios:

  • ¿Qué es una variable y para qué sirve?
    Una variable es la manera de almacenar un valor en memoria que no es constante, es decir que puede ser modificado a lo largo del tiempo y dependiendo de la necesidad del software. Sirve (asi como en las matematicas) para aplicar valores independientes a una formula, operacion o funcion y obtener un resultado a partir de este o modificar un comportamiento especifico.

  • ¿Cuál es la diferencia entre declarar e inicializar una variable?
    Declarar una variable permite determinar esta variable que nombre y que tipo tendra, mientras que inicializar una variable es **establecer un valor inicial **para poder ser utilizada posteriormente dentro de un programa.

  • ¿Cuál es la diferencia entre sumar números y concatenar strings?
    Numeros y strings son dos tipos de datos diferentes, por tanto, producen resultados diferentes al aplicarles un operador ‘+’ entre si.
    Sumar numeros es una operacion aritmetica. e.g. 2 + 2 = 4.
    Concatenar strings es una operacion ‘no aritmetica’ y no suma digitos sino encadena caracteres o cadenas de texto. e.g. ‘2’ + ‘2’ = ‘22’

  • ¿Cuál operador me permite sumar o concatenar?
    Como dicho en el punto anterior, el operador que permite sumar (numeros o int) y concatenar (cadenas o strings) es el operador +

2️⃣ Determina el nombre y tipo de dato para almacenar en variables la siguiente información:
Nombre = 'string’
Apellido = 'string’
Nombre de usuario en Platzi = 'string’
Edad = int
Correo electrónico = 'string’
Mayor de edad = boolean
Dinero ahorrado = float
Deudas = float
3️⃣ Traduce a código JavaScript las variables del ejemplo anterior y deja tu código en los comentarios.

var nombre = 'Armando'; //string
var apellido = 'Barreda'; //string
var nombreUsuarioEnPlatzi = 'cosme_Fulanito_20'; //string
var edad = 25; // int
var correoElectronico = 'pepito@perez.com';// string
var mayorDeEdad = true; // boolean
var dineroAhorrado = 1000.50; // float
var deudas = 500.75; // float

4️⃣ Calcula e imprime las siguientes variables a partir de las variables del ejemplo anterior:

//Nombre completo (nombre y apellido)
console.log(nombre + " " +apellido)
//Dinero real (dinero ahorrado menos deudas)
console.log()
//Funciones
function calcularDineroReal(dineroAhorrado, deudas){
	return dineroAhorrado - deudas
}

Funciones

1️⃣ Responde las siguientes preguntas en la sección de comentarios:

  • ¿Qué es una función?
    Una funcion permite realizar** una o multiples operaciones** en un bloque de codigo de programacion. Es decir, es la manera de usar una serie de instrucciones para modificar un valor y obtener un resultado dadas ciertas condiciones.

  • ¿Cuándo me sirve usar una función en mi código?
    Las funciones pueden ahorrar tiempo, pues ayudan a realizar operaciones repetitivas, entonces, sirve usar una uncion cuando quiero reutilizar codigo multiples veces. Ademas no necesariamente deben devolver un resultado, pero si deben realizar una o muchas operaciones para un fin.

  • ¿Cuál es la diferencia entre parámetros y argumentos de una función?
    Es una nocion similar a la de declarar una variable e iniciar una variable.

    Los parametros en una funcion es la manera de definir que **valores espera recibir una funcion ** en su sintaxis.
    e.g:
    function ejemplo(parametro1, parametro2,…){}

    Los argumentos en una funcion son los valores que toman dichos parametros una vez la funcion ha sido llamada.
    e.g:
    ejemplo(argumento1, argumento2…)
    function ejemplo(parametro1, parametro2,…){}

2️⃣ Convierte el siguiente código en una función, pero, cambiando cuando sea necesario las variables constantes por parámetros y argumentos en una función:

const name = "Juan David";
const lastname = "Castro Gallego";
const nickname = "juandc";

nickName(name, lastname,nickname);

function nickName(name1, name2, nickname){
const completeName = name1 + name2;
console.log("Mi nombre es " + completeName + ", pero prefiero que me digas " + nickname + ".");
}

Condicionales

1️⃣ Responde las siguientes preguntas en la sección de comentarios:

  • ¿Qué es un condicional?
    Un condicional es una operacion en la cual se evalua una verdad segun una sentencia, principalmente de comparacion entre dos valores o para determinar si se cumple una condicion o no.
    e.g:
if( a > b){}
if( nombre === 'BETO')
  • ¿Qué tipos de condicionales existen en JavaScript y cuáles son sus diferencias?
    Existen 3 tipos de condicionales en Javascript.
    • If - else:
      Este condicional ejecuta una sentencia de verdad para evaluar si se cumple una condicion. En caso de que se cumpla, ejecuta el primer bloque de codigo encerrado por corchetes if {} , en caso de que no se cumpla, se ejecuta el segundo bloque de codido encerrado por los corchetes. else {}
      if ( a > b){
      primer bloque de codigo...
      } else {
      segundo bloque de codigo...
      }
      
    • if - else -if:
      Es muy similar al condicional if - else con el adicional de que se anidan multiples bloques de codigo donde se añaden nuevas condiciones.
      if ( a > b){
      primer bloque de codigo...
      } else if ( b > c ){
      segundo bloque de codigo...
      } else if ( c > d ){
      tercer bloque de codigo...
      }else{
      bloque final de codigo
      }
      
    • switch:
      Realiza multples evaluaciones de una variable y segun su resultado, rejecuta el bloque de codigo correspondiente.
    ```
    switch (expresion) {
      case valor1:
      	// Bloque de código a ejecutar si la expresion es igual a valor1
      	break;
      case valor2:
      	// Bloque de código a ejecutar si la expresion es igual a valor2
      	break;
      // Más casos...
      default:
      	// Bloque de código a ejecutar si ninguno de los casos anteriores coincide
    

}
```

  • ¿Puedo combinar funciones y condicionales?
    Si, se pueden combinar y de hecho son muy necesarias para poder realizar las tareas de una funcion.A modo de ejemplo, puedo recibir en la funcion un digito a evaluar dentro de un condicional para saber si es un numero par o no:
	esPar(2);
	
	function esPar( numero ){
	
		if( numero % 2 == 0){
			console.log('El numero es Par');
			return true;
	} else {
			console.log('El numero es Impar');
			return false;
	}

2️⃣ Replica el comportamiento del siguiente código que usa la sentencia switch utilizando if, else y else if:

const tipoDeSuscripcion = "Basic";

switch (tipoDeSuscripcion) {
   case "Free":
       console.log("Solo puedes tomar los cursos gratis");
       break;
   case "Basic":
       console.log("Puedes tomar casi todos los cursos de Platzi durante un mes");
       break;
   case "Expert":
       console.log("Puedes tomar casi todos los cursos de Platzi durante un año");
       break;
   case "ExpertPlus":
       console.log("Tú y alguien más pueden tomar TODOS los cursos de Platzi durante un año");
       break;
}

Solucion

const tipoDeSuscripcion = "Basic";

if (tipoDeSuscripcion == 'Free') {
       console.log("Solo puedes tomar los cursos gratis");
} else if (tipoDeSuscripcion ==  "Basic"){
       console.log("Puedes tomar casi todos los cursos de Platzi durante un mes");
} else if (tipoDeSuscripcion ==  "Expert"){
       console.log("Puedes tomar casi todos los cursos de Platzi durante un año");
} else {
       console.log("Tú y alguien más pueden tomar TODOS los cursos de Platzi durante un año");
}

3️⃣ Replica el comportamiento de tu condicional anterior con if, else y else if, pero ahora solo con if (sin else ni else if).
💡 Bonus: si ya eres una experta o experto en el lenguaje, te desafío a comentar cómo replicar este comportamiento con arrays u objetos y un solo condicional. 😏

const tipoDeSuscripcion = "Basic";

if (tipoDeSuscripcion == 'Free') {
       console.log("Solo puedes tomar los cursos gratis");
}

if (tipoDeSuscripcion ==  "Basic"){
       console.log("Puedes tomar casi todos los cursos de Platzi durante un mes");
}

if (tipoDeSuscripcion ==  "Expert"){
       console.log("Puedes tomar casi todos los cursos de Platzi durante un año");
} 

if (tipoDeSuscripcion ==  "ExpertPlus"){
       console.log("Tú y alguien más pueden tomar TODOS los cursos de Platzi durante un año");
}

Reto

const tipoDeSuscripcion = "Basic";

const mensajesSuscripcion = {
  Free: "Solo puedes tomar los cursos gratis",
  Basic: "Puedes tomar casi todos los cursos de Platzi durante un mes",
  Expert: "Puedes tomar casi todos los cursos de Platzi durante un año",
  ExpertPlus: "Tú y alguien más pueden tomar TODOS los cursos de Platzi durante un año"
};

console.log(mensajesSuscripcion[tipoDeSuscripcion] || "Tipo de suscripción no reconocido");

Ciclos

1️⃣ Responde las siguientes preguntas en la sección de comentarios:

  • ¿Qué es un ciclo?
    Un ciclo permite realizar la misma operacion una n cantidad de veces con un incremento determinado o hasta que se cumpla una condicion.
  • ¿Qué tipos de ciclos existen en JavaScript?
    Existen 4 tipos de ciclo:
    • For: Se compone de una inicialización, una condición de continuación y una expresión de incremento.
for (let i = 0; i < 5; i++) {
  // Bloque de código a ejecutar en cada iteración
}
- While:  se utiliza para ejecutar un bloque de código mientras se cumple una condición determinada. La condición se verifica antes de cada iteración, y si es verdadera, el bloque de código se ejecuta.
```
while (condicion) {

// Bloque de código a ejecutar mientras la condición sea verdadera
}
```

-  Do - While:  es similar al ciclo while, pero la diferencia radica en que la condición se verifica después de ejecutar el bloque de código. Esto garantiza que el bloque de código se ejecute al menos una vez, incluso si la condición inicialmente es falsa.
do {
  // Bloque de código a ejecutar al menos una vez
} while (condicion);
- For - in:  se utiliza para iterar sobre las propiedades de un objeto. Recorre todas las propiedades enumerables del objeto y ejecuta el bloque de código para cada propiedad.
for (let key in objeto) {
  // Bloque de código a ejecutar para cada propiedad
}
  • ¿Qué es un ciclo infinito y por qué es un problema?
    Como su nombre lo indica, un ciclo infinito se ejecuta sin fin o sin una condicion que haga que termine su ejecucion. Puede ser un problema, ya que cada ejecucion dentro de este ciclo ocupa espacio en memoria y capacidad de procesamiento de la maquina donde se ejecuta, ademas pueden causar que el programa se bloquee o se vuelva irresponsivo, lo que puede llevar a un mal funcionamiento del programa o incluso al bloqueo completo del sistema. Dando lugar a un agotamiento de los recursos y afectar el rendimiento general del sistema, como cuellos de botella, problemas de procesamiento y hasta de capacidad de almacenamiento.

  • ¿Puedo mezclar ciclos y condicionales?

Si se pueden mezclar y de hecho se complementan, pues lo que realiza un ciclo es una ejecucion repetitiva de codigo y el condicional evaluaria una sentencia de verdad para este codigo, lo que ayudaria en ciertos escenarios a descartar valores dentro de un arreglo o objeto.

2️⃣ Replica el comportamiento de los siguientes ciclos for utilizando ciclos while:

for (let i = 0; i < 5; i++) {
    console.log("El valor de i es: " + i);
}

Solucion:

let i = 0
do{
	    console.log("El valor de i es: " + i);
		 i++;
}while(i < 5);

2 ciclo:

for (let i = 10; i >= 2; i--) {
    console.log("El valor de i es: " + i);
}

Solucion:

let i = 10
do{
	    console.log("El valor de i es: " + i);
		 i--;
}while(i >= 2);

3️⃣ Escribe un código en JavaScript que le pregunte a los usuarios cuánto es 2 + 2. Si responden bien, mostramos un mensaje de felicitaciones, pero si responden mal, volvemos a empezar.
💡 Pista: puedes usar la función prompt de JavaScript.

do{
let valor = prompt("¿Cuanto es 2 + 2 ? ")
if()
}while()

Listas

1️⃣ Responde las siguientes preguntas en la sección de comentarios:

  • ¿Qué es un array?
    Un array es la manera de almacenar multiples valores dentro de una sola variable para que puedan ser accedidos de una manera indexada. Es decir, que cada elemento dentro del array tiene un indice que lo identifica, ademas de que pueden ser elementos de diferente tipo. Cada elemento se separa del otro por una coma. Tienen la particularidad de que la indexacion empieza desde 0, por lo que el primer elemento del array, se encuentra en el indice 0.
let array = [ 1, 2, '3', 'Sabroso', boolean, '03-04-23'] ;
array[3] // 'Sabroso'
  • ¿Qué es un objeto?
    Un objeto es similar a un array debido a que en el tambien se almacenan multiples valores, con la diferencia de que la manera en que se acceden a estos valores es con una llave. El objeto se carateriza por tener una estructura llave:valor, donde la llave es la manera de identificar un atributo del objeto y el valor contiene el dato almacenado. Para acceder al conjunto llave:valor del objeto se realiza colocando un punto . despues del nombre de la variable objeto. Incluso pueden almacenar funciones que pueden ser llamadas al acceder al objeto.
const persona = {
  nombre: "Juan",
  edad: 30,
  esEstudiante: true,
  intereses: ["programación", "música", "deportes"],
  direccion: {
    calle: "Calle Principal",
    ciudad: "Ciudad Principal",
    pais: "País Principal"
  },
 function saludar() {
    console.log("¡Hola! Mi nombre es " + this.nombre);
  }
};

console.log(persona.nombre); // "Juan"
console.log(persona.edad); // 30
console.log(persona.intereses[0]); // "programación"
console.log(persona.direccion.ciudad); // "Ciudad Principal"
persona.saludar(); // Imprime "¡Hola! Mi nombre es Juan"
  • ¿Cuándo es mejor usar objetos o arrays?
    Cuando la situacion requiera crear multiples instancias con una estructura similar conviene utilizar objetos pues estos pueden comportarse de diferentes maneras y ademas almacenar funciones, ademas permiten acceso a los datos de manera personalizada con el uso de llaves con nombre. Cuando simplemente se requiera almacenar** multiples elementos de manera secuencial** y sin importar su valor, es mejor utilizar un array, pues unicamente es necesario conocer el indice del valor.
    En general, si los datos se pueden organizar de manera más natural utilizando claves descriptivas y se necesita una estructura más compleja, los objetos son una elección adecuada. Por otro lado, si se trata de una lista ordenada de datos o se requieren operaciones comunes como agregar, eliminar y buscar elementos, los arrays son más apropiados.

  • ¿Puedo mezclar arrays con objetos o incluso objetos con arrays?
    SI, se pueden mezclar objetos que contengan arrays y viceversa, de hecho, los arrays en JavaScript también son objetos.

2️⃣ Crea una función que pueda recibir cualquier array como parámetro e imprima su primer elemento.

let clubes = ['FC Barcelona','Manchester United','Juventus FC'];

primerElemento(clubes);
function primerElemento(array){
	console.log('El primer elemento es:' +array[0]);
}

3️⃣ Crea una función que pueda recibir cualquier array como parámetro e imprima todos sus elementos uno por uno (no se vale imprimir el array completo).

let clubes = ['FC Barcelona','Manchester United','Juventus FC'];

todos(clubes);
function todos(array){
	for(let i=0; i < array.length; i++){
	console.log('El  elemento '+ i +' es:' +array[i]);
	}
}

4️⃣ Crea una función que pueda recibir cualquier objeto como parámetro e imprima todos sus elementos uno por uno (no se vale imprimir el objeto completo).

let clubes = {
  equipo1: 'FC Barcelona',
  equipo2: 'Manchester United',
  equipo3: 'Juventus FC'
};

todos(clubes);

function todos(objeto) {
  for (let club in objeto) {
    console.log(objeto[club]);
  }
}

¿Qué es una variable y para qué sirve?
Una variable es un contenedor de un valor, como un número o una cadena de texto. Las variables se usan para almacenar valores de datos que se pueden usar en su código .

¿Cuál es la diferencia entre declarar e inicializar una variable?
Declarar una variable significa reservar un espacio en memoria con un nombre, mientras que inicializar una variable significa asignarle un valor a ese espacio.

¿Cuál es la diferencia entre sumar números y concatenar strings?
Cuando sumas números, realizas una operación matemática con dos tipos de datos (Numbers), mientras que cuando concatenas cadenas, estás uniendo dos tipos de datos (Strings) que son cadenas de texto.

¿Cuál operador me permite sumar o concatenar?
4. El operador + le permite sumar o concatenar según los tipos de datos que se utilicen.

Determina el nombre y tipo de dato para almacenar en variables la siguiente información:

Nombre “String”
Apellido “String”
Nombre de usuario en Platzi “String”
Edad “Number”
Correo electrónico “String”
Mayor de edad “Boolean”
Dinero ahorrado “Number”
Deudas “Number”

Traduce a código JavaScript las variables del ejemplo anterior y deja tu código en los comentarios.

var persona = {
    nombre: "Pierre",
    Apellido: "Ortega",
    Usuario: "Angelo",
    edad: 30,
    email: "[email protected]",
    MayorDeEdad: true,
    DineroAhorrado: 500,
    Deudas: 280   
}

Calcula e imprime las siguientes variables a partir de las variables del ejemplo anterior:
Nombre completo (nombre y apellido)
Dinero real (dinero ahorrado menos deudas)

var persona = {
    nombre: "Pierre",
    Apellido: "Ortega",
    Usuario: "Angelo",
    edad: 30,
    email: "[email protected]",
    MayorDeEdad: true,
    DineroAhorrado: 500,
    Deudas: 280   
}
console.log("Nombre completo: " + persona.nombre + " " + persona.Apellido);
console.log("Dinero real: " + (persona.DineroAhorrado - persona.Deudas));

¿Qué es un condicional?

Un condicional es una estructura de control que permite ejecutar diferentes bloques de código dependiendo de si se cumple o no una determinada condición. La condición se evalúa como verdadera o falsa, y en función de su valor, se ejecuta uno u otro bloque de código.

¿Qué tipos de condicionales existen en JavaScript y cuáles son sus diferencias?

En JavaScript existen principalmente dos tipos de condicionales: if...else y switch.

  • El condicional if...else permite ejecutar un bloque de código si se cumple una determinada condición y otro bloque de código si no se cumple. También se puede utilizar else if para encadenar múltiples condiciones. Por ejemplo:
if (condicion) {
    // Código a ejecutar si la condición es verdadera
} else {
    // Código a ejecutar si la condición es falsa
}

  • El condicional switch permite comparar una expresión con múltiples valores y ejecutar diferentes bloques de código dependiendo del valor que coincida con la expresión. Por ejemplo:
switch (expresion) {
    case valor1:
        // Código a ejecutar si expresion === valor1
        break;
    case valor2:
        // Código a ejecutar si expresion === valor2
        break;
    default:
        // Código a ejecutar si no hay coincidencia con ningún valor
}

¿Puedo combinar funciones y condicionales?
Sí, puedes combinar funciones y condicionales. Por ejemplo, puedes definir una función que contenga un condicional en su interior para tomar diferentes decisiones dependiendo de los argumentos que reciba la función. También puedes utilizar el resultado de una función como la condición en un condicional.

Replica el comportamiento del siguiente código que usa la sentencia switch utilizando if, else y else if, mi solucion:

const tipoDeSuscripcion = "Basic"

if (tipoDeSuscripcion === "Free") {
    console.log("Solo puedes tomar los cursos gratis");
}else if (tipoDeSuscripcion === "Basic") {
    console.log("Puedes tomar casi todos los cursos de Platzi durante un mes");
}else if (tipoDeSuscripcion === "Expert") {
    console.log("Puedes tomar casi todos los cursos de Platzi durante un año");
}else if (tipoDeSuscripcion === "ExpertPlus") {
    console.log("Tú y alguien más pueden tomar TODOS los cursos de Platzi durante un año")
}

  • Replica el comportamiento de tu condicional anterior con if, else y else if, pero ahora solo con if (sin else ni else if).
const tipoDeSuscripcion = "Basic";

if (tipoDeSuscripcion === "Free") {
    console.log("Solo puedes tomar los cursos gratis");
}
if (tipoDeSuscripcion === "Basic") {
    console.log("Puedes tomar casi todos los cursos de Platzi durante un mes");
}
if (tipoDeSuscripcion === "Expert") {
    console.log("Puedes tomar casi todos los cursos de Platzi durante un año");
}
if (tipoDeSuscripcion === "ExpertPlus") {
    console.log("Tú y alguien más pueden tomar TODOS los cursos de Platzi durante un año");
}

¿Qué es un ciclo?
Un ciclo o bucle es una forma de ejecutar un bloque de código repetidamente. Esto es útil cuando desea ejecutar el mismo código una y otra vez, cada vez con un valor diferente .

¿Qué tipos de ciclos existen en JavaScript?
Hay varios tipos de bucles en JavaScript, incluyendo for, for/in, for/of, while y do/while . Cada tipo de bucle tiene su propia sintaxis y casos de uso.

¿Qué es un ciclo infinito y por qué es un problema?

Un bucle infinito es un bucle que nunca termina porque su condición nunca se evalúa como falsa. Esto puede ser un problema porque puede hacer que el programa se bloquee o se congele .

¿Puedo mezclar ciclos y condicionales?
Sí, puedes mezclar bucles y condicionales. Puedes usar condicionales dentro de los bucles para controlar el flujo del bucle en función de ciertas condiciones

Replica el comportamiento de los siguientes ciclos for utilizando ciclos while:

let i = 0;
while (i < 5) {
    console.log("El valor de i es: " + i);
    i++;
}

i = 10;
while (i >= 2) {
    console.log("El valor de i es: " + i);
    i--;
}

Escribe un código en JavaScript que le pregunte a los usuarios cuánto es 2 + 2. Si responden bien, mostramos un mensaje de felicitaciones, pero si responden mal, volvemos a empezar.

let respuesta = prompt("¿Cuánto es 2 + 2?");
while (respuesta != 4) {
    respuesta = prompt("Incorrecto. Inténtalo de nuevo. ¿Cuánto es 2 + 2?");
}
alert("¡Correcto! Felicidades.");

¿Qué es un array? Un array es una estructura de datos que puede almacenar una colección de elementos. Cada elemento en un array tiene un índice numérico que indica su posición en la colección.

¿Qué es un objeto? Un objeto es una estructura de datos que puede almacenar una colección de propiedades. Cada propiedad en un objeto tiene un nombre y un valor asociado.

¿Cuándo es mejor usar objetos o arrays? Depende del tipo de datos que quieras almacenar y cómo quieras acceder a ellos. Si necesitas almacenar una lista ordenada de elementos y acceder a ellos por su posición, entonces un array sería la mejor opción. Si necesitas almacenar datos con nombres de propiedades específicos y acceder a ellos por su nombre, entonces un objeto sería la mejor opción.

¿Puedo mezclar arrays con objetos o incluso objetos con arrays? Sí, puedes tener arrays que contengan objetos como elementos y también puedes tener objetos cuyas propiedades sean arrays. Esto te permite crear estructuras de datos más complejas para almacenar y organizar tus datos.

Crea una función que pueda recibir cualquier array como parámetro e imprima su primer elemento.

function imprimirPrimerElemento(array) {
  console.log(array[0]);
}

Crea una función que pueda recibir cualquier array como parámetro e imprima todos sus elementos uno por uno (no se vale imprimir el array completo).

function imprimirTodosLosElementos(array) {
  for (let i = 0; i < array.length; i++) {
    console.log(array[i]);
  }
}

Crea una función que pueda recibir cualquier objeto como parámetro e imprima todos sus elementos uno por uno (no se vale imprimir el objeto completo).

function imprimirTodosLosElementosDeObjeto(objeto) {
  for (let clave in objeto) {
    console.log(objeto[clave]);
  }
}

1.a. una variable es un espacio en memoria con un nombre que puede almacenar cualquier tipo de dato. Estas pueden cambiar y con ellos el funcionamiento del programa.
b. Declarar una variable es solo el momento en el cual se reserva ese espacio en memoria para la variable, con su nombre y todo pero esta se encuentra vacia o indefinida, al contrario de inicializar, que es el momento en el cual introducimos un dato especifico a esa variable.
c. sumar numeros es la operacion matematica donde cada numero representa una cantidad de unidades y la suma de ellos dara un numero diferente. La concatenacion de strings simplemente consta de unir los caracteres uno al lado del otro, ya sean numeros, letras o simbolos, para formar un conjunto de caracteres distinto o un string.
d. el signo de MAS.

2:
string
string
string
number
string
boolean
number
boolean

3:
var name;
var lastName;
var user;
var DOB;
var email;
var isOldEnough;
var savedMoney;
var debts;

1.2
Una funcion es un bloque de codigo que permite ejecutar una tarea.
son dos casos en los que te puede servir una funcion. 1 es cuando queres almacenar un resultado en una variable cuya informacion deriva o es dependiente de otras, por lo que usaras una funcion expresiva sin nombre. El otro caso es cuando tenemos algo parecido pero sabemos este bloque de codigo puede ser usado mas adelante para otras variables, por lo que se guardan en memoria con un nombre y se las llama cuando es necesario.

Mi Test JavaScript

ALTAMENTE RECOMENDABLE QUE LO HAGAN, APRENDÍ Y REFORCÉ MUCHO CONOCIMIENTO !!

1️⃣ Responde las siguientes preguntas en la sección de comentarios:
a) ¿Qué es una variable y para qué sirve?
Una Variable es una entidad de espacio de memoria que sirve para guardar datos, que posteriormente se procesan.
b) ¿Cuál es la diferencia entre declarar e inicializar una variable?
La diferencia está en que al declarar una variable solo definimos su nombre y su tipo, al inicializarla le damos un valor.
c) ¿Cuál es la diferencia entre sumar números y concatenar strings?
Al sumar números estamos realizando una ecuación matemática, al concatenar strings estamos uniendo caracteres en cadena.
d) ¿Cuál operador me permite sumar o concatenar?
el operador [ + ] es el que permite ambas acciones.
2️⃣ Determina el nombre y tipo de dato para almacenar en variables la siguiente información:
Nombre: “String”
Apellido: “String”
Nombre de usuario en Platzi: “String”
Edad: “Number”
Correo electrónico: “String”
Mayor de edad: “Boolean”
Dinero ahorrado: “Number”
Deudas: “Number”
3️⃣ Traduce a código JavaScript las variables del ejemplo anterior y deja tu código en los comentarios.

let nombre = "Cristian";
let apellido = "Lotero Aquino";
let nombreDeUsuarioPlatzi = "cristianlotero";
let edad = 37;
let email = "[email protected]";
let mayorDeEdad = true;
let dineroAhorrado = 100;
let deudas = 2.5;

4️⃣ Calcula e imprime las siguientes variables a partir de las variables del ejemplo anterior:
*) Nombre completo (nombre y apellido):
*) Dinero real (dinero ahorrado menos deudas):

let nombreCompleto = nombre + " " + apellido;
let dineroReal = dineroAhorrado - deudas;

console.log(`Nombre completo : ${nombreCompleto} `);
console.log(`Dinero Real : ${dineroReal} U$D` );

Funciones
1️⃣ Responde las siguientes preguntas en la sección de comentarios:
a) ¿Qué es una función?:
Una función es una serie de instrucciones que reciben datos (valores, variables, otras funciones, etc) en forma de parámetros, ejecutan una acción varias acciones y preferentemente se reutiliza en varias ocasiones.
b) ¿Cuándo me sirve usar una función en mi código?
Sirve usarla cuando necesitamos realizar procesos repetidamente, entonces podemos llamar a dicha función en diferentes partes de nuestro codigo.
c) ¿Cuál es la diferencia entre parámetros y argumentos de una función?
Se le llama normalmente parámetros a las variables que recibimos de una función, y argumento a los valores.

2️⃣ Convierte el siguiente código en una función, pero, cambiando cuando sea necesario las variables constantes por parámetros y argumentos en una función:

const name = "Cristian Fernando";
const lastname = "Lotero Aquino";
const completeName = name + lastname;
const nickname = "Pela";

function myFunction (completeName, nickname) {
    console.log(`Mi nombre es ${completeName}, pero prefiero que me digas ${nickname}.`)
}

myFunction(completeName,nickname);

Condicionales

1️⃣ Responde las siguientes preguntas en la sección de comentarios:
a) ¿Qué es un condicional?
Un condicional es una sentencia que permite separar la respuesta entre dos o varias opciones.
b) ¿Qué tipos de condicionales existen en JavaScript y cuáles son sus diferencias?
Los condicionales que existen en JavaScript son:

https://programadorwebvalencia.com/cursos/javascript/condicionales/
c) ¿Puedo combinar funciones y condicionales?
Si se puede combinar ambas para mejorar la lógica del código.
2️⃣ Replica el comportamiento del siguiente código que usa la sentencia switch utilizando if, else y else if:

if (tipoDeSuscripcion == "Free"){
    console.log("Solo puedes tomar los cursos gratis");
} else if (tipoDeSuscripcion == "Basic"){
    console.log("Puedes tomar casi todos los cursos de Platzi durante un mes");
} else if(tipoDeSuscripcion == "Expert"){
    console.log("Puedes tomar casi todos los cursos de Platzi durante un año");
} else if(tipoDeSuscripcion == "ExpertPlus"){
    console.log("Tú y alguien más pueden tomar TODOS los cursos de Platzi durante un año");
} else {
    console.log("Que estas esperando para no parar de aprender? insncribete ya!");
}

3️⃣ Replica el comportamiento de tu condicional anterior con if, else y else if, pero ahora solo con if (sin else ni else if).
💡 Bonus: si ya eres una experta o experto en el lenguaje, te desafío a comentar cómo replicar este comportamiento con arrays u objetos y un solo condicional. 😏

let suscripciones = [
    {tipoDeSuscripcion: "free", mensaje:"Solo puedes tomar los cursos gratis"},
    {tipoDeSuscripcion: "Basic", mensaje:"Puedes tomar casi todos los cursos de Platzi durante un mes"},
    {tipoDeSuscripcion: "Expert", mensaje:"Puedes tomar casi todos los cursos de Platzi durante un año"},
    {tipoDeSuscripcion:"ExpertPlus", mensaje:"Tú y alguien más pueden tomar TODOS los cursos de Platzi durante un año"}
];

let mensajeBasic = suscripciones.filter(function(suscripcion){
    return suscripcion.tipoDeSuscripcion == "Basic";
})

console.log(mensajeBasic[0].mensaje);

Ciclos
1️⃣ Responde las siguientes preguntas en la sección de comentarios:
a) ¿Qué es un ciclo?
Un ciclo es un bloque de código que se ejecuta repetidas veces cuando/mientas/hasta se cumpla una condición.
b)¿Qué tipos de ciclos existen en JavaScript?
existen los ciclos :
for, do while, while, for in, for of.
c) ¿Qué es un ciclo infinito y por qué es un problema?
Un ciclo infinito se da cuando es imposible culminar el ciclo debido a la condicion, y es un problema porque traba el programa o sobreestresa el navegador.
d) ¿Puedo mezclar ciclos y condicionales?
Si se pueden mesclar ambos.
2️⃣ Replica el comportamiento de los siguientes ciclos for utilizando ciclos while:

let i = 0;
while (i < 5){
    console.log(`El valor de i es: ${i}`);
    i++;
}

let i = 10;
while (i >= 2) {
    console.log(`El valor de i es: ${i}`);
    i--;
} 

3️⃣ Escribe un código en JavaScript que le pregunte a los usuarios cuánto es 2 + 2. Si responden bien, mostramos un mensaje de felicitaciones, pero si responden mal, volvemos a empezar.
💡 Pista: puedes usar la función prompt de JavaScript.

let pregunta;
while (pregunta != 4){
    pregunta = prompt("Cuanto es 2 + 2 ?");
} 
console.log("flicitaciones! tu maestra de 1er grado esta orgullosa!");

Listas
1️⃣ Responde las siguientes preguntas en la sección de comentarios:
a) ¿Que es un array?
Un array es una estructura tipo objeto que puede contener varios elementos: otros arrays, objetos, variables.
b) ¿Qué es un objeto?
Un objeto es una estructura de datos que contiene entes (que pueden ser tambien otros objetos) y que constan de un estado y un comportamiento y que a su vez respectivamente constan de datos almacenables y tareas realizables.
c) ¿Cuándo es mejor usar objetos o arrays?
Es mejor usarlos cuando tengamos que estructurar varios datos y querramos darle correspondencia, significancia, y comportamientos.
d) ¿Puedo mezclar arrays con objetos o incluso objetos con arrays?
Si, al ser una estructura de datos que permite gran variedad de posibilidad de almacenamiento, se pueden mezclar ambos.

2️⃣ Crea una función que pueda recibir cualquier array como parámetro e imprima su primer elemento.

let MisPosibilidadesConEllaAlHablarle = ["0.3%" ,"1.4%" ,"0.56%", "7%" ,"14%"];

function myFunction(anyArray) {
    console.log(anyArray[0]);
}

myFunction(MisPosibilidadesConEllaAlHablarle);

3️⃣ Crea una función que pueda recibir cualquier array como parámetro e imprima todos sus elementos uno por uno (no se vale imprimir el array completo).

let misPosibilidadesConEllaAlHablarle = ["0.3%" ,"1.4%" ,"0.56%", "7%" ,"14%"];

function myFunction(anyArray) {
    for (posibilidades in anyArray){
    console.log(`Estas son mis posibilidades cada vez que le hablo: ${anyArray[posibilidades]}`);
    }
};

myFunction(misPosibilidadesConEllaAlHablarle);

4️⃣ Crea una función que pueda recibir cualquier objeto como parámetro e imprima todos sus elementos uno por uno (no se vale imprimir el objeto completo):

let paisesQueQuieroConocer = ["Indonesia","turquia","senegal","todo el resto"];

let  AlMalTiempo = "buena cara"; 

let iLikeThis = {
    bebida: "Licuado de maracuyá",
    bebidaAlcoholica: "Fernet",
    comida: "Carne de cerdo frita a la cacerola con papas a la crema",
    deporte: "El baile cuenta?",
    color: "Azul",
    automobil: "El que me envie la app",
    mascota: "Perro"
}

let myObj = {
    iLikeThis,
    salsa: [1,2,3,"síncopa",5,6,7,"síncopa"],
    paisesQueQuieroConocer,
    equivocacionesProgramando: 64956443232,
    tengoHambre: true,
    AlMalTiempo,
    intentoDeNuevo: function(){
        console.log(`Me caigo ${this.equivocacionesProgramando} y me levanto ${this.equivocacionesProgramando + 1}`)
    }
}

function myFunction(object){
    for (elemento in object){
    console.log(`${elemento}:`);
    console.log(object[elemento]);
    }
}

myFunction(myObj);

Variables y operaciones
1️⃣ Responde las siguientes preguntas en la sección de comentarios:

-¿Qué es una variable y para qué sirve?
Una variable es un espacio de memoria que ocupamos para guardar valores o información.

  • ¿Cuál es la diferencia entre declarar e inicializar una variable?
    Cuando la declaramos, hacemos un espacio en la memoria para en el futuro poder guardar una variable, sin embargo, cuando la inicializamos no solo la declaramos, sino que le ingresamos un valor en la variable.

  • ¿Cuál es la diferencia entre sumar números y concatenar strings?
    Cuando sumamos números podemos aumentar la cantidad de unidades con un operador matemático, así podemos hacer operaciones de añadido entre un número y otro, por otro lado, el concatenar strings solo hacemos que dos strings se conecten uno al otro, sin alterar el contenido de cada string, solo se añade uno alado del otro formando uno o más strings en uno solo.

  • ¿Cuál operador me permite sumar o concatenar?
    El operador “+” permite realizar este tipo de operaciones.

2️⃣ Determina el nombre y tipo de dato para almacenar en variables la siguiente información:
Nombre -> string
Apellido -> string
Nombre de usuario en Platzi -> string
Edad -> number
Correo electrónico -> string
Mayor de edad -> boolean
Dinero ahorrado -> number
Deudas -> number

3️⃣ Traduce a código JavaScript las variables del ejemplo anterior y deja tu código en los comentarios.

var name = “Daniel”;
var lastName= “Iturralde”;
var userName = “string”;
var age = 27;
var email = “daniel_iturralde_b@hotmai.com”;
var adult = true;
var savedMoney = 0;
var debt = 0;

4️⃣ Calcula e imprime las siguientes variables a partir de las variables del ejemplo anterior:
Nombre completo (nombre y apellido)
Dinero real (dinero ahorrado menos deudas)

var  fullName = name + " " + lastName;
console.log(fullName);

var equity = savedMoney - debt;
console.log(equity);

Funciones
1️⃣ Responde las siguientes preguntas en la sección de comentarios:

  • ¿Qué es una función?
    Una función es un conjunto de instrucciones encerrados en un bloque, que le damos a la computadora para que ejecute.

  • ¿Cuándo me sirve usar una función en mi código?
    Me sirve para cuando tengo que repetir instrucciones de manera consecutiva, entonces me permito plantear una función que por medio de una variable o nombre de función puedo llamarla en distintos momentos de nuestro código.

  • ¿Cuál es la diferencia entre parámetros y argumentos de una función?
    El parámetro es la variable que le otorgamos a la función para poder recibir valores para que esta pueda ejecutar los pasos asignados en la función, por otro lado, los argumentos son aquellos valores que le entregamos a la función para que pueda tener elementos para ser transformados y presentados al llamar a la función.

2️⃣ Convierte el siguiente código en una función, pero, cambiando cuando sea necesario las variables constantes por parámetros y argumentos en una función:

const name = "Juan David";
const lastname = "Castro Gallego";
const completeName = name + lastname;
const nickname = "juandc";

console.log("Mi nombre es " + completeName + ", pero prefiero que me digas " + nickname + "."); 
const name = "Juan David";
const lastName = "Castro Gallego";
const nickName = "juandc";

function fullName (theName, theLastName) {
    return theName + " " + theLastName;
}

function greetings (theName, theLastName, theNickname) {
    let completeName = fullName(name, lastName, nickName);

    console.log("Mi nombre es " + completeName + ", pero prefiero que me digas " + theNickname + ".")
}

greetings(name, lastName, nickName);

Condicionales
1️⃣ Responde las siguientes preguntas en la sección de comentarios:

  • ¿Qué es un condicional?
    Un condicional es una estructura de código que permite dirigir una secuencia de pasos por medio de verdaderos y falsos.

  • ¿Qué tipos de condicionales existen en JavaScript y cuáles son sus diferencias?
    Existen 3, If: Nos permite hacer una validación de verdadero o falso; If Else: Nos permite anidar varias validaciones de verdadero o falso; Switch: Nos permite evitar la anidación por medio de indicar varias posibilidades dependiendo del valor recibido del switch.

  • ¿Puedo combinar funciones y condicionales?
    Si.

2️⃣ Replica el comportamiento del siguiente código que usa la sentencia switch utilizando if, else y else if:

const tipoDeSuscripcion = "Basic";

switch (tipoDeSuscripcion) {
   case "Free":
       console.log("Solo puedes tomar los cursos gratis");
       break;
   case "Basic":
       console.log("Puedes tomar casi todos los cursos de Platzi durante un mes");
       break;
   case "Expert":
       console.log("Puedes tomar casi todos los cursos de Platzi durante un año");
       break;
   case "ExpertPlus":
       console.log("Tú y alguien más pueden tomar TODOS los cursos de Platzi durante un año");
       break;
}
const tipoDeSuscripcion = "Basic"

if (tipoDeSuscripcion == "Free") {
    console.log("Solo puedes tomar los cursos gratis");
} else if (tipoDeSuscripcion == "Basic") {
    console.log("Puedes tomar casi todos los cursos de Platzi durante un mes");
} else if (tipoDeSuscripcion == "Expert") {
    console.log("Puedes tomar casi todos los cursos de Platzi durante un año");
} else if (tipoDeSuscripcion == "ExpertPlus") {
    console.log("Tú y alguien más pueden tomar TODOS los cursos de Platzi durante un año")
}

3️⃣ Replica el comportamiento de tu condicional anterior con if, else y else if, pero ahora solo con if (sin else ni else if).

if (tipoDeSuscripcion == "Free") {
    console.log("Solo puedes tomar los cursos gratis");
}
if (tipoDeSuscripcion == "Basic") {
    console.log("Puedes tomar casi todos los cursos de Platzi durante un mes");
}
if (tipoDeSuscripcion == "Expert") {
    console.log("Puedes tomar casi todos los cursos de Platzi durante un año");
}
if (tipoDeSuscripcion == "ExpertPlus") {
    console.log("Tú y alguien más pueden tomar TODOS los cursos de Platzi durante un año")
}

Ciclos
1️⃣ Responde las siguientes preguntas en la sección de comentarios:

  • ¿Qué es un ciclo?
    Es un bucle, el cuál recibe una condición, está condición repetirá una serie de pasas hasta que el valor evaluado incumpla la condición.

  • ¿Qué tipos de ciclos existen en JavaScript?
    For, For of, While.

  • ¿Qué es un ciclo infinito y por qué es un problema?
    Un ciclo infinito es cuando no logramos colocar un valor que sea posible de romper el ciclo, entonces esta serie de pasos se van a ejecutar sin parar. Es un problema porque podemos colapsar la máquina o simplemente nunca obtener el resultado esperado.

  • ¿Puedo mezclar ciclos y condicionales?
    Si.

2️⃣ Replica el comportamiento de los siguientes ciclos for utilizando ciclos while:

for (let i = 0; i < 5; i++) {
    console.log("El valor de i es: " + i);
}

for (let i = 10; i >= 2; i--) {
    console.log("El valor de i es: " + i);
}
let i = 0

while (i < 5) {
    console.log("El valor de i es: " + i);
    i++
} 

let i = 10

while (i >= 2) {
    console.log("El valor de i es: " + i);
    i--
}

3️⃣ Escribe un código en JavaScript que le pregunte a los usuarios cuánto es 2 + 2. Si responden bien, mostramos un mensaje de felicitaciones, pero si responden mal, volvemos a empezar.

function pregunta (respuesta) {
    while (respuesta != 4) {
        respuesta = prompt("¿Cuánto es 2 + 2?")
        if (respuesta != 4) {
            alert("La respuesta no es " + respuesta + ", " + "Inténtalo de nuevo.")
        } else {
            alert("¡Correcto!")
        }
    }
}
pregunta()

Listas
1️⃣ Responde las siguientes preguntas en la sección de comentarios:

  • ¿Qué es un array?
    Un array es una estructura de datos.

  • ¿Qué es un objeto?
    Es una estructura de datos que nos permite guardar información de propiedades con su respectivo valor.

  • ¿Cuándo es mejor usar objetos o arrays?
    Es mejor usar un array cuando tienes una lista simple de varias opciones, sin embargo, es mejor usar objetos cuando debes integrar propiedades más complejas a esta estructura.

  • ¿Puedo mezclar arrays con objetos o incluso objetos con arrays?
    Si.

2️⃣ Crea una función que pueda recibir cualquier array como parámetro e imprima su primer elemento.

var array = [1, 2, 3]

function imprimirPrimerObjeto (array) {
    return array[1];
}
imprimirPrimerObjeto(array);

3️⃣ Crea una función que pueda recibir cualquier array como parámetro e imprima todos sus elementos uno por uno (no se vale imprimir el array completo).

array.forEach(elemento => console.log(elemento));

array.forEach(function(elemento) {
    console.log(elemento);
});

4️⃣ Crea una función que pueda recibir cualquier objeto como parámetro e imprima todos sus elementos uno por uno (no se vale imprimir el objeto completo).

var object = {
    color: "azul",
    tamaño: "pequeño",
    forma: "circular"
}

function imprimirObjeto(objeto) {
    for (prop in objeto) {
        console.log(prop, ": ", objeto[prop]);
    }   
}
imprimirObjeto(object)

Variables y operaciones
1️⃣ Responde las siguientes preguntas en la sección de comentarios:

  1. ¿Qué es una variable y para qué sirve?
    R= Es la representación de un espacio de memoria. Sirve para almacenar, manipular y facilitar datos.

  2. ¿Cuál es la diferencia entre declarar e inicializar una variable?
    R= Declaras una variable desde un inicio para tener un espacio en la memoria. Después a esta le asignas el valor que tendrá esa variable por primera vez.

  3. ¿Cuál es la diferencia entre sumar números y concatenar strings?
    R= Para sumar deben de estar ambos en números para poder sumar los valores o realizar cualquier operación, y concatenar solo los une. Ejemplo:
    1 + 1 = 2
    1 + “1” = 11

  4. ¿Cuál operador me permite sumar o concatenar?
    El operado de (+)
    2️⃣ Determina el nombre y tipo de dato para almacenar en variables la siguiente información:
    • Nombre = string
    • Apellido = string
    • Nombre de usuario en Platzi = “string”
    • Edad = number
    • Correo electrónico = string
    • Mayor de edad = booleano
    • Dinero ahorrado = number
    • Deudas = number
    3️⃣ Traduce a código JavaScript las variables del ejemplo anterior y deja tu código en los comentarios.

• let Nombre = “Corazón”;
• let Apellido = “Jaime”;
• let usuarioPlatzi = “Corazón Jaime”;
• let Edad = 24;
• let Correo = [email protected]
• let ciudadano = true;
• let ahorro= 20000;
• let Deudas = 5000;

4️⃣ Calcula e imprime las siguientes variables a partir de las variables del ejemplo anterior:
• Nombre completo (nombre y apellido)
• Dinero real (dinero ahorrado menos deudas)
• let nombre = “Corazón”;
• let apellido = “Jaime”;
• let usuarioPlatzi = “Corazón Jaime”;
• let Edad = 24;
• let correo = [email protected]
• let ciudadano = true;
• let ahorro= 20000;
• let deudas = 5000;
• let dineroReal = ahorro - deudas;

• console.log("Mi nombre es: " + nombre + apellido)
• console.log("El total de mi dinero es " + dineroReal)

Funciones
1️⃣ Responde las siguientes preguntas en la sección de comentarios:

  1. ¿Qué es una función?
    R= procedimientos o tareas para validar o generar algo, bloques de código que solucionan un problema específico para ser reutilizados.

  2. ¿Cuándo me sirve usar una función en mi código?
    R= Cuando necesite validar, reutilizar código, mejorar la organización, modularidad y legibilidad, así como para abstraer tareas complejas y manejar eventos. Las funciones ayudan a estructurar el código de manera eficiente y promueven buenas prácticas de programación.

  3. ¿Cuál es la diferencia entre parámetros y argumentos de una función?
    R= en su uso y su relación con la llamada y definición de la función.
    Parámetros: Los parámetros son variables declaradas en la definición de una función. Estas variables actúan como marcadores de posición para los valores que se pasarán a la función cuando se llame. Los parámetros se definen dentro de los paréntesis en la declaración de la función y se separan por comas.
    Argumentos: Los argumentos son los valores reales que se pasan a una función cuando se la llama. Cuando se llama a una función, se proporcionan los argumentos que corresponden a los parámetros de la función.

2️⃣ Convierte el siguiente código en una función, pero, cambiando cuando sea necesario las variables constantes por parámetros y argumentos en una función:

const name = “Juan David”;
const lastname = “Castro Gallego”;
const completeName = name + lastname;
const nickname = “juandc”;

console.log(
“Mi nombre es " +
completeName +
”, pero prefiero que me digas " +
nickname +
"."
);

function datosRelevantes (nombre, lastname, nickname){
const completeName = name + lastname;
return “Mi nombre es " +
completeName +
”, pero prefiero que me digas " +
nickname +
"."
}

Condicionales
1️⃣ Responde las siguientes preguntas en la sección de comentarios:
• ¿Qué es un condicional?
son estructuras de control que te permiten evaluar diferentes expresiones y realizar determinadas acciones en JavasScript. Es una serie de reglas.
• ¿Qué tipos de condicionales existen en JavaScript y cuáles son sus diferencias?

  • If = evalúa si una expresión o condición es verdadera
  • Else if = evaluar múltiples condiciones en secuencia.
  • Else = evalúa cuando la expresión del if es falsa

• ¿Puedo combinar funciones y condicionales?
Si, crea lógica más compleja y flexible
2️⃣ Replica el comportamiento del siguiente código que usa la sentencia switch utilizando if, else y else if:

const tipoDeSuscripcion = “Basic”;

if (“Free”) {
console.log(“Solo puedes tomar los cursos gratis”);
}
else if(“Basic”){
console.log(“Puedes tomar casi todos los cursos de Platzi durante un mes”);
}
else if (“Expert”){
console.log(“Puedes tomar casi todos los cursos de Platzi durante un año”);
}
else if (“ExpertPlus”){
console.log(“Tú y alguien más pueden tomar TODOS los cursos de Platzi durante un año”);
}
else{
console.log(“Debes escoger que te conviene para tu futuro”)
}

3️⃣ Replica el comportamiento de tu condicional anterior con if, else y else if, pero ahora solo con if (sin else ni else if).

function eleccion(tipoDeSuscripcion) {
if (tipoDeSuscripcion === “Free”) {
return “Solo puedes tomar los cursos gratis”;
}
if (tipoDeSuscripcion === “Basic”) {
return “Puedes tomar casi todos los cursos de Platzi durante un mes”;
}
if (tipoDeSuscripcion === “Expert”) {
return “Puedes tomar casi todos los cursos de Platzi durante un año”;
}
if (tipoDeSuscripcion === “ExpertPlus”) {
return “Tú y alguien más pueden tomar TODOS los cursos de Platzi durante un año”;
}
}

💡 Bonus: si ya eres una experta o experto en el lenguaje, te desafío a comentar cómo replicar este comportamiento con arrays u objetos y un solo condicional. 😏
Ciclos
1️⃣ Responde las siguientes preguntas en la sección de comentarios:

  1. ¿Qué es un ciclo?
    también conocido como bucle, es una estructura de control que permite repetir un bloque de código múltiples veces. Los ciclos son utilizados cuando se necesita ejecutar una determinada porción de código de forma repetitiva hasta que se cumpla una condición de salida.
  2. ¿Qué tipos de ciclos existen en JavaScript?
    Ciclo “for”: Se utiliza cuando se conoce de antemano el número exacto de repeticiones que se deben realizar.
    Ciclo “while”: Se utiliza cuando se desconoce el número exacto de repeticiones y se repite mientras una condición especificada sea verdadera.
    Ciclo “do-while”: Similar al ciclo “while”, pero garantiza que el bloque de código se ejecute al menos una vez, incluso si la condición es falsa en la primera iteración.
    Ciclo “for…in”: Se utiliza para iterar sobre las propiedades enumerables de un objeto. Recorre cada propiedad en el objeto especificado.
    Ciclo “for…of”: Se utiliza para iterar sobre elementos iterables como arrays, strings, etc. Recorre cada elemento en la estructura de datos.
  3. ¿Qué es un ciclo infinito y por qué es un problema?
    no tiene una condición de salida que lo detenga, lo que provoca que se repita indefinidamente. Esto es un problema porque el programa quedará atrapado en ese ciclo y no podrá continuar ejecutando el resto del código.
  4. ¿Puedo mezclar ciclos y condicionales?
    si Puedes utilizar condicionales dentro de un ciclo para controlar la lógica de repetición o utilizar ciclos dentro de condicionales para repetir un bloque de código según una condición específica. Esta combinación te permite crear estructuras de control más complejas y adaptar el flujo de ejecución de tu programa según tus necesidades.

2️⃣ Replica el comportamiento de los siguientes ciclos for utilizando ciclos while:

let i = 0;

while(i<5){
console.log("El valor de i es: " + i);
i++
}

let i = 10;
while(i>2){
console.log("El valor de i es: " + i);
i–;
}

3️⃣ Escribe un código en JavaScript que le pregunte a los usuarios cuánto es 2 + 2. Si responden bien, mostramos un mensaje de felicitaciones, pero si responden mal, volvemos a empezar.
💡 Pista: puedes usar la función prompt de JavaScript.

var quiz = prompt("¿Cuanto es 2 + 2 ?")

function cantidad(resultado){
if(resultado == 4 ){
return(“Felicidades esa es la respuesta”)
}else{
return(“Te falta reforzar el conocimiento”)
}
}
console.log(cantidad(quiz));

Listas
1️⃣ Responde las siguientes preguntas en la sección de comentarios:

  1. ¿Qué es un array?
    también conocido como arreglo o matriz, es una estructura de datos en JavaScript que permite almacenar múltiples valores en una sola variable. Los elementos dentro de un array están ordenados y se acceden utilizando índices numéricos.

  2. ¿Qué es un objeto?
    una estructura de datos que permite almacenar múltiples valores relacionados, llamados propiedades, en una sola variable. A diferencia de los arrays, los objetos no están ordenados y las propiedades se acceden mediante claves (generalmente strings).

  3. ¿Cuándo es mejor usar objetos o arrays?
    depende de las necesidades del programa y la estructura de los datos que deseas representar:
    • Los arrays son útiles cuando tienes una colección de elementos que quieres acceder por su posición numérica. Son especialmente útiles cuando necesitas almacenar una lista de elementos del mismo tipo, como una lista de números o de nombres.
    • Los objetos son más apropiados cuando necesitas almacenar una colección de datos relacionados en pares clave-valor. Son útiles cuando deseas representar entidades con propiedades distintas, como un usuario con nombre, edad, dirección, etc.

  4. ¿Puedo mezclar arrays con objetos o incluso objetos con arrays?
    Sí, es posible mezclar arrays con objetos y viceversa en JavaScript. Puedes tener un array que contenga objetos como sus elementos, lo que te permite organizar y acceder a colecciones de objetos. También puedes tener propiedades de un objeto que sean arrays, lo que te permite almacenar múltiples valores relacionados bajo una misma clave.
    La combinación de arrays y objetos te brinda flexibilidad para estructurar y organizar tus datos de manera eficiente en JavaScript.
    2️⃣ Crea una función que pueda recibir cualquier array como parámetro e imprima su primer elemento.
    const imprimirElemento = [“a”,“b”,“c”,“d”]

function imprimirPrimerElemento(arreglo){
console.log(arreglo[0]);
}
imprimirPrimerElemento(imprimirElemento);

3️⃣ Crea una función que pueda recibir cualquier array como parámetro e imprima todos sus elementos uno por uno (no se vale imprimir el array completo).
var arreglo = [20, 40, 60];

for(i=0; i<arreglo.length; i++){
console.log(arreglo[i]);
}

4️⃣ Crea una función que pueda recibir cualquier objeto como parámetro e imprima todos sus elementos uno por uno (no se vale imprimir el objeto completo).

VARIABLES Y OPERACIONES
1️⃣ Responde las siguientes preguntas en la sección de comentarios:
¿Qué es una variable y para qué sirve? es un espacio en memoria que permite almacenar diferentes tipos de datos
¿Cuál es la diferencia entre declarar e inicializar una variable? en la declaracion se detalla el nombre y a veces el tipo de variable, mientras que en la inicializacion se le asignar un valor inicial
¿Cuál es la diferencia entre sumar números y concatenar strings? la suma de numeros es una operacion matematica, mientras que la concatenacion es la union de dos datos de tipo string
¿Cuál operador me permite sumar o concatenar? el operador suma “+”

2️⃣ Determina el nombre y tipo de dato para almacenar en variables la siguiente información:
Nombre: name | string
Apellido: lastName | string
Nombre de usuario en Platzi: user | string
Edad: age | number
Correo electrónico: email | string
Mayor de edad: isOlder | boolean
Dinero ahorrado: savedMoney | number
Deudas: debts | number

3️⃣ Traduce a código JavaScript las variables del ejemplo anterior y deja tu código en los comentarios.
var name=“Uziel”;
var lastName=“Lorenzo”;
var user=“sebaslorenz97”;
var age=25;
var email="[email protected]";
var isOlder=true;
var savedMoney=9100;
var debts=40000;

4️⃣ Calcula e imprime las siguientes variables a partir de las variables del ejemplo anterior:
Nombre completo (nombre y apellido):var fullName=name + lastName;
Dinero real (dinero ahorrado menos deudas): var realMoney=savedMoney - debts;

FUNCIONES
1️⃣ Responde las siguientes preguntas en la sección de comentarios:
¿Qué es una función? es un bloque de codigo que hace una accion en especifico
¿Cuándo me sirve usar una función en mi código? cuando esa accion se va a usar en varias partes es mejor envolverlo en una funcion y usarlo en las areas donde se necesite
¿Cuál es la diferencia entre parámetros y argumentos de una función? Se le llama parametros a la definicion de las variables que se recibiran en la funcion, mientras que se le llama argumentos a las valores que se asignan a los parametros cuando se llama a la funcion

2️⃣ Convierte el siguiente código en una función, pero, cambiando cuando sea necesario las variables constantes por parámetros y argumentos en una función:
const name = “Juan David”;
const lastname = “Castro Gallego”;
const completeName = name + lastname;
const nickname = “juandc”;

function printFullName(completeName, nickname){
console.log("Mi nombre es " + completeName + ", pero prefiero que me digas " + nickname + “.”);
}

printFullName(“Juan David Castro Gallego”, “juandc”);

CONDICIONALES
1️⃣ Responde las siguientes preguntas en la sección de comentarios:
¿Qué es un condicional? es un bloque de codigo que tiene una condicion y si es verdadero ejecuta lo que esta dentro del bloque
¿Qué tipos de condicionales existen en JavaScript y cuáles son sus diferencias? existen 2: if, if else
¿Puedo combinar funciones y condicionales? si se puede

2️⃣ Replica el comportamiento del siguiente código que usa la sentencia switch utilizando if, else y else if:
const tipoDeSuscripcion = “Basic”;

if(tipoDeSuscripcion === “Free”){
console.log(“Solo puedes tomar los cursos gratis”);
}else if(tipoDeSuscripcion === “Basic”){
console.log(“Puedes tomar casi todos los cursos de Platzi durante un mes”);
}else if(tipoDeSuscripcion === “Expert”){
console.log(“Puedes tomar casi todos los cursos de Platzi durante un año”);
}else if(tipoDeSuscripcion === “ExpertPlus”){
console.log(“Tú y alguien más pueden tomar TODOS los cursos de Platzi durante un año”);
}

3️⃣ Replica el comportamiento de tu condicional anterior con if, else y else if, pero ahora solo con if (sin else ni else if).
const tipoDeSuscripcion = “Basic”;

if(tipoDeSuscripcion === “Free”){
console.log(“Solo puedes tomar los cursos gratis”);
}
if(tipoDeSuscripcion === “Basic”){
console.log(“Puedes tomar casi todos los cursos de Platzi durante un mes”);
}
if(tipoDeSuscripcion === “Expert”){
console.log(“Puedes tomar casi todos los cursos de Platzi durante un año”);
}
if(tipoDeSuscripcion === “ExpertPlus”){
console.log(“Tú y alguien más pueden tomar TODOS los cursos de Platzi durante un año”);
}
💡 Bonus: si ya eres una experta o experto en el lenguaje, te desafío a comentar cómo replicar este comportamiento con arrays u objetos y un solo condicional. 😏
var suscripciones = [
“Solo puedes tomar los cursos gratis”,
“Puedes tomar casi todos los cursos de Platzi durante un mes”,
“Puedes tomar casi todos los cursos de Platzi durante un año”,
“Tú y alguien más pueden tomar TODOS los cursos de Platzi durante un año”
];
var tipoDeSuscripcion = 0;

if(tipoDeSuscripcion != null){
console.log(suscripciones[tipoDeSuscripcion])
}

CICLOS
1️⃣ Responde las siguientes preguntas en la sección de comentarios:
¿Qué es un ciclo? es un bloque de codigo que se repite hasta que se siga cumpliendo una condicion determinada
¿Qué tipos de ciclos existen en JavaScript? for, for of y while
¿Qué es un ciclo infinito y por qué es un problema? es un ciclo cuya condicion de ejecucion siempre se cumple por lo que no para, esto causa un problema grande de gasto de recursos en la ejecucion infinita de ese ciclo
¿Puedo mezclar ciclos y condicionales? si se puede

2️⃣ Replica el comportamiento de los siguientes ciclos for utilizando ciclos while:
let i = 0;
while(i < 5){
console.log("El valor de i es: " + i);
i++
}

i = 10;
while(i >= 2){
console.log("El valor de i es: " + i);
i–;
}

3️⃣ Escribe un código en JavaScript que le pregunte a los usuarios cuánto es 2 + 2. Si responden bien, mostramos un mensaje de felicitaciones, pero si responden mal, volvemos a empezar.
💡 Pista: puedes usar la función prompt de JavaScript.
var resultado = prompt("¿Cuanto es 2 + 2?");
while(resultado != 4){
resultado = prompt("¿Cuanto es 2 + 2?");
}
console.log(“Felicitaciones!!!”);

LISTAS
1️⃣ Responde las siguientes preguntas en la sección de comentarios:
¿Qué es un array? es una coleccion de objetos y variables
¿Qué es un objeto? es un tipo de variable que permite almacenar caracteristicas del propio objeto
¿Cuándo es mejor usar objetos o arrays?
¿Puedo mezclar arrays con objetos o incluso objetos con arrays? si se puede

2️⃣ Crea una función que pueda recibir cualquier array como parámetro e imprima su primer elemento.
var estudiantes = [“David”,“Uziel”,“Lorenzo”,“Sebastian”];
function funcionUno(estudiantes){
console.log(estudiantes[0]);
}

3️⃣ Crea una función que pueda recibir cualquier array como parámetro e imprima todos sus elementos uno por uno (no se vale imprimir el array completo).
var estudiantes = [“David”,“Uziel”,“Lorenzo”,“Sebastian”];
function funcionUno(estudiantes){
for(var estudiante of estudiantes){
console.log(estudiante);
}
}

4️⃣ Crea una función que pueda recibir cualquier objeto como parámetro e imprima todos sus elementos uno por uno (no se vale imprimir el objeto completo).
var estudiante = {
nombre: “Uziel Lorenzo”,
usuario: “sebaslorenz97”,
universidad: “UPQ”,
};
function funcionUno(auto){
console.log("Nombre completo: “+estudiante.nombre+”, Usuario: “+estudiante.usuario+”, Universidad: "+estudiante.universidad);
}

Variables y operaciones
1.1 ¿Qué es una variable y para qué sirve?
Una variable es espacio de memoria reservado con un nombre específico
1.2 ¿Cuál es la diferencia entre declarar e inicializar una variable?
Declarar es definir una palabra determinada seguida de la palabra reservada var o let, e indica que esa palabra es una variable. Inicializar es darle un valor a la palabra que ya se declaró anteriormente.
1.3 ¿Cuál es la diferencia entre sumar números y concatenar strings?
Sumar números es una operación matemática que involucra los valores de tipo number, y concatenar es unir valores de tipo string.
1.4 ¿Cuál operador me permite sumar o concatenar?
+

  1. Determina el nombre y tipo de dato para almacenar en variables la siguiente información:
    Nombre: string
    Apellido: string
    Nombre de usuario en Platzi: string
    Edad: number
    Correo electrónico: string
    Mayor de edad: boolean
    Dinero ahorrado: number
    Deudas: number

3

<code>
“nombre”;
“apellido”;
"nombre de usuario en Platzi"
23
"correo@electronico"
true
200
0

<code>
var nombre = ‘Juanito’;
var apellido = 'Pérez’
var nombreCompleto = function(nombre, apellido) {
return nombre + ’ ’ + apellido
};

var dineroAhorrado = 200;
var deudas = 0;
var dineroReal = function(dineroAhorrado, deudas) {
return dineroAhorrado - deudas
}

Funciones
1.1 ¿Qué es una función?
Es un procedimiento a realizar con determinadas especificaciones guardado en una palabra.
1.2 ¿Cuándo me sirve usar una función en mi código?
Cuando tengo una serie de datos y quiero realizar una acción a partir de ellos de forma automática
1.3 ¿Cuál es la diferencia entre parámetros y argumentos de una función?
Los parámetros son los “cajones” con una etiqueta que indican qué información se va a introducir para accionar la función. Los argumentos son los valores introducidos en esos cajones.

const name = “Juan David”;
const lastname = “Castro Gallego”;
const nickname = “juandc”;

function quienEsEl(name, lastname, nickname) {
console.log(“Mi nombre es” + " " + name + " " + lastname + “, pero prefiero que me digas” + " " + nickname + “.”)
}

Condicionales
1.1 ¿Qué es un condicional?
Un condicional nos permite plantear una situación que debe ser verdadera para que determinada acción suceda.
1.2 ¿Qué tipos de condicionales existen en JavaScript y cuáles son sus diferencias?
I_If, Switch, for_ y while.
If, else if plantea una o más situaciones determinadas y, de ser cumplidas, se va a ejecutar una acción específica.
while es un bucle que permite utilizar una condición para determinar cuantas veces se desea ejecutar una instrucción.
for es muy similar a while, sólo cambia la forma en que se escribe.
switch permite ejecutar un bloque de código u otro dependiendo del valor de una variable.

function tipoDeSuscripcion(suscripcion) {
if ( suscripcion === “Free”;
console.log(“Sólo puedes tomar los cursos gratis”);
} else if (suscripcion === “Basic”) {
console.log(“Puedes tomar casi todos los cursos de Platzi durante un mes”);
} else if (suscripcion === “Expert”) {
console.log(“Puedes tomar casi todos los cursos de Platzi durante un año”);
} else if (suscripcion === “ExpertPlus”) {
console.log(“Tú y alguien más pueden tomar TODOS los cursos de Platzi durante un año”);
} else {
console.log(“Lo siento, no estás suscrito”);
}

Ciclos
1.1 ¿Qué es un ciclo?
Un ciclo permite repetir la ejecución de un código varias veces
1.2 ¿Qué tipos de ciclos existen en JavaScript?
for, while
1.3 ¿Qué es un ciclo infinito y por qué es un problema?
Es una operación que continuará ejecutándose indefinidamente, es un problema porque nunca se detendrá
1.4 ¿Puedo mezclar ciclos y condicionales?
Supongo que sí, ¡pero no lo recuerdo!

1️⃣ Responde las siguientes preguntas en la sección de comentarios:
¿Qué es una variable y para qué sirve?

  • es un espacio reservado en memoria que nos permite guardar información. Se puede almacenar diferentes tipos de información para usarlo en el código.
    ¿Cuál es la diferencia entre declarar e inicializar una variable?
  • Cuando de declara un variable, solo se le nombra no se indica que tipo de informacion se va a guardar. Ejemplo: let edad ; .
  • - Cuando inicializamon las variables se le indica que tipo de datos o informacion se guarda. Ejemplo: let edad=18 ; .
    ¿Cuál es la diferencia entre sumar números y concatenar strings?
  • Al sumar se realiza la operación matematica pero cuando se concatena solo se juntan los datos suma: 2 + 2 = 4 concatenacion “2”+“2”=“22”.
    ¿Cuál operador me permite sumar o concatenar? “+”

2️⃣ Determina el nombre y tipo de dato para almacenar en variables la siguiente información:

  • Nombre: String
  • Apellido: String
  • Nombre de usuario en Platzi: String
  • Edad: Numero
  • Correo electrónico: String
  • Mayor de edad: Boolean
  • Dinero ahorrado: Numero
  • Deudas: Numero

3️⃣ Traduce a código JavaScript las variables del ejemplo anterior y deja tu código en los comentarios.

var nombre = "Edwin";
var apellido = " Gutierrez";
var nombreDeUsuarioDePlatzi= "baltazar gutierrez"
var edad = 28;
var correoElectronico = "[email protected]";
var mayorDeEdad = true;
var dineroAhorrado= 45000.00;
var deudas = 20000.00;

4️⃣ Calcula e imprime las siguientes variables a partir de las variables del ejemplo anterior:
Nombre completo (nombre y apellido)

var nombreCompleto = nombre + " "+ apellido
console.log("Mi nombre es:" + nombreCompleto);

Dinero real (dinero ahorrado menos deudas)

var dineroReal = dineroAhorrado - deudas;
console.log("Mi monto disponible es $" +dineroReal);

Funciones
1️⃣ Responde las siguientes preguntas en la sección de comentarios:
¿Qué es una función?

  • Las funciones son una serie de instrucciones en un bloque de código para realizar operaciones que se repiten

¿Cuándo me sirve usar una función en mi código?

  • nos sirven para encapsular operaciones que se repetirán a lo largo del código

¿Cuál es la diferencia entre parámetros y argumentos de una función?

  • Los parámetros son la variables que recibe una función. Ejemplo: function suma(a, b){ }; .
  • Los arguntos son los valores que enviamos a la función. Ejemplo: function suma(2, 3); ._

2️⃣ Convierte el siguiente código en una función, pero, cambiando cuando sea necesario las variables constantes por parámetros y argumentos en una función:

const name = "Juan David";
const lastname = "Castro Gallego";
const completeName = name +" " + lastname;
const nickname = "juandc";

console.log("Mi nombre es " + completeName + ", pero prefiero que me digas " + nickname + ".");
// respuesta
function presentacion(name, lastname, nickname){
    const completeName = name +" " + lastname;
    console.log("Mi nombre es " + completeName + ", pero prefiero que me digas " + nickname + ".");
}

presentacion("Edwin Baltazar", "Gutierrez Santos", "Balta");

Condicionales
1️⃣ Responde las siguientes preguntas en la sección de comentarios:
¿Qué es un condicional?

  • Es una sentencia o instrucción que nos hace tomar una opción u otra en el código.
    ¿Qué tipos de condicionales existen en JavaScript y cuáles son sus diferencias?
  • if(condición){ operación }
  • if(condición){ operación } else{ operación }.
  • if(condición){ operación } else if (condición){ operación } else{ operación } .
  • switch(condición){ case 1: operación 1 case 2: operación 2 case 3: operación 3} .

¿Puedo combinar funciones y condicionales?

  • se pueden encadenar resultados, es decir : después de que se cumpla una condición puedo poner una función o hacer una función con una condicional. Ejemplo 1: if(condición){ function operacion(parametros); }; ejemplo 2: function (parametros) { if (condición){ operación}; }; .

2️⃣ Replica el comportamiento del siguiente código que usa la sentencia switch utilizando if, else y else if:

const tipoDeSuscripcion = "Basic";

switch (tipoDeSuscripcion) {
   case "Free":
       console.log("Solo puedes tomar los cursos gratis");
       break;
   case "Basic":
       console.log("Puedes tomar casi todos los cursos de Platzi durante un mes");
       break;
   case "Expert":
       console.log("Puedes tomar casi todos los cursos de Platzi durante un año");
       break;
   case "ExpertPlus":
       console.log("Tú y alguien más pueden tomar TODOS los cursos de Platzi durante un año");
       break;
}
 // respuesta
if(tipoDeSuscripcion === "Free"){
    console.log("Solo puedes tomar los cursos gratis");
}else if(tipoDeSuscripcion === "Basic"){
    console.log("Puedes tomar casi todos los cursos de Platzi durante un mes");
}else if(tipoDeSuscripcion === "Expert"){
    console.log("Puedes tomar casi todos los cursos de Platzi durante un año");
}else if(tipoDeSuscripcion === "ExpertPlus"){
    console.log("Tú y alguien más pueden tomar TODOS los cursos de Platzi durante un año");
}else{
    console.log("No estas usando Platzi");
}

3️⃣ Replica el comportamiento de tu condicional anterior con if, else y else if, pero ahora solo con if (sin else ni else if).
💡 Bonus: si ya eres una experta o experto en el lenguaje, te desafío a comentar cómo replicar este comportamiento con arrays u objetos y un solo condicional. 😏

const tipoDeSuscripcion = "Basic";
// este es con array no pude hacerlo con un solo condicional
  
var suscripPlatzi = [
    {nombre: "Free" , mensaje: "Solo puedes tomar los cursos gratis"},
    {nombre: "Basic" , mensaje: "Puedes tomar casi todos los cursos de Platzi durante un mes"},
    {nombre: "Expert" , mensaje: "Puedes tomar casi todos los cursos de Platzi durante un año"}, 
    {nombre: "ExpertPlus" , mensaje: "Tú y alguien más pueden tomar TODOS los cursos de Platzi durante un año"
} ]

var suscrip = suscripPlatzi.find(function(type){
    return type.nombre === tipoDeSuscripcion;
});

console.log(suscrip.mensaje);

Ciclos
1️⃣ Responde las siguientes preguntas en la sección de comentarios:
¿Qué es un ciclo?

  • Los ciclos son una serie de instrucciones que se repiten mientras o hasta que se cumpla una condición

¿Qué tipos de ciclos existen en JavaScript?

  • for (condición) { instrucciones }
  • while (condición) { instrucciones }
  • do … while (condición) { instrucciones }

¿Qué es un ciclo infinito y por qué es un problema?

  • es cuando el ciclo se repite indefinidamente ya que en ningún momento se cumple la condición para finalizar lo que impide que las que las operaciones realizadas dentro ciclo no entreguen mas información haciendo que falle el programa y/o vaya mas lento

¿Puedo mezclar ciclos y condicionales?

  • Si, pero lo que realmente se hace es que un ciclo se cumpla siempre que que se cumpla una condición o viceversa. Ejemplo1: for (condición para ciclo ){ if( condición ) { operación } } ejemplo2: if( condición ){for (condición para ciclo ){ operación } } .

2️⃣ Replica el comportamiento de los siguientes ciclos for utilizando ciclos while:

for (let i = 0; i < 5; i++) {
    console.log("El valor de i es: " + i);
}

for (let i = 10; i >= 2; i--) {
    console.log("El valor de i es: " + i);
}

i=0;
while (i<=5){ 
    console.log("El valor de i es: " + i);
    i++;};

i=10;
while(i >= 2){ 
    console.log("El valor de i es: " + i);
    i--;};

3️⃣ Escribe un código en JavaScript que le pregunte a los usuarios cuánto es 2 + 2. Si responden bien, mostramos un mensaje de felicitaciones, pero si responden mal, volvemos a empezar.
💡 Pista: puedes usar la función prompt de JavaScript.

//ejercicio de ciclos

respuesta=0;
while(respuesta != 4){
    respuesta = prompt("la suma de 2 + 2 es: ");
};

Listas
1️⃣ Responde las siguientes preguntas en la sección de comentarios:
¿Qué es un array?

  • Es una agrupacion de elementos en una misma variable cada uno de ellos ubicados con referencia a la posición que ocupan. Ejemplo: vocales = [a, e, i, o, u] .

¿Qué es un objeto?

  • Los objetos son una serie de propiedades para la descripción de un elemento. las propiedades tiene un nombre o clave y un valor. Ejemplo: carro {marca: “Nissan”, modelo: “Rogue”, annio: “2015”} .

¿Cuándo es mejor usar objetos o arrays?
-_ Cuando se necesiten guardar múltiples caracteristicas con valores que correspondan a un mismo elemento es mejor los objetos._
-Cuando necesitemos guardar múltiples elementos con una sola variable es mejor un array .

¿Puedo mezclar arrays con objetos o incluso objetos con arrays? si

2️⃣ Crea una función que pueda recibir cualquier array como parámetro e imprima su primer elemento.

let series = ["Dragon Ball", "One Piece","Bleach","Naruto", "Digimon", "Pokemon"];
function imprimirPrimerElemento (series){
    console.log(series[0]);
};
imprimirPrimerElemento(series);

3️⃣ Crea una función que pueda recibir cualquier array como parámetro e imprima todos sus elementos uno por uno (no se vale imprimir el array completo).

let series = ["Dragon Ball", "One Piece","Bleach","Naruto", "Digimon", "Pokemon"];
function imprimirElementos (series){
    for(i=0;i<=series.length;i++){
        console.log(series[i]);
    };
};
imprimirElementos(series);

4️⃣ Crea una función que pueda recibir cualquier objeto como parámetro e imprima todos sus elementos uno por uno (no se vale imprimir el objeto completo).

let pokemon={
    nombre: "Mew",
    tipo: "psiquico",
    nivel: 35,
    ps: 135,
    ataques: "metronomo, megapuño, transformacion, fuerza"
}

function imprimirObjeto(pokemon){
    for (let key in pokemon) {
        console.log(key);
        console.log(pokemon[key]);
         }
}

imprimirObjeto(pokemon);

¿Cómo te fue?
Pase un día repasando y buscando las respuestas pero, me pareció correcto el que se revisaran estos conceptos es mejor si se buscan y se tratan de responder solos ya que te dice cuanto conoces y si no puedes revisa las respuestas de aquí buen reto

Variables y operaciones
1️⃣ Responde las siguientes preguntas en la sección de comentarios:
• ¿Qué es una variable y para qué sirve?
Una variable es un contenedor que almacena datos, que podrían ser manipulados o modificados.

• ¿Cuál es la diferencia entre declarar e inicializar una variable?
La diferencia es que al declararla, solo estaríamos indicando que existirá una variable con un nombre en específico, pero aún no se guarda un dato en esta variable. Al inicializara, ya estaríamos guardando un dato como tal.

• ¿Cuál es la diferencia entre sumar números y concatenar strings?
La suma de números es una acción aritmética, mientras que concatenar strings es la unión de datos tipo texto. La suma de datos tipo ‘number’ 2+2 dará 4, mientras tipo ‘string’ 2+2 dará 22.

• ¿Cuál operador me permite sumar o concatenar?
‘+’

2️⃣ Determina el nombre y tipo de dato para almacenar en variables la siguiente información:
• Nombre String
• Apellido String
• Nombre de usuario en Platzi String
• Edad Number
• Correo electrónico String
• Mayor de edad Booleano
• Dinero ahorrado Number
• Deudas Number

3️⃣ Traduce a código JavaScript las variables del ejemplo anterior y deja tu código en los comentarios.

let name = ‘Alejandro’;
let lastName = ‘Bautista’;
let user = ‘bapder’;
let age = 30;
let email = ‘[email protected]’;
let adult = true;
let savedMoney = 20000;
let debt = 1000;

4️⃣ Calcula e imprime las siguientes variables a partir de las variables del ejemplo anterior:
• Nombre completo (nombre y apellido)

      console.log(`${name} ${lastName}`);

• Dinero real (dinero ahorrado menos deudas)

      console.log(`${savedMoney - debt}`);

/* Responde las siguientes preguntas en la sección de comentarios:
¿Qué es una variable y para qué sirve?
es la representacion de un espacio de memoria, sus utilidades son de lectura, escritura y edicion, se pueden
llamar en funciones u operar con ellas
¿Cuál es la diferencia entre declarar e inicializar una variable?
declarar solo crea la variable sin asignar un valor, inicializar le asigna un valor a la variable
¿Cuál es la diferencia entre sumar números y concatenar strings?
que la suma de numeros es una operacion aritmetica y la concatenacion es la agrupacion de caracteres.
¿Cuál operador me permite sumar o concatenar?
el operador sum (+)
2️⃣ Determina el nombre y tipo de dato para almacenar en variables la siguiente información:
Nombre:
Apellido
Nombre de usuario en Platzi
Edad
Correo electrónico
Mayor de edad
Dinero ahorrado
Deudas
3️⃣ Traduce a código JavaScript las variables del ejemplo anterior y deja tu código en los comentarios.
4️⃣ Calcula e imprime las siguientes variables a partir de las variables del ejemplo anterior:
Nombre completo (nombre y apellido)
Dinero real (dinero ahorrado menos deudas)*/

var nombre= “Santiago” //string
var apellido= “Mallorca” //string
var nombreDeUsuarioPlatzi=“smallorca”//string
var edad= 22 //integer
var CorreoElectrónico=“[email protected]” //string
var MayorEdad= true //boolean
var dineroAhorrado= 1000 //integer
var Deudas=500 //integer

console.log(nombre + " " + apellido);
console.log(dineroAhorrado-Deudas);

/Funciones
1️⃣ Responde las siguientes preguntas en la sección de comentarios:
¿Qué es una función?
una operacion que estructuramos antes de usarla o al usarla
¿Cuándo me sirve usar una función en mi código?
cuando debo realizar varias veces una operacion
¿Cuál es la diferencia entre parámetros y argumentos de una función?
parametro es la variable que asignamos a una funcion, argumento es el valor con el que se incializa ese parametro
2️⃣ Convierte el siguiente código en una función, pero, cambiando cuando sea necesario las variables constantes por parámetros y argumentos en una función:
/
const name = “Juan David”;
const lastname = “Castro Gallego”;
const completeName = name + lastname;
const nickname = “juandc”;

function myName(name, lastname, nickname){
console.log(“Mi nombre es " + name +” "+lastname + ", pero prefiero que me digas " + nickname + “.”);

}

myName(name, lastname, nickname);

/*Condicionales
1️⃣ Responde las siguientes preguntas en la sección de comentarios:
¿Qué es un condicional?
una condicion a evaluar
¿Qué tipos de condicionales existen en JavaScript y cuáles son sus diferencias?
if-else realiza analiza si se cumple la condicion, toma un camino, si no se cumple toma otro camina, se pueden anidar cuantas veces sea necesario
switch toma el parametro y lo compara con varias condiciones y toma la que se cumpla, de no cumplirse ninguna condicion, toma un camino por defecto
¿Puedo combinar funciones y condicionales?
verdadero
2️⃣ Replica el comportamiento del siguiente código que usa la sentencia switch utilizando if, else y else if:
const tipoDeSuscripcion = “Basic”;

switch (tipoDeSuscripcion) {
case “Free”:
console.log(“Solo puedes tomar los cursos gratis”);
break;
case “Basic”:
console.log(“Puedes tomar casi todos los cursos de Platzi durante un mes”);
break;
case “Expert”:
console.log(“Puedes tomar casi todos los cursos de Platzi durante un año”);
break;
case “ExpertPlus”:
console.log(“Tú y alguien más pueden tomar TODOS los cursos de Platzi durante un año”);
break;
}*/

tipoDeSuscripcion="Expert"
if (tipoDeSuscripcion == “Free”){console.log(“Solo puedes tomar los cursos gratis”);}
else if( tipoDeSuscripcion ==“Basic”){
console.log(“Puedes tomar casi todos los cursos de Platzi durante un mes”);}
else if (tipoDeSuscripcion ==“Expert”){console.log(“Puedes tomar casi todos los cursos de Platzi durante un año”);}
else if (tipoDeSuscripcion ==“ExpertPlus”){console.log(“Tú y alguien más pueden tomar TODOS los cursos de Platzi durante un año”);}
else {console.log(“Error”)}
/3️⃣ Replica el comportamiento de tu condicional anterior con if, else y else if, pero ahora solo con if (sin else ni else if).
tipo
/
tipoDeSuscripcion == “Free” ?console.log(“Solo puedes tomar los cursos gratis”):
tipoDeSuscripcion ==“Basic”?console.log(“Puedes tomar casi todos los cursos de Platzi durante un mes”):
tipoDeSuscripcion ==“Expert”?console.log(“Puedes tomar casi todos los cursos de Platzi durante un año”):
tipoDeSuscripcion ==“ExpertPlus”?console.log(“Tú y alguien más pueden tomar TODOS los cursos de Platzi durante un año”)
:console.log(“Error”)
/*💡 Bonus: si ya eres una experta o experto en el lenguaje, te desafío a comentar cómo replicar este comportamiento con arrays u objetos y un solo condicional. 😏

Ciclos
1️⃣ Responde las siguientes preguntas en la sección de comentarios:
¿Qué es un ciclo?
una funcion que va a iterar hasta que se cumpla alguna condicion
¿Qué tipos de ciclos existen en JavaScript?
for, while, do-while, for in, for of
¿Qué es un ciclo infinito y por qué es un problema?
es un ciclo que no va a parar de operar, y es un problema por que el codigo se va a quedar evaluando ahi hasta que le demos la orden de parar
¿Puedo mezclar ciclos y condicionales?
si

2️⃣ Replica el comportamiento de los siguientes ciclos for utilizando ciclos while:
for (let i = 0; i < 5; i++) {
console.log("El valor de i es: " + i);
}

for (let i = 10; i >= 2; i–) {
console.log("El valor de i es: " + i);
}*/
var i=0
while (i<5){
console.log("El valor de i es: " + i);
i++
}

var b=10
while (b >= 2){
console.log("El valor de i es: " + b);
b–
}

/*
3️⃣ Escribe un código en JavaScript que le pregunte a los usuarios cuánto es 2 + 2. Si responden bien, mostramos un mensaje de felicitaciones, pero si responden mal, volvemos a empezar.
💡 Pista: puedes usar la función prompt de JavaScript.

Listas
1️⃣ Responde las siguientes preguntas en la sección de comentarios:
¿Qué es un array?
es una estructura de datos
¿Qué es un objeto?
una representacion abstracta, con caracteristicas
¿Cuándo es mejor usar objetos o arrays?
cuando necesito acceder a sus caracteristicas por medio de una clave, y no de un indice, ade mas cuando los quiero utilizar en funciones
¿Puedo mezclar arrays con objetos o incluso objetos con arrays?
si
2️⃣ Crea una función que pueda recibir cualquier array como parámetro e imprima su primer elemento.*/
const array = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
function firstElement(array){console.log(array[0])}
/3️⃣ Crea una función que pueda recibir cualquier array como parámetro e imprima todos sus elementos uno por uno (no se vale imprimir el array completo)./
function listAll(array){for(i=0; i<array.length; i++){console.log(array[i])}}
/4️⃣ Crea una función que pueda recibir cualquier objeto como parámetro e imprima todos sus elementos uno por uno (no se vale imprimir el objeto completo)./
function printObject(object){
var values= Object.values(object);
values.forEach((valor)=>console.log(valor));
}
function objetCreation(name, lastname,){this.name=name; this.lastname=lastname}
firstElement(array);
listAll(array);
var test = new objetCreation(“Rodolfo”,“Carter”);
printObject(test)

Test de JavaScript 👨‍💻

  • Variables y operaciones

Responde las siguientes preguntas en la sección de comentarios:
¿Qué es una variable y para qué sirve? -> Espacio de memoria para guardar información
¿Cuál es la diferencia entre declarar e inicializar una variable? -> Declarar es especificar el tipo de variable (var, let, const) y darle un nombre, inicializar es lo anterior pero con la diferencia de que le agregamos un dato y su tipo.
¿Cuál es la diferencia entre sumar números y concatenar strings? -> Sumar en una operación aritmética entre 2 o más números y se obtiene un resultado numérico y concatenar strings es una operación que combina dos o más cadenas de texto en una sola cadena.
¿Cuál operador me permite sumar o concatenar? -> El operador “+” se utiliza tanto para sumar números como para concatenar strings.

Determina el nombre y tipo de dato para almacenar en variables la siguiente información:
Nombre -> nombre (string)
Apellido -> apellido (string)
Nombre de usuario en Platzi -> user_name (string)
Edad -> edad (number)
Correo electrónico -> email (string)
Mayor de edad -> esMayorDeEdad (boolean)
Dinero ahorrado -> dineroAhorrado (number)
Deudas -> deudas (number)

Traduce a código JavaScript las variables del ejemplo anterior y deja tu código en los comentarios.

const nombre = 'Pepo';
const apellido = 'De La Vega';
let user_name = 'pepovega';
let edad = 22;
let email = "[email protected]";
let adulto = true;
let ahorro = 300000000;
let deudas = 400000000;

Calcula e imprime las siguientes variables a partir de las variables del ejemplo anterior:

console.log(nombre + " " + apellido); //"Pepo De La Vega"
console.log(ahorro - deudas); //-100000000 (está jodido Pepo 😕)
  • Funciones

Responde las siguientes preguntas en la sección de comentarios:
¿Qué es una función? -> Bloque de código creado para cumplir una tarea en especifico y ser reutilizado en diferentes partes del programa.
¿Cuándo me sirve usar una función en mi código? -> Cuando en tu código existe una tarea o un conjunto de instrucciones que se repiten en múltiples partes.
¿Cuál es la diferencia entre parámetros y argumentos de una función? -> Los parámetros son las variables que ponemos entre los parentesis de nuestra función al momento de su declaración y los argumentos son los valores que se pasan a la función cuando se la invoca, también van entre los paréntesis de la misma.

Convierte el siguiente código en una función, pero, cambiando cuando sea necesario las variables constantes por parámetros y argumentos en una función:

const name = "Juan David";
const lastname = "Castro Gallego";
const completeName = name + lastname;
const nickname = "juandc";

console.log("Mi nombre es " + completeName + ", pero prefiero que me digas " + nickname + ".");

Solución:

function datos(name, lastname, nickname){
   console.log(`Mi nombre es ${name} ${lastname}, pero prefiero que me digas ${nickname}.`);
}

datos(name,lastname,nickname); -> "Mi nombre es Juan David Castro Gallego, pero prefiero que me digas juandc."
  • Condicionales

Responde las siguientes preguntas en la sección de comentarios:
¿Qué es un condicional? -> Estructura que permite tomar decisiones con el cumplimiento o no de una condición especificada.
¿Qué tipos de condicionales existen en JavaScript y cuáles son sus diferencias? if, else, else if y switch, la diferencia es que if evalúa una condición única, mientras que switch permite seleccionar una opción entre varios opciones basadas en el valor de una variable.
¿Puedo combinar funciones y condicionales? Si, dentro de una función pueden aplicarse la cantidad de condicionales que se requiera. Y viceversa también es posible.

Replica el comportamiento del siguiente código que usa la sentencia switch utilizando if, else y else if:

const tipoDeSuscripcion = "Basic";

switch (tipoDeSuscripcion) {
   case "Free":
       console.log("Solo puedes tomar los cursos gratis");
       break;
   case "Basic":
       console.log("Puedes tomar casi todos los cursos de Platzi durante un mes");
       break;
   case "Expert":
       console.log("Puedes tomar casi todos los cursos de Platzi durante un año");
       break;
   case "ExpertPlus":
       console.log("Tú y alguien más pueden tomar TODOS los cursos de Platzi durante un año");
       break;
}

Solución:

const tipoDeSuscripcion = "Basic";

if(tipoDeSuscripcion === "Free"){
	console.log("Solo puedes tomar los cursos gratis");
}else if(tipoDeSuscripcion === "Basic"){
	console.log("Solo puedes tomar los cursos gratis");
}else if(tipoDeSuscripcion === "Expert"){
	 console.log("Puedes tomar casi todos los cursos de Platzi durante un año");
}else(tipoDeSuscripcion === "ExpertPlus"){
	 console.log("Puedes tomar casi todos los cursos de Platzi durante un año");
}

Replica el comportamiento de tu condicional anterior con if, else y else if, pero ahora solo con if (sin else ni else if).

const inputSuscripcion = document.getElementById('inputSuscripcion').value;

const suscripciones = {
    free: "Solo puedes tomar los cursos gratis",
    basic: "Puedes tomar casi todos los cursos de Platzi durante un mes",
    expert: "Puedes tomar casi todos los cursos de Platzi durante un año",
    expert_plus: "Tú y alguien más pueden tomar TODOS los cursos de Platzi durante un año"
}
if(inputSuscripcion !== ''){
    console.log(suscripciones[inputSuscripcion]);
}
  • Ciclos

Responde las siguientes preguntas en la sección de comentarios:
¿Qué es un ciclo? -> Estructura que nos permite repetir una determinada tarea mientras se cumpla una condición especificada.
¿Qué tipos de ciclos existen en JavaScript? -> for, while y do while
¿Qué es un ciclo infinito y por qué es un problema? -> Un ciclo que nunca termina de ejecutarse y continúa repitiendo el bloque de código de forma indefinida. Los posibles problemas que conlleva pueden ser consumo excesivo de recursos, crasheo del programa, perdida de datos, etc.
¿Puedo mezclar ciclos y condicionales? -> Si es posible, podemos tener un ciclo con una condicional dentro o una condicional con un ciclo dentro.

Replica el comportamiento de los siguientes ciclos for utilizando ciclos while:

for (let i = 0; i < 5; i++) {
    console.log("El valor de i es: " + i);
}

for (let i = 10; i >= 2; i--) {
    console.log("El valor de i es: " + i);
}

Solución:

let i = 0;
while(i < 5){
    console.log(`El valor de i es: ${i}`);
    i++;
}

let i = 10;
while(i >= 2){
    console.log(`El valor de i es: ${i}`);
    i--;
}

Escribe un código en JavaScript que le pregunte a los usuarios cuánto es 2 + 2. Si responden bien, mostramos un mensaje de felicitaciones, pero si responden mal, volvemos a empezar.

let resultado = prompt('¿Cúanto es 2 + 2?');
while(parseInt(resultado) !== 4){
    resultado = prompt('De vuelta, ¿Cúanto es 2 + 2?');
}
alert('¡Felicitaciones 2 + 2 = 4! 😀');
  • Listas

Responde las siguientes preguntas en la sección de comentarios:
¿Qué es un array? -> Colección de elementos que se almacenan en posiciones consecutivas y se accede a ellos mediante índices numéricos, arr[0] = primer elemento de array.
¿Qué es un objeto? -> Entidad que contiene propiedades y métodos para representar información estructurada o conceptos del mundo real.
¿Cuándo es mejor usar objetos o arrays? Depende del contexto y los requisitos el programa, arrays para almacenar colecciones ordenadas de elementos del mismo tipo, objetos para información estructurada con propiedades y métodos asociados.
¿Puedo mezclar arrays con objetos o incluso objetos con arrays? -> Sí, es posible mezclar arrays con objetos y viceversa.

Crea una función que pueda recibir cualquier array como parámetro e imprima su primer elemento.

const meses = ['Enero', 'Febrero', 'Marzo', 'Abril'];
function imprimirPrimerElemento(arr){
    console.log(arr[0]);
}
imprimirPrimerElemento(meses);

Crea una función que pueda recibir cualquier array como parámetro e imprima todos sus elementos uno por uno (no se vale imprimir el array completo).

const meses = ['Enero', 'Febrero', 'Marzo', 'Abril'];
function imprimirTodosElementos(arr){
    arr.forEach(elem => console.log(elem));
}
imprimirPrimerElemento(meses);

Crea una función que pueda recibir cualquier objeto como parámetro e imprima todos sus elementos uno por uno (no se vale imprimir el objeto completo).

const auto = {
    marca: 'Ford',
    modelo: 'Eco Sport Freestyle',
    year: 2018,
    color: 'azul'
}
function imprimirObj(obj){

    Object.keys(obj).forEach(function(prop){
        console.log(prop + ": " + obj[prop]);
    });
}
imprimirObj(auto);

que es una variable? es un espacio que se guarda en memoria para utilizar ya sea en condicionales o funciones (dependiendo si es scope o global)

cual es la direfencia entre declarar una variable e inicializar una variable? let variable; y inicializar una variable es asignarle un valor

¿Cuál es la diferencia entre sumar números y concatenar strings?

en que sumar numero se utiliza definir un valor matematico segun lo requerido y concatenar strings es juntar texto ej: console.log(“Hola " + " mundo”) // Hola Mundo

¿Cuál operador me permite sumar o concatenar?
+

Determina el nombre y tipo de dato para almacenar en variables la siguiente información:

let infoPersonal = {
Nombre: "Carlos",
Apellido: "Mendoza",
NombreDeUsuario: "kaka",
Edad: 41,
Correo: "[email protected]",
MayorDeEdad: "Si",
DineroAhorrado: 10,
Deudas: 8
}

Calcula e imprime las siguientes variables a partir de las variables del ejemplo anterior:

console.log(`${infoPersonal.Nombre} ${infoPersonal.Apellido}`) // Carlos Mendoza
function dineroReal() {
  const a = infoPersonal.DineroAhorrado;
  const b = infoPersonal.Deudas;
  return b - a;
}

dineroReal()

¿Qué es una función?

una funciones es un conjunto de instrucciones a realizar, ya sea una tarea como anidar una condicinal o calcular un valor para retornarlo

¿Cuándo me sirve usar una función en mi código?

para realizar una tarea en base a las instrucciones que le entreguemos

¿Cuál es la diferencia entre parámetros y argumentos de una función?

Los parámetros son los nombres que aparecen en la definición de una función. Por su parte, los argumentos son los valores que le pasamos (y que, por tanto, recibe) una función

Convierte el siguiente código en una función, pero, cambiando cuando sea necesario las variables constantes por parámetros y argumentos en una función:

const name = "Juan David";
const lastname = "Castro Gallego";
const completeName = name + lastname;
const nickname = "juandc";

function presentation(name, lastName, nickName){
  return console.log(`Mi nombre completo es ${name} ${lastName}, pero prefiero que me digas ${nickName}.`);
}
presentation("Juan David", "Castro Gallego", "juandc");

¿Qué es un condicional?
es donde se entra evaluar si algo es verdadero o falso y dependiendo de eso tomar una accion

¿Qué tipos de condicionales existen en JavaScript y cuáles son sus diferencias?

if y else: que es “si x y e es igual entonces haz esto si no, haz esto otro”

switch: evalua casos siempre y cuando sean solamente para comparacion, se utiliza cuando no quieres anidar muchos if.

¿Puedo combinar funciones y condicionales?

si por ejmplo:

function comparacion(){
if( 1 === "1"){
return true}else{
return false}
}

comparacion() // false
  1. Responde las siguientes preguntas en la sección de comentarios:

a. Una variable es la representación de un espacio en la memoria de un dispositivo

b. Declarar hace referencia a crear una variable, sin asignarle un valor, mientras que inicializar, hace referencia a asignarle un valor a una variable

c. Sumar numeros es una acción que ocurre cuando se usa el operador “+”, junto a dos datos de tipo número, concatenas es una acción que ocurre cuando se usa el operador “+”, junto a un dato de tipo número y un dato de tipo string, o con dos datos de tipo string.

  1. Determina el nombre y tipo de dato para almacenar en variables la siguiente información:

Nombre = nombre (string)
Apellido = apellido (string)
Nombre de usuario en Platzi = platziUsername (string)
Edad = edad (number)
Correo electrónico = email (string)
Mayor de edad = mayorDeEdad (boolean)
Dinero ahorrado = dineroAhorrado (function)
Deudas = deudas (number)

  1. Traduce a código JavaScript las variables del ejemplo anterior y deja tu código en los comentarios.
var nombre = "Brahyam";
var apellido = "Luna"
var platziUsername = "twiick.com"
var edad = 21;
var email = "[email protected]";
var mayorDeEdad = true;
var dineroAhorrado = function(dineroGanado, gastos, deudas) {
	return (dineroGanado - gastos - deudas);
};
var deudas = 0;
  1. Calcula e imprime las siguientes variables a partir de las variables del ejemplo anterior:
var nombreCompleto = nombre + apellido;
var dineroReal = function(dineroAhorrado, Deudas) {
	return dineroAhorrado-Deudas;
};
  1. Responde las siguientes preguntas en la sección de comentarios:

a. Una funcion es una tarea o un proceso que debe realizarse. Las funciones pueden tener parametros los cuales son requerimientos que deben proporcionarse para la realización de la tarea

b. Una funcion debe usarse cuando hay procesos que se realizan en varias ocaciones y lo que se busca es no repetir código, tambien, para hacer un código más limpio y entendible. En ocaciones sirve para apropiarse del lenguaje de programación.

  1. Convierte el siguiente código en una función, pero, cambiando cuando sea necesario las variables constantes por parámetros y argumentos en una función
function x (name, lastname, nickname) {
	var completeName = name + lastname;
	return ("Mi nombre es " + completeName + ", pero prefiero que me digas " + nickname + ".");
}
  1. Responde las siguientes preguntas en la sección de comentarios:

a. Es una concición que se utiliza para validar cierta información dentro del código.

b. Existen los if, que pueden contener else if y else, y tambien están los switch. La diferencia entre uno y otro es la estuctura, pues los if se crean en estructura de cascada y los switch en estructura de casos.

c. Si, dentro de las funciones se pueden incluir condicionales, que al validarse, continuen el flujo del códico hacia otras funciones.

  1. Replica el comportamiento del siguiente código que usa la sentencia switch utilizando if, else y else if:
const tipoDeSuscripcion = "Basic";

if(tipoDeSuscripcion = "Free") {
	console.log("Solo puedes tomar los cursos gratis");
} else if(tipoDeSuscripcion = "Basic") {
	console.log("Puedes tomar casi todos los cursos de Platzi durante un mes");
} else if(tipoDeSuscripcion = "Expert"){
	console.log("Puedes tomar casi todos los cursos de Platzi durante un año");
} else{
	onsole.log("Tú y alguien más pueden tomar TODOS los cursos de Platzi durante un año");
}
  1. Responde las siguientes preguntas en la sección de comentarios:

a. Un ciclo es una tarea que debe realizarse de forma repetitiva por un número especiífico de veces o por un numero indeterminado de veces hasta que se cumpla una concición.

b. Existen los ciclos for y los while. En los for, se especifica de cierta manera las veces que quiere que se realice el ciclo, mientras que el el while, el ciclo se repite hasta que se deje de cumplir una concición.

c. Un ciclo infinito es un ciclo que nunca termina, es un error porque puede detener el ciclo de un programa para siempre y puede gastar la memoria ram del dispositivo.

d. Si, se pueden ejecutar ciclos dependiendo de si la condicion de un condicional se cumple o no y dentro de un ciclo se puede validar por cada repetición, si la condición de un condicional se cumple o no.

  1. Replica el comportamiento de los siguientes ciclos for utilizando ciclos while:
i=0;
while (i < 5){
	console.log("El valor de i es: " + i);
	i++;
}
i=10;
while (i >= 2){
	console.log("El valor de i es: " + i);
	i--;
}
  1. Escribe un código en JavaScript que le pregunte a los usuarios cuánto es 2 + 2. Si responden bien, mostramos un mensaje de felicitaciones, pero si responden mal, volvemos a empezar.
var respuesta = "";
var correcto = false

while (correcto==false){
	respuesta = prompt("¿Cuánto es 2 + 2?")
	if(respuesta == "4"){
		console.log("Felicitaciones");
	correcto = true
	}
	else{
		console.log("Mal, volvamos a iniciar");
	}
}
  1. Responde las siguientes preguntas en la sección de comentarios:

a. Array es un tipo de dato que permite gusradar diferentes datos (que pueden ser de diferentes tipos) en su interior.

b. Un objeto es un tipo de elemento el cual tiene propiedades y valores

c. Array se usa cuando hay una lista de elementos que no están relacionados entre si, un objeto se usa cuando hay una lista de elementos los cuales se pueden relacionar a un elemento en especifico, es decir, una lista de frutas corresponde a un array, mientras que nombre, edad, identificacion y estudios se pueden relacionar a un objeto llamado persona.

d. Si, puede haber un arreglo de personas el cual tenga una lista de onjetos, correspondientes a diferentes personas, o un objeto llamado personas puede tener una propiedad llamada habilidades, en donde se usa un arreglo para listar las habilidades que tiene.

  1. Crea una función que pueda recibir cualquier array como parámetro e imprima su primer elemento.
function imprimir(miArray){
	console.log(miArray[0]);
}
  1. Crea una función que pueda recibir cualquier array como parámetro e imprima todos sus elementos uno por uno (no se vale imprimir el array completo).
function imprimir(miArray){
	for (var i = 0; i < miArray.length; i++){
		console.log(miArray[i]);
	}
}
  1. Crea una función que pueda recibir cualquier objeto como parámetro e imprima todos sus elementos uno por uno (no se vale imprimir el objeto completo).
function imprimir(miObjeto){
	for (let propiedad in miObjeto){
		console.log(miObjeto[propiedad]);
	}
}
  1. Responde las siguientes preguntas en la sección de comentarios:
    ¿Qué es una variable y para qué sirve?
    Es un espacio en memoria que permite almacenar informacion de cualquier tipo dependiendo del dato que nosotros requiramos y que podemos alterar y utilizar para la situación que necesitemos
    ¿Cuál es la diferencia entre declarar e inicializar una variable?
    Una variable declarada es aquella que tiene un tipo de variable y un nombre de variable asignados, mientras que inicializar una variable es una variable la cual tiene un valor asignado al momento de crearla.
    ¿Cuál es la diferencia entre sumar números y concatenar strings?
    La suma de números nos dará como respuesta un único valor numérico mientras que al concatenar strings, obtendremos un texto con varios valores de variables en el.
    ¿Cuál operador me permite sumar o concatenar?
    El operador ‘+’
  2. Determina el nombre y tipo de dato para almacenar en variables la siguiente información:
    String Nombre
    String Apellido
    String Nombre de usuario en Platzi
    Number Edad
    String Correo electrónico
    Boolean Mayor de edad
    Number Dinero ahorrado
    Number Deudas
  3. Traduce a código JavaScript las variables del ejemplo anterior y deja tu código en los comentarios.
let nombre = "Julian";
let apellido = "Perez";
let nombreUsuario = "jperez";
let edad = 24;
let correo = "[email protected]";
let mayorEdad = true;
let dineroAhorrado = 200000;
let deudas = 0;
  1. Calcula e imprime las siguientes variables a partir de las variables del ejemplo anterior:
console.log("Mi nombre completo es: " +nombre+ " " +apellido);
console.log("Mi dinero real es: " + dineroAhorrado - deudas);

Funciones

  1. Responde las siguientes preguntas en la sección de comentarios:
    ¿Qué es una función?
    Es un proceso que cumple unas tareas especificas el cual puede o no requerir de una variable de entrada para poder realizar el flujo programado.
    ¿Cuándo me sirve usar una función en mi código?
    Cuando se requiera realizar una tarea especifica en varias ocasiones y con ello ahorrar líneas de código.
    ¿Cuál es la diferencia entre parámetros y argumentos de una función?
    El parametro es un valor de un procedimiento el cual espera que se pase para poder realizar la funcion mientras que los argumentos representa el valor que se pasa a un parametro de procedimientos al poder ser llamado
  2. Convierte el siguiente código en una función, pero, cambiando cuando sea necesario las variables constantes por parámetros y argumentos en una función:
function estudiante(name, lastname){
	const completeName = name + lastname;
	const nickname = "juandc";

	console.log("Mi nombre es " + completeName + ", pero 			prefiero que me digas " + nickname + ".");
}
const name = "Juan David";
const lastname = "Castro Gallego";
estudiante(name, lastname);

Condicionales

  1. Responde las siguientes preguntas en la sección de comentarios:
    ¿Qué es un condicional?
    Son aquellas que permiten igualar una variable o más variables para verificar si cumple o no con una condición dada, para que en caso de que sea verdadero realizar una acción y en caso de que sea falso, realizar otra.
    ¿Qué tipos de condicionales existen en JavaScript y cuáles son sus diferencias?
    If: Condicional que verifica si la condición dada es verdadera, en caso de ser falsa, omitiría el procedimiento.
    If-else: Verifica la condición para ver si es verdadera o falsa, dependiendo de la respuesta realizara un procedimiento distinto.
    Switch: Permite colocar múltiples condicionales y solo correrá la que sea verdadera, en caso de que ninguna la sea, se ira a la de default
    ¿Puedo combinar funciones y condicionales?
    Si, las funciones pueden tener cualquier tipo de codigo, incluso las condicionales
  2. Replica el comportamiento del siguiente código que usa la sentencia switch utilizando if, else y else if:
const tipoDeSuscripcion = "Basic";
if(tipoDeSuscripcion  == "Free"){
	console.log("Solo puedes tomar los cursos gratis");
}
else if(tipoDeSuscripcion  == "Basic"){
	console.log("Puedes tomar casi todos los cursos de Platzi durante un mes");
}
else if(tipoDeSuscripcion   == "Expert"){
	console.log("Puedes tomar casi todos los cursos de Platzi durante un año");
}
else if(tipoDeSuscripcion   == "ExpertPlus"){
	console.log("Tú y alguien más pueden tomar TODOS los cursos de Platzi durante un año");
}
else{
	console.log("Este tipo de suscripcion no es valida");
}
  1. Replica el comportamiento de tu condicional anterior con if, else y else if, pero ahora solo con if (sin else ni else if).
const tipoDeSuscripcion = "Basic";
if(tipoDeSuscripcion  == "Free"){
	console.log("Solo puedes tomar los cursos gratis");
return;
}
if(tipoDeSuscripcion  == "Basic"){
	console.log("Puedes tomar casi todos los cursos de Platzi durante un mes");
return;
}
if(tipoDeSuscripcion   == "Expert"){
	console.log("Puedes tomar casi todos los cursos de Platzi durante un año");
return;
}
if(tipoDeSuscripcion   == "ExpertPlus"){
	console.log("Tú y alguien más pueden tomar TODOS los cursos de Platzi durante un año");
return;
}
console.log("Este tipo de suscripcion no es valida");

Ciclos

  1. Responde las siguientes preguntas en la sección de comentarios:
    ¿Qué es un ciclo?
    Es aquel que nos permite realizar una misma acción en bucle mientras cumpla una condición cada vez que vaya realizando el ciclo.
    ¿Qué tipos de ciclos existen en JavaScript?
    Ciclo for: Este ciclo nos permite realizar un bucle de un proceso inicializando una variable i, la cual podremos utilizar para decirle al ciclo cuando debe de terminar de realizarlo
    Ciclo While: Permite realizar un bucle mientras se cumpla la condición dada y se detendra cuando la condición sea falsa.
    Ciclo do while: Ciclo que al entrar siempre correra la primera vez pero para que vuelva a repetir el bucle debe cumplir una condición, y solo saldrá hasta que la condición sea falsa
    ¿Qué es un ciclo infinito y por qué es un problema?
    Un ciclo infinito es aquel ciclo que sin importar cuantas veces corra, este nunca terminara, haciendo que se consuma mucho procesamiento en el computador de forma interminable a menos que se cierre el programa que este corriendo ese ciclo
    ¿Puedo mezclar ciclos y condicionales?
    Si, al crear un ciclo es posible incluir condicionales dentro de el si se desea que se realice una u otra función dentro del propio ciclo.
  2. Replica el comportamiento de los siguientes ciclos for utilizando ciclos while:
let i = 0;
while(i < 5){
	console.log("El valor de i es: " + i);
	i++;
}

let i = 10;
while(i >= 2){
	console.log("El valor de i es: " + i);
	i--;
}
  1. Escribe un código en JavaScript que le pregunte a los usuarios cuánto es 2 + 2. Si responden bien, mostramos un mensaje de felicitaciones, pero si responden mal, volvemos a empezar.
let valor = prompt("¿Cuánto es 2 + 2?");
if(valor === 4){
	alert("Felicitaciones!!")
}
else{
	alert("Respuesta incorrecta");
	return;
}

Listas

  1. Responde las siguientes preguntas en la sección de comentarios:
    ¿Qué es un array?
    Es una variable que puede almacenar una lista de valores que pueden ser strings o numeros
    ¿Qué es un objeto?
    Es una coleccion de elementos que contiene unas características y atributos
    ¿Cuándo es mejor usar objetos o arrays?
    Un array es mejor utilizarlo cuando se requiere guardar datos del mismo tipo para luego ser utilizada mientras que los objetos es mejor utilizarlos cuando se requiere definir atributos a varios elementos
    ¿Puedo mezclar arrays con objetos o incluso objetos con arrays?
    Si, se puede almacenar arrays en objetos y viceversa.
  2. Crea una función que pueda recibir cualquier array como parámetro e imprima su primer elemento.
function comida(comidas){
	console.log(comidas[0]);
}
var comidas = ["Tomate", 2, "Lechuga", 4.3];
comida(comidas);
  1. Crea una función que pueda recibir cualquier array como parámetro e imprima todos sus elementos uno por uno (no se vale imprimir el array completo).
function comida(comidas){
	for(let i = 0; i < comidas.length; i++){
		console.log(comidas[i]);
	}
	
}
var comidas = ["Tomate", 2, "Lechuga", 4.3];
comida(comidas);
  1. Crea una función que pueda recibir cualquier objeto como parámetro e imprima todos sus elementos uno por uno (no se vale imprimir el objeto completo).
var miAuto = {
    marca: "Toyota",
    modelo: "Corolla",
    anno: 2020,
    detalleDelAuto: function(){
        console.log(`Auto: ${this.modelo}`);
	console.log(`Año: ${this.anno}`);
	console.log(`Marca: ${this.marca}`):
    }
};
miAuto.detalleDelAuto();

Test de conocimientos

Por: Fernando Callisaya


1️⃣ Responde las siguientes preguntas en la sección de comentarios:

  • ¿Qué es una variable y para qué sirve?

Almacena y asigna un valor y un espacio de memoria a algo en concreto

  • ¿Cuál es la diferencia entre declarar e inicializar una variable?

Declarar una variable es asignar un valor a la variable. ejemplo: a = “hola”

Inicializar una variable es definir que tipo de valores permitira esta variable

char a

  • ¿Cuál es la diferencia entre sumar números y concatenar strings?

La diferencia de concatenar strings es para combinar mensajes o distintos tipos de textos en cambio sumar números solamente suma números

  • ¿Cuál operador me permite sumar o concatenar?

El simbolo mas (+)

2️⃣ Determina el nombre y tipo de dato para almacenar en variables la siguiente información:

  • Nombre
  • Apellido
  • Nombre de usuario en Platzi
  • Edad
  • Correo electrónico
  • Mayor de edad
  • Dinero ahorrado
  • Deudas

3️⃣ Traduce a código JavaScript las variables del ejemplo anterior y deja tu código en los comentarios.

name = "Fernando"
lastname = "callisaya" 
username = "lfernand_cs"
age = 23
email = [email protected]
age_rectrict = false
ahorrado = 50 
deudas = 1500

4️⃣ Calcula e imprime las siguientes variables a partir de las variables del ejemplo anterior:

  • Nombre completo (nombre y apellido)
  • Dinero real (dinero ahorrado menos deudas)
const datos = {
  name : "Fernando",
lastname : "callisaya", 
username: "lfernand_cs",
age : 23,
email: "[email protected]",
age_rectrict: false,
ahorrado: 5000 ,
deudas: 1500
}

datos.name +" "+ datos.lastname
datos.ahorrado-datos.deudas

Funciones

1️⃣ Responde las siguientes preguntas en la sección de comentarios:

  • ¿Qué es una función?

es un conjunto de instrucciones que ayudan a simplificar y ver de mejor forma el código.

  • ¿Cuándo me sirve usar una función en mi código?

cuando tenemos una tarea que se repite mucho como sumar 2 números

  • ¿Cuál es la diferencia entre parámetros y argumentos de una función?

A lo que se los parámetros son como las reglas que vamos a enviar a la función y los argumentos son los valores que enviamos

2️⃣ Convierte el siguiente código en una función, pero, cambiando cuando sea necesario las variables constantes por parámetros y argumentos en una función:

const name = "Juan David";
const lastname = "Castro Gallego";
const completeName = name + lastname;
const nickname = "juandc";

console.log("Mi nombre es " + completeName + ", pero prefiero que me digas " + nickname + ".");

//my solution

function platzi(name, lastname, nickname){
 return console.log("Mi nombre es " + name +" "+lastname + ", pero prefiero que me digas " + nickname  );
}
const name = "Juan David";
const lastname = "Castro Gallego";
const nickname = "juandc";
platzi(name,lastname, nickname)

Condicionales

1️⃣ Responde las siguientes preguntas en la sección de comentarios:

  • ¿Qué es un condicional?
  • ¿Qué tipos de condicionales existen en JavaScript y cuáles son sus diferencias?
  • ¿Puedo combinar funciones y condicionales?

2️⃣ Replica el comportamiento del siguiente código que usa la sentencia switch utilizando if, else y else if:

const tipoDeSuscripcion = "Basic";

switch (tipoDeSuscripcion) {
   case "Free":
       console.log("Solo puedes tomar los cursos gratis");
       break;
   case "Basic":
       console.log("Puedes tomar casi todos los cursos de Platzi durante un mes");
       break;
   case "Expert":
       console.log("Puedes tomar casi todos los cursos de Platzi durante un año");
       break;
   case "ExpertPlus":
       console.log("Tú y alguien más pueden tomar TODOS los cursos de Platzi durante un año");
       break;
}

Mi solución

suscripcion = "expert"

if(suscripcion == "free"){
  "tienes acceso a los cursos gratis"
}else{
  if(suscripcion == "basic"){
    "tienes acceso a cursos limitados"
  }else{
    if(suscripcion == "expert"){
      "tienes acceso a todos los cursos"
    }
  }

Ciclos

1️⃣ Responde las siguientes preguntas en la sección de comentarios:

  • ¿Qué es un ciclo?

En programación un ciclo ayuda a realizar tareas repetitivas e iterativas

  • ¿Qué tipos de ciclos existen en JavaScript?

for y while

  • ¿Qué es un ciclo infinito y por qué es un problema?

es cuando el ciclo nunca puede cerrarse y por ende va consumiendo recursos físicos de la computadora

  • ¿Puedo mezclar ciclos y condicionales?

Si de hecho la misma estructura tiene condicionales

2️⃣ Replica el comportamiento de los siguientes ciclos for utilizando ciclos while:


for (let i = 0; i < 5; i++) {
    console.log("El valor de i es: " + i);
}

for (let i = 10; i >= 2; i--) {
    console.log("El valor de i es: " + i);
}

MI SOLUCION

for (let i = 0; i < 5; i++) {
    console.log("El valor de i es: " + i);
}
//------------------------------------
i = 0
while (i < 5){
  console.log("El valor de i es: " + i);
  i++
}

for (let i = 10; i >= 2; i--) {
    console.log("El valor de i es: " + i);
}
while (i>=2){
  console.log("El valor de i es: " + i);
  i--
}

Listas

1️⃣ Responde las siguientes preguntas en la sección de comentarios:

  • ¿Qué es un array?
  • ¿Qué es un objeto?
  • ¿Cuándo es mejor usar objetos o arrays?
  • ¿Puedo mezclar arrays con objetos o incluso objetos con arrays?

2️⃣ Crea una función que pueda recibir cualquier array como parámetro e imprima su primer elemento.

3️⃣ Crea una función que pueda recibir cualquier array como parámetro e imprima todos sus elementos uno por uno (no se vale imprimir el array completo).

4️⃣ Crea una función que pueda recibir cualquier objeto como parámetro e imprima todos sus elementos uno por uno (no se vale imprimir el objeto completo).

1️⃣ Responde las siguientes preguntas en la sección de comentarios:

  • ¿Qué es una variable y para qué sirve?
    Una variable es un contenedor que se utiliza para almacenar y representar un valor en la memoria de un programa. Sirve para guardar y manipular datos durante la ejecución de un programa.

  • ¿Cuál es la diferencia entre declarar e inicializar una variable?
    Declarar una variable es especificar su existencia y nombre en el código. Inicializar una variable es asignarle un valor por primera vez.

  • ¿Cuál es la diferencia entre sumar números y concatenar strings?
    Sumar números es una operación aritmética que realiza la suma matemática de dos valores numéricos. Concatenar strings es la operación de unir dos cadenas de texto en una sola.

  • ¿Cuál operador me permite sumar o concatenar?
    El operador + se utiliza tanto para sumar números como para concatenar strings.

2️⃣ Determina el nombre y tipo de dato para almacenar en variables la siguiente información:

  • Nombre: nombre (string)
  • Apellido: apellido (string)
  • Nombre de usuario en Platzi: nombreUsuarioPlatzi (string)
  • Edad: edad (number)
  • Correo electrónico: correoElectronico (string)
  • Mayor de edad: esMayorDeEdad (boolean)
  • Dinero ahorrado: dineroAhorrado (number)
  • Deudas: deudas (number)

3️⃣ Traduce a código JavaScript las variables del ejemplo anterior y deja tu código en los comentarios.

let nombre = "Santiago";
let apellido = "López Alarcón";
let nombreUsuarioPlatzi = "santiagolopeza30";
let edad = 29;
let correoElectronico = "[email protected]";
let esMayorDeEdad = true;
let dineroAhorrado = 5000;
let deudas = 2000;

4️⃣ Calcula e imprime las siguientes variables a partir de las variables del ejemplo anterior:

  • Nombre completo (nombre y apellido)
  • Dinero real (dinero ahorrado menos deudas)
let nombreCompleto = nombre + " " + apellido;
let dineroReal = dineroAhorrado - deudas;

console.log("Nombre completo: " + nombreCompleto);
console.log("Dinero real: " + dineroReal);

Funciones
1️⃣ Responde las siguientes preguntas en la sección de comentarios:

  • ¿Qué es una función?
    Una función es un bloque de código reutilizable que se puede llamar para ejecutar una tarea específica. Toma cero o más argumentos como entrada, realiza ciertas operaciones y puede devolver un valor como resultado.

  • ¿Cuándo me sirve usar una función en mi código?
    Las funciones son útiles cuando necesitas realizar una tarea repetitiva en diferentes partes de tu código. Al encapsular ese código en una función, puedes reutilizarlo fácilmente en múltiples lugares y mejorar la legibilidad y mantenibilidad del código.

  • ¿Cuál es la diferencia entre parámetros y argumentos de una función?
    Los parámetros son variables declaradas en la definición de una función y representan los valores que se esperan recibir cuando la función es llamada. Los argumentos son los valores reales que se pasan a una función cuando se la llama.

2️⃣ Convierte el siguiente código en una función, pero cambiando, cuando sea necesario, las variables constantes por parámetros y argumentos en una función:

const name = "Juan David";
const lastname = "Castro Gallego";
const completeName = name + lastname;
const nickname = "juandc";

console.log("Mi nombre es " + completeName + ", pero prefiero que me digas " + nickname + ".");


//Mi solución
function greetPerson(name, lastname, nickname) {
  const completeName = name + lastname;
  console.log("Mi nombre es " + completeName + ", pero prefiero que me digas " + nickname + ".");
}

greetPerson("Juan David", "Castro Gallego", "juandc");

Condicionales
1️⃣ Responde las siguientes preguntas en la sección de comentarios:

  • ¿Qué es un condicional?
    Un condicional es una estructura de control que permite tomar decisiones en función de una condición evaluada. Permite ejecutar diferentes bloques de código dependiendo si una expresión es verdadera o falsa.

  • ¿Qué tipos de condicionales existen en JavaScript y cuáles son sus diferencias?
    En JavaScript, existen tres tipos de condicionales:

    • if: Permite ejecutar un bloque de código si la condición especificada es verdadera. Si la condición es falsa, se omite el bloque de código.
    • else if: Se utiliza después de un if o de otro else if para evaluar una nueva condición si las anteriores son falsas.
    • else: Se utiliza después de un if o de un else if y se ejecuta si todas las condiciones anteriores son falsas.
  • ¿Puedo combinar funciones y condicionales?
    Sí, se pueden combinar funciones y condicionales. Puedes llamar a una función dentro de un bloque de código condicional para ejecutarla cuando se cumpla cierta condición.

2️⃣ Replica el comportamiento del siguiente código que usa la sentencia switch utilizando if, else y else if:

const tipoDeSuscripcion = "Basic";

switch (tipoDeSuscripcion) {
   case "Free":
       console.log("Solo puedes tomar los cursos gratis");
       break;
   case "Basic":
       console.log("Puedes tomar casi todos los cursos de Platzi durante un mes");
       break;
   case "Expert":
       console.log("Puedes tomar casi todos los cursos de Platzi durante un año");
       break;
   case "ExpertPlus":
       console.log("Tú y alguien más pueden tomar TODOS los cursos de Platzi durante un año");
       break;
}

//mi Solución
const tipoDeSuscripcion = "Basic";

if (tipoDeSuscripcion === "Free") {
  console.log("Solo puedes tomar los cursos gratis");
} else if (tipoDeSuscripcion === "Basic") {
  console.log("Puedes tomar casi todos los cursos de Platzi durante un mes");
} else if (tipoDeSuscripcion === "Expert") {
  console.log("Puedes tomar casi todos los cursos de Platzi durante un año");
} else if (tipoDeSuscripcion === "ExpertPlus") {
  console.log("Tú y alguien más pueden tomar TODOS los cursos de Platzi durante un año");
}

3️⃣ Replica el comportamiento de tu condicional anterior con if, else y else if, pero ahora solo con if (sin else ni else if).

const tipoDeSuscripcion

 = "Basic";

if (tipoDeSuscripcion === "Free") {
  console.log("Solo puedes tomar los cursos gratis");
}

if (tipoDeSuscripcion === "Basic") {
  console.log("Puedes tomar casi todos los cursos de Platzi durante un mes");
}

if (tipoDeSuscripcion === "Expert") {
  console.log("Puedes tomar casi todos los cursos de Platzi durante un año");
}

if (tipoDeSuscripcion === "ExpertPlus") {
  console.log("Tú y alguien más pueden tomar TODOS los cursos de Platzi durante un año");
}

Ciclos
1️⃣ Responde las siguientes preguntas en la sección de comentarios:

  • ¿Qué es un ciclo?
    Un ciclo, también conocido como bucle, es una estructura de control que permite repetir un bloque de código varias veces hasta que se cumpla una condición de salida.

  • ¿Qué tipos de ciclos existen en JavaScript?
    En JavaScript, existen varios tipos de ciclos:

    • for: Permite ejecutar un bloque de código un número específico de veces.
    • while: Ejecuta un bloque de código mientras una condición sea verdadera.
    • do...while: Ejecuta un bloque de código al menos una vez y luego repite la ejecución mientras una condición sea verdadera.
  • ¿Qué es un ciclo infinito y por qué es un problema?
    Un ciclo infinito es un bucle que se repite continuamente sin cumplir una condición de salida. Es un problema porque el programa queda atrapado en un bucle sin fin, lo que puede llevar a un consumo excesivo de recursos y bloquear la ejecución del programa.

  • ¿Puedo mezclar ciclos y condicionales?
    Sí, se pueden combinar ciclos y condicionales. Puedes utilizar estructuras condicionales dentro de un ciclo para controlar cuándo se debe salir del ciclo o realizar ciertas acciones según una condición.

2️⃣ Replica el comportamiento de los siguientes ciclos for utilizando ciclos while:

for (let i = 0; i < 5; i++) {
    console.log("El valor de i es: " + i);
}

for (let i = 10; i >= 2; i--) {
    console.log("El valor de i es: " + i);
}
//mi Solución
let i = 0;

while (i < 5) {
  console.log("El valor de i es: " + i);
  i++;
}

let i = 10;

while (i >= 2) {
  console.log("El valor de i es: " + i);
  i--;
}

3️⃣ Escribe un código en JavaScript que le pregunte a los usuarios cuánto es 2 + 2. Si responden bien, mostramos un mensaje de felicitaciones, pero si responden mal, volvemos a empezar.

let respuesta = "";

while (respuesta !== "4") {
  respuesta = prompt("¿Cuánto es 2 + 2?");
}

console.log("¡Felicitaciones! Respondiste correctamente.");

Listas
1️⃣ Responde las siguientes preguntas en la sección de comentarios:

  • ¿Qué es un array?
    Un array es una estructura de datos en JavaScript que se utiliza para almacenar y organizar múltiples valores en una sola variable. Los elementos en un array se almacenan en posiciones numeradas llamadas índices y se acceden mediante estos índices.

  • ¿Qué es un objeto?
    Un objeto es una entidad independiente que puede tener propiedades y métodos. En JavaScript, un objeto es una colección de pares clave-valor, donde las claves son cadenas (o símbolos) y los valores pueden ser de cualquier tipo de dato, como números, cadenas, booleanos, arrays u otros objetos. Los objetos en JavaScript se utilizan para representar entidades complejas con propiedades y comportamientos específicos.

  • ¿Cuándo es mejor usar objetos o arrays?
    La elección entre usar objetos o arrays depende del contexto y de los requisitos específicos del programa. Aquí hay algunas consideraciones generales:

    • Arrays: Se utilizan cuando necesitas una colección ordenada de elementos del mismo tipo o similar. Los arrays son útiles cuando quieres acceder a elementos por índice y realizar operaciones como recorridos, búsqueda o filtrado de elementos. Por ejemplo, una lista de nombres o una serie temporal de datos numéricos se pueden representar como arrays.

    • Objetos: Se utilizan cuando necesitas almacenar y organizar datos más complejos con propiedades específicas y comportamientos asociados. Los objetos son útiles cuando deseas acceder a los datos mediante claves descriptivas en lugar de índices numéricos. Por ejemplo, para representar una persona con propiedades como nombre, edad y dirección, un objeto sería una elección adecuada.

  • ¿Puedo mezclar arrays con objetos o incluso objetos con arrays?
    Sí, en JavaScript puedes mezclar arrays con objetos e incluso objetos con arrays. Los arrays pueden contener objetos como elementos, lo que permite almacenar colecciones de objetos relacionados. Del mismo modo, los objetos pueden contener arrays como propiedades, lo que permite almacenar conjuntos de valores relacionados dentro de un objeto. Esta flexibilidad permite estructurar y organizar datos de manera más compleja y adaptable según las necesidades del programa.
    2️⃣ Crea una función que pueda recibir cualquier array como parámetro e imprima su primer elemento.

function imprimirPrimerElemento(array) {
  if (array.length > 0) {
    console.log("El primer elemento del array es: " + array[0]);
  } else {
    console.log("El array está vacío.");
  }
}

// Ejemplo de uso
const miArray = [1, 2, 3, 4, 5];
imprimirPrimerElemento(miArray);

3️⃣ Crea una función que pueda recibir cualquier array como parámetro e imprima todos sus elementos uno por uno (no se vale imprimir el array completo).

function imprimirElementos(array) {
  for (let i = 0; i < array.length; i++) {
    console.log("Elemento " + (i + 1) + ": " + array[i]);
  }
}

// Ejemplo de uso
const miArray = ["Hola", "mundo", "!"];
imprimirElementos(miArray);

4️⃣ Crea una función que pueda recibir cualquier objeto como parámetro e imprima todos sus elementos uno por uno (no se vale imprimir el objeto completo).

function imprimirElementosObjeto(objeto) {
  for (let clave in objeto) {
    console.log(clave + ": " + objeto[clave]);
  }
}

// Ejemplo de uso
const miObjeto = { nombre: "Juan", edad: 25, profesion: "Programador" };
imprimirElementosObjeto(miObjeto);

1.- Responde las siguientes preguntas en la sección de comentarios:

¿Qué es una variable y para qué sirve?
una variable es un espacio reservado en memoria que sirve para guardar un valor

¿Cuál es la diferencia entre declarar e inicializar una variable?
Una variable se declara para indicarle al programa a partir de qué lugar empieza a existir, qué nombre tendrá y qué tipo de datos almacenará. La asignación de un valor inicial se llama inicialización

¿Cuál es la diferencia entre sumar números y concatenar strings?
Sumar números es una operación matemática y concatenar es unir strings uno tras otro.

¿Cuál operador me permite sumar o concatenar?
el operador +

2.- Determina el nombre y tipo de dato para almacenar en variables la siguiente información:

Nombre
Apellido
Nombre de usuario en Platzi
Edad
Correo electrónico
Mayor de edad
Dinero ahorrado
Deudas

nombre: string
apellido: string
nombre_usr_platzi: string
edad: int
correoElectrnico: string
mayorEdad: boolean
dineroAhorrado: float
deudas: float

3.- Traduce a código JavaScript las variables del ejemplo anterior y deja tu código en los comentarios.

var nombre 				= "Angel";
var apellido				= "Bautista";
var nombre_usr_platzi		= "AngelB";
var edad					= 46
var correoElectronico		= "[email protected]"
var mayorEdad			= true
var dineroAhorrado			= 2200.15;
var deudas				= 50000.01;

4.- Calcula e imprime las siguientes variables a partir de las variables del ejemplo anterior:

Nombre completo (nombre y apellido)
console.log("nombre completo:", nombre +" "+ apellido);

Dinero real (dinero ahorrado menos deudas)
var total_dinero;
console.log("dinero ahorrado", total_dinero=dineroAhorrado-deudas);

Funciones

1️.- Responde las siguientes preguntas en la sección de comentarios:
¿Qué es una función?
Una función es un bloque de código que realiza alguna operación.
Una función puede definir opcionalmente parámetros de entrada que permiten a los llamadores pasar argumentos a la función

¿Cuándo me sirve usar una función en mi código?
para escribir un pequeño trozo de código que se puede llamar en diferentes partes del programa, en lugar de repetir el mismo código en varios lugares del programa, ganando legibilidad y simplificación de código

¿Cuál es la diferencia entre parámetros y argumentos de una función?
Los parámetros son los nombres que aparecen en la definición de una función. Por su parte, los argumentos son los valores que le pasamos (y que, por tanto, recibe) una función.

2.- Convierte el siguiente código en una función, pero, cambiando cuando sea necesario las variables constantes por parámetros y argumentos en una función:

const name = "Juan David";
const lastname = "Castro Gallego";
const completeName = name + lastname;
const nickname = "juandc";

console.log("Mi nombre es " + completeName + ", pero prefiero que me digas " + nickname + ".");

var name = "Juan David";
var lastname = "Castro Gallego";
var nickname = "juandc";

function alias(nombre, apellido, apodo){
	var nombreCompleto = nombre+" "+apellido;
	console.log("Mi nombre es " + nombreCompleto + ", pero prefiero que me digas " + apodo + ".");
}

alias(name, lastname,nickname);

condicionales

1.- son estructuras de control que permiten elegir entre una acción u otra.

if then else, operador ternario y swicht

2.- Replica el comportamiento del siguiente código que usa la sentencia switch utilizando if, else y else if:

const tipoDeSuscripcion = "Basic";
if (tipoDeSuscripcion == "Free"){
	console.log("Solo puedes tomar los cursos gratis");
}else if (tipoDeSuscripcion == "Basic){
	console.log("Puedes tomar casi todos los cursos de Platzi durante un mes");
}else if(tipoDeSuscripcion == "Expert"){
	console.log("Puedes tomar casi todos los cursos de Platzi durante un año");
}else if(tipoDeSuscripcion == "ExpertPlus"){
	console.log("Tú y alguien más pueden tomar TODOS los cursos de Platzi durante un año");
}else{
	console.log("Deberías inscribirte a Platzi");
}

3.- Replica el comportamiento de tu condicional anterior con if, else y else if, pero ahora solo con
if (sin else ni else if).

const tipoDeSuscripcion = "Basic";
if (tipoDeSuscripcion == "Free"){
	console.log("Solo puedes tomar los cursos gratis");
}
if (tipoDeSuscripcion == "Basic){
	console.log("Puedes tomar casi todos los cursos de Platzi durante un mes");
}
if(tipoDeSuscripcion == "Expert"){
	console.log("Puedes tomar casi todos los cursos de Platzi durante un año");
}
if(tipoDeSuscripcion == "ExpertPlus"){
	console.log("Tú y alguien más pueden tomar TODOS los cursos de Platzi durante un año");
}

Ciclos

1.- Responde las siguientes preguntas en la sección de comentarios:
¿Qué es un ciclo?
Un ciclo es una estructura de repetición que sirve para ejecutar un bloque de código un número determinado de veces

¿Qué tipos de ciclos existen en JavaScript?
Existen el ciclo for, for of y for in, el ciclo while

¿Qué es un ciclo infinito y por qué es un problema?
Ciclo infinito es el que se repite indefinidamente debido a que su condición nunca se cumple.

¿Puedo mezclar ciclos y condicionales?
Si

2.- Replica el comportamiento de los siguientes ciclos for utilizando ciclos while:

for (let i = 0; i < 5; i++) {
	console.log("El valor de i es: " + i);
}

let i=0;
while( i < 5 ){
	console.log("El valor de i es: " + i);
	i=i +1;
}

for (let i = 10; i >= 2; i--) {
	console.log("El valor de i es: " + i);
}

let i=10;
while( i >= 2 ){
	console.log("El valor de i es: " + i);
	i=i -1;
}

3.-Escribe un código en JavaScript que le pregunte a los usuarios cuánto es 2 + 2.
Si responden bien, mostramos un mensaje de felicitaciones, pero si responden mal, volvemos a empezar.

let resultado;
do{
resultado = window.prompt(“cuanto es 2 + 2?”);
}
while(resultado != 4);
console.log(“Felicidades!”);

Listas

1.- Responde las siguientes preguntas en la sección de comentarios:
¿Qué es un array?
es una colección o agrupación de elementos en una misma variable, cada uno de ellos ubicado con referencia a la posición que ocupa dentro del mismo. Tanto la longitud como el tipo de los elementos de un array son variables

¿Qué es un objeto?
un objeto es un entidad independiente con propiedades y tipos. Compáralo con una taza, por ejemplo. Una taza es un objeto con propiedades. Una taza tiene un color, un diseño, un peso, un material del que está hecha, etc

¿Cuándo es mejor usar objetos o arrays?
Los arrays se usan para series que poseen valores simples, mientras que los objetos son utilizadas para las series en que hay distintos objetos y propiedades con diferentes valores.

¿Puedo mezclar arrays con objetos o incluso objetos con arrays?
Si

2.- Crea una función que pueda recibir cualquier array como parámetro e imprima su primer elemento.

var arreglox=[];
function miArreglo(arreglox){
var arreglo = arreglox.shift();
console.log(arreglo);
}
3.- Crea una función que pueda recibir cualquier array como parámetro e imprima todos sus elementos uno por uno (no se vale imprimir el array completo).

function miArreglo2(arreglox){
arreglox.forEach(function(arreglo) {
console.log(arreglo);
});
}

4.- Crea una función que pueda recibir cualquier objeto como parámetro e imprima todos sus elementos uno por uno (no se vale imprimir el objeto completo).

var articulos = [
{nombre:“Bici”, costo:3000},
{nombre:“Tv”, costo:2500},
{nombre:“LIbro”, costo:320},
{nombre:“Celular”, costo:10000},
{nombre:“Laptop”, costo:20000},
{nombre:“Teclado”, costo:500},
{nombre:“Audifonos”, costo:1700},
];

articulos.forEach(function(articulo){
console.log(articulo.nombre);
})

¿Qué es una variable y para qué sirve?
Es un contenedor que se utiliza para almacenar y manipular valores

¿Cuál es la diferencia entre declarar e inicializar una variable?
Declarar una variable es el acto de crear una variable especificando su nombre, pero sin asignarle un valor en ese momento.

Inicializar una variable es el proceso de asignar un valor inicial a una variable previamente declarada.

¿Cuál es la diferencia entre sumar números y concatenar strings?
Cuando sumas números, se realiza una operación matemática en la que los valores numéricos se suman aritméticamente. El operador utilizado para sumar en JavaScript es el signo “+”.

Cuando concatenas strings, estás uniendo o combinando dos o más cadenas de texto en una sola cadena. La concatenación se realiza utilizando el operador “+” en el contexto de strings.

¿Cuál operador me permite sumar o concatenar?
El operador “+” se utiliza tanto para sumar números como para concatenar strings en JavaScript.

2.- Determinar el nombre y tipo de dato para almacenar en variables:
var nombre (string)
var apellido (string)
var usuarioPlatzi (string)
var edad (número)
var correoElectronico (string)
var mayoEdad (Booleano)
var dineroAhorrado (número)
var deudas (número)

3.- Traducrir a código javaScript los ejemplos anteriores y dejar el codigo:

// Declaracíon de variables

var nombre
var apellido
var usuarioPlatzi
var edad
var correoElectronico
var mayorEdad
var dineroAhorrado
var deudas

4.- Calular e imprimir variables a partir del ejemplo anterior:

// Calculo de nombre completo
var nombre
var apellido
console.log(`Nombre Completo ${nombre} ${apellido}`)
// Calculo de dinero real

var ahorro = 700
var deudas = 350
var totalAhorrado = ahorro - deudas
console.log(totalAhorrado)

FUNCIONES
¿Que es una funcion?
Es un bloque de código reutilizable que realiza una tarea o calcula un resultado específico. Se utiliza para agrupar un conjunto de instrucciones relacionadas y darles un nombre, lo cual permite ejecutar ese bloque de código en cualquier parte del programa simplemente llamando a esa función.

¿Cuando me sirve una función en mi codigo?
Reutilización de código: Si tienes una determinada lógica o conjunto de instrucciones que se repite en diferentes partes de tu programa, puedes encapsular ese código en una función. Esto te permite reutilizar esa función en múltiples lugares, evitando la duplicación de código y facilitando el mantenimiento.

Modularidad y legibilidad: Las funciones ayudan a dividir el código en módulos más pequeños y manejables. Cada función se enfoca en realizar una tarea específica, lo que facilita la comprensión del código y su mantenimiento. Además, al dar nombres descriptivos a las funciones, el código se vuelve más legible y autodescriptivo.

Abstracción: Las funciones te permiten abstraer detalles de implementación y centrarte en la funcionalidad en sí misma. Puedes crear funciones que realicen tareas complejas, pero al utilizarlas en otros lugares del código, solo necesitas conocer qué hace la función y no cómo se implementa internamente.

Organización y estructura: Las funciones te ayudan a organizar tu código de manera estructurada y coherente. Puedes agrupar las funciones relacionadas en un mismo lugar, lo que facilita la comprensión y el mantenimiento del programa.

Testabilidad: Al utilizar funciones, puedes escribir pruebas unitarias más fácilmente. Puedes probar cada función individualmente y verificar si produce los resultados esperados, lo que ayuda a garantizar la calidad y la corrección del código.

Promover la colaboración: El uso de funciones bien definidas facilita el trabajo en equipo. Cada miembro del equipo puede trabajar en diferentes funciones y luego combinarlas para construir una aplicación completa.

Variables y operaciones

¿Qué es una variable y para qué sirve?
Las variables sirven para almacenar información que luego podemos utilizar.

¿Cuál es la diferencia entre declarar e inicializar una variable?
Al declarar una variable, se está creando la variable sin ninguna información adentro, mientras que al inicializarla se le asigna información a la variable.

¿Cuál es la diferencia entre sumar números y concatenar strings?
Cuando se concatenan strings, se unen las cadenas de texto, mientras que al sumar los números se realiza una operación matemática para obtener un resultado numérico.

¿Cuál operador me permite sumar o concatenar?
El operador que se utiliza tanto para sumar números como para concatenar strings es el operador de suma +



// Variables y operaciones

let nombre = "Lucia";
let apellido = "Nishida";
let username = "Lucia_Nishimiya";
let edad = 19;
let email = "[email protected]";
let mayorDeEdad = true;
let dineroAhorrado = 3000;
let deudas = 453;

const nombreCompleto = `${nombre} ${apellido}`
const dineroReal = dineroAhorrado - deudas
console.log(nombreCompleto);    
console.log(dineroReal)

Funciones

¿Qué es una función?
Una función es un bloque de código que realiza una tarea puede recibir datos de entrada y devolver un resultado.

¿Cuándo me sirve usar una función en mi código?
Cuando el codigo es repetitivo y se puede reutilizar la misma fracion de codigo y tambien ayuda a mantener lo ordenado.

** ¿Cuál es la diferencia entre parámetros y argumentos de una función?**
Los parámetros son variables declaradas de una función, mientras que los argumentos son los valores que se pasan a la función cuando se la llama.

// Funciones

const name = "Juan David";
const lastname = "Castro Gallego";
const nickname = "juandc";

function preferName (Name, Lastname , nick) {
    console.log(`Mi nombre es ${Name} ${Lastname}, pero prefiero que me digas ${nick}.`);
};
preferName(name, lastname, nickname);

Condicionales

¿Qué es un condicional?
Un condicional es una funcion que toma decisiones. Si algo es verdad, hace una acción, y si es falso, hace otra acción.

¿Qué tipos de condicionales existen en JavaScript y cuáles son sus diferencias?
Los condicionales son el if y el switch. El if evalúa una condición y ejecuta un bloque de código si es verdadera. El switch evalúa una expresión y realiza diferentes acciones según los que coinsidan.

** ¿Puedo combinar funciones y condicionales?**
Si se puden convinar.

// Condicionales

const tipoDeSuscripcion = "Basic";
if (tipoDeSuscripcion == "Free") {
	console.log("Solo puedes tomar los cursos gratis");
} else if (tipoDeSuscripcion == "Basic") {
	 console.log("Puedes tomar casi todos los cursos de Platzi durante un mes");
} else if (tipoDeSuscripcion == "Expert") {
	 console.log("Puedes tomar casi todos los cursos de Platzi durante un año");
} else if (tipoDeSuscripcion == "ExpertPlus") {
	 console.log("Tú y alguien más pueden tomar TODOS los cursos de Platzi durante un año");
} else {
	 console.log("No tienes ninguna suscripción");
}

Ciclos

** ¿Qué es un ciclo?**
Un ciclo es una estructura que nos permite repetir una serie de instrucciones mientras se cumpla una condición específica.

** ¿Qué tipos de ciclos existen en JavaScript?**
Los tipos de ciclos en JavaScript son for, while y do-while.

** ¿Qué es un ciclo infinito y por qué es un problema?**
Ocurre cuando una condición siempre se cumple y el ciclo no se detiene. Es un problema porque puede sobrecargar la memoria y causar bloqueos

¿Puedo mezclar ciclos y condicionales?
Sí, se pueden mezclar ciclos y condicionales. Puedes tener un ciclo dentro de un condicional o un condicional dentro de un ciclo para realizar acciones repetidas en función de ciertas condiciones.

//Ciclos

let i = 0;
while (i < 5) {
  i++;
  console.log(`El valor de i es: ${i}`);
}

let i = 10;
while (i >= 2) {
  i--;
  console.log(`El valor de i es: ${i}`);
}

// Escribe un código en JavaScript que le pregunte a los usuarios cuánto es 2 + 2. Si responden bien, mostramos un mensaje de felicitaciones, pero si responden mal, volvemos a empezar.

let respuesta = parseInt(prompt('¿Cuánto es 2 + 2?'));

while(respuesta !== 4) {
    alert("Respuesta incorrecta");
    respuesta = parseInt(prompt('¿Cuánto es 2 + 2?'));
}

alert('Felicidades eres un genio!');

Listas

** ¿Qué es un array?**
Un array es una forma de guardar muchos valores en una sola variable.

** ¿Qué es un objeto?**
Un objeto es como una caja que puede contener diferentes piezas de información con nombres.

** ¿Cuándo es mejor usar objetos o arrays?**
Los arrays son útiles cuando tenemos una lista de cosas, como una lista de números o nombres. Los objetos son mejores cuando queremos guardar información con nombres descriptivos, como los detalles de una persona.

¿Puedo mezclar arrays con objetos o incluso objetos con arrays?
Se puedes poner arrays dentro de objetos.


//Listas

// Crea una función que pueda recibir cualquier array como parámetro e imprima su primer elemento.
let animales = ["Perro", "Gato", "León", "Elefante", "Tigre", "Oso"];
function readArray(array){
	console.log(array[0])
}
readArray(animales);

//Crea una función que pueda recibir cualquier array como parámetro e imprima todos sus elementos uno por uno (no se vale imprimir el array completo).

function readArray(array) {
    for (let i = 0; i < array.length; i++) {
      console.log(`${i + 1} ${array[i]}`)
    }
  }
  readArray(animales);
//Crea una función que pueda recibir cualquier objeto como parámetro e imprima todos sus elementos uno por uno (no se vale imprimir el objeto completo).
let laGranjaDePepe = {
    vaca: "Muu",
    cerdo: "Oink",
    gallina: "Kokorako",
    caballo: "ujdshiuvsdfuih",
    oveja: "Beee",
    pato: "Cuac"
  };
  function readObject(object) {
    for (let key in object) {
      console.log(object[key]);
       }
   }
  readObject(laGranjaDePepe);

Mi solucion al Test de JavaScript:

  1. Responde las siguientes preguntas en la sección de comentarios:

-¿Qué es una variable y para qué sirve?
Una variable es un espacio que le estamos dando en memoria a los datos que deseemos guardar ya sea un arreglo u objeto, podemos poner el ejemplo de muchos cajones cuando deseamos guardar cualquier dato podemos poner en X cajon lo que deseemos y en este cajon queda asignado ese valor o esos datos que ingresamos.

Una variable sirve para guardar datos arreglos o objetos podemos usarlos en nuestro codigo para asignar algun dato ya definido por el programador, o esperar cualquier dato segun lo que ingrese el usuario.

-¿Cuál es la diferencia entre declarar e inicializar una variable?

1️⃣ Responde las siguientes preguntas en la sección de comentarios:
¿Qué es una variable y para qué sirve? Una variable es un espacio de memoria reservado el cual nos permite almacenar datos.
¿Cuál es la diferencia entre declarar e inicializar una variable? Declarar es reservar memoria con un nombre e inicializar es asignarle un dato que va estar almacenado en la memoria.
¿Cuál es la diferencia entre sumar números y concatenar strings? Sumar números es la ejecución de una operación aritmética entre 2 números y concatenar es unir dos cadenas.
¿Cuál operador me permite sumar o concatenar? El operador es el signo +.

2️⃣ Determina el nombre y tipo de dato para almacenar en variables la siguiente información:
Nombre = String
Apellido = String
Nombre de usuario en Platzi = String
Edad = Number
Correo electrónico = String
Mayor de edad = Boolean
Dinero ahorrado = Number
Deudas = Number

3️⃣ Traduce a código JavaScript las variables del ejemplo anterior y deja tu código en los comentarios.

//Variables
let nombre = “Andrés”;
let apellido = “Rueda”;
let loginPlatzi = “aruedap”;
let edad = 41;
let correo = "[email protected]"
let mayorEdad = true;
let dineroAhorrado = 20000;
let deuda = 10000;

Variables y operaciones

1️⃣ Responde las siguientes preguntas en la sección de comentarios:

  • ¿Qué es una variable y para qué sirve?

    Asignación de un espacio en memoria, nos sirve para efectuar operaciones con diferentes valores.

  • ¿Cuál es la diferencia entre declarar e inicializar una variable?

    Al declarar damos el nombre de la varaiable y al inicializar su tipo y valor.

  • ¿Cuál es la diferencia entre sumar números y concatenar strings?

    Saumar seria la simple operación matemática y al concatenar la unión de dos cadenadas de caracteres.

  • ¿Cuál operador me permite sumar o concatenar?

    El simbolo (+)

2️⃣ Determina el nombre y tipo de dato para almacenar en variables la siguiente información:

  • Nombre: name string
  • Apellido: lastName string
  • Nombre de usuario en Platzi: nickName string
  • Edad: age int
  • Correo electrónico: mail string
  • Mayor de edad: adult boolean
  • Dinero ahorrado: saveMoney float
  • Deudas: debt float

3️⃣ Traduce a código JavaScript las variables del ejemplo anterior y deja tu código en los comentarios.

var name = 'jose angel'; 
var lastName = 'Esquivel Cisneros';  
var nickName = 'jaec1146';  
var mail = '[email protected]';   
var adult = true;  
var saveMoney = 5000;  
var debt = 1000; 

4️⃣ Calcula e imprime las siguientes variables a partir de las variables del ejemplo anterior:

Nombre completo (nombre y apellido)

Dinero real (dinero ahorrado menos deudas)

var completeName = name +’ ‘+ lastName; 
Console.log( completeName ); 
var realMoney =  saveMoney + debt; 
Console.log( realMoney); 

1️⃣ Responde las siguientes preguntas en la sección de comentarios:
¿Qué es una variable y para qué sirve?
es un espacio de memoria reservado para guardar un valor,
¿Cuál es la diferencia entre declarar e inicializar una variable?
se declara una variable cuando se coloca en el código fuente con su tipo pero sin ningún valor
se inicializa una variable cuando se coloca su valor.
¿Cuál es la diferencia entre sumar números y concatenar strings?
la suma de números se puede hacer para que el resultado de en un resultado específico
al concatenar strings en la unión de los valores colocados en dicha concatenación
¿Cuál operador me permite sumar o concatenar?
la Operacion de union de Texto +

2️⃣ Determina el nombre y tipo de dato para almacenar en variables la siguiente información:
name - String
lastName - string
nickname - String
age - number
mail - string
Mayor de edad - boolean
Dinero ahorrado - number
Deudas - number

3️⃣ Traduce a código JavaScript las variables del ejemplo anterior y deja tu código en los comentarios.

<code> 
var name = "Diana";
var lasName = "Rangel";
var nickName = "Diana Rangle";
var age = 27; 
var mail =  "[email protected]";
var mayordeEdad = true; 
var dineroAhorrado = 100;
var deudas = 25000;

4️⃣ Calcula e imprime las siguientes variables a partir de las variables del ejemplo anterior:

var name = "Diana";
var lasName = "Rangel";
var Nombres=  name + lasName;
console.log(Nombres);

var dineroAhorrado = 100;
var deudas = 25000;
var total= dineroAhorrado - deudas;
console.log(total); 

Funciones
1️⃣ Responde las siguientes preguntas en la sección de comentarios:
¿Qué es una función?
tareas que se pueden usar para aplicar acciones a las variables generadas

¿Cuándo me sirve usar una función en mi código?
cuando queremos que las variables tengan un comportamiento

¿Cuál es la diferencia entre parámetros y argumentos de una función?
los parámetros se declaran para saber que viene una funcion en proceso si saber aun que valor se les dará.
las funciones son los valores declarados para esos parámetros y de esta manera se ejecute el proceso

2️⃣ Convierte el siguiente código en una función, pero, cambiando cuando sea necesario las variables constantes por parámetros y argumentos en una función:

const name = "Juan David";
const lastname = "Castro Gallego";
const nickname = "juandc"; 

function presentacion( name, lastnamen, nickname){
	return (`Mi nombre es ${name} ${lastname}, pero prefiero que me digas " ${nickname} `);
}

Condicionales
1️⃣ Responde las siguientes preguntas en la sección de comentarios:
¿Qué es un condicional?
es una estructura de control que permite tomar decisiones

¿Qué tipos de condicionales existen en JavaScript y cuáles son sus diferencias?
if
else
else if
switch

2️⃣ Replica el comportamiento del siguiente código que usa la sentencia switch utilizando if, else y else if:

const tipoDeSuscripcion = "Basic";

switch (tipoDeSuscripcion) {
   case "Free":
       console.log("Solo puedes tomar los cursos gratis");
       break;
   case "Basic":
       console.log("Puedes tomar casi todos los cursos de Platzi durante un mes");
       break;
   case "Expert":
       console.log("Puedes tomar casi todos los cursos de Platzi durante un año");
       break;
   case "ExpertPlus":
       console.log("Tú y alguien más pueden tomar TODOS los cursos de Platzi durante un año");
       break;
}


//MY SOLUCIÓN

const tipoDeSuscripcion = "Basic";

if (tipoDeSuscripcion === "free")  {
	console.log("Solo puedes tomar los cursos gratis");
} else if  (tipoDeSuscripcion === "Basic") {
	console.log("Puedes tomar casi todos los cursos de Platzi durante un mes");
} else if (tipoDeSuscripcion === "Expert") {
	console.log("Puedes tomar casi todos los cursos de Platzi durante un año");
} else if (tipoDeSuscripcion === "ExpertPlus"){
	console.log("Tú y alguien más pueden tomar TODOS los cursos de Platzi durante un año");
} else {
    console.log("No cuentas no beneficios");
}


Variables y operaciones
1️⃣ Responde las siguientes preguntas en la sección de comentarios:
¿Qué es una variable y para qué sirve?
Una variable es un espacio reservado en memoria y sirve para almacenar valores de todo tipo.
¿Cuál es la diferencia entre declarar e inicializar una variable?
Cuando se declara una variable, no se le asigna un valor, sino que cuando se inicializa se le está asignando un valor.
¿Cuál es la diferencia entre sumar números y concatenar strings?
2 + 2 = 4
"2" + “2” = “22”
¿Cuál operador me permite sumar o concatenar?
+

1️⃣ Responde las siguientes preguntas en la sección de comentarios:
¿Qué es un condicional?
Un condicional evalua si una condicion es verdadera o falsa para ejecutar una determinada tarea.
¿Qué tipos de condicionales existen en JavaScript y cuáles son sus diferencias?
Existen los ocndicionales if, if-else. If ejecuta determinado codigo sólo si la condicion es verdadera. En If-else, si la condicion es verdadera ejecuta una tarea, si es falsa ejecuta otra tarea.
¿Puedo combinar funciones y condicionales?
Si

Ciclos
1️⃣ Responde las siguientes preguntas en la sección de comentarios:
¿Qué es un ciclo?
Un ciclo es una forma automatizada de repetir código.
¿Qué tipos de ciclos existen en JavaScript?
Existen los ciclos for, for-each, for-of, while.
¿Qué es un ciclo infinito y por qué es un problema?
Un ciclo es infinito cuando no tiene una condición que detenga el ciclo de vida del ciclo. Es un problema porque puede producir que la pc se trave o no responda correctamente.
¿Puedo mezclar ciclos y condicionales?
Si.

Listas
1️⃣ Responde las siguientes preguntas en la sección de comentarios:
¿Qué es un array?
Un array es una estructura de datos de tipo objeto que almacena una serie de datos.
¿Qué es un objeto?
Un objeto es una estructura de datos que almacena valores mediante propiedades y sus valores.
¿Cuándo es mejor usar objetos o arrays?
Es mejor usar objetos cuando los valores que se introducen son de distintos tipos de datos. Es mejor usar un array cuando los datos son todos del mismo tipo.
¿Puedo mezclar arrays con objetos o incluso objetos con arrays?
Si, pero no se cómo.

Hasta aquí llegué.

/*Responde las siguientes preguntas en la sección de comentarios:

¿Qué es una variable y para qué sirve?
Es un espacio en memoria el cual sirve para almacenar un valor el cual puede cambiar durante la ejecución de un programa.

¿Cuál es la diferencia entre declarar e inicializar una variable?
Declarar es crear la variable sin asignarle ningún valor y inicializarla es asignarle un valor por defecto.

¿Cuál es la diferencia entre sumar números y concatenar strings?
Para sumar dos números es necesario que el tipo de dato sea numérico y para concatenar puedo concatenar valores con distintos tipos de dato.

¿Cuál operador me permite sumar o concatenar?
‘+’ */

/*Determina el nombre y tipo de dato para almacenar en variables la siguiente información:

Nombre: String
Apellido: String
Nombre de usuario en Platzi: String
Edad: number
Correo electrónico: String
Mayor de edad: Bolean
Dinero ahorrado: number
Deudas: number

Traduce a código JavaScript las variables del ejemplo anterior y deja tu código en los comentarios.*/

var nombre = "Will";
var apellido = "Atuesta";
var nombreUsuario = "watuesta";
var edad = 31;
var correo = "[email protected]";
var mayorEdad = true;
var dineroAhorrado = 100.0;
var deudas = 50.2;

/*Calcula e imprime las siguientes variables a partir de las variables del ejemplo anterior:*/

var nombreCompleto = nombre + " " + apellido;
console.log (nombreCompleto);

var dineroReal = dineroAhorrado - deudas;
console.log (dineroReal);

/*Responde las siguientes preguntas en la sección de comentarios:

¿Qué es una función?
Es un bloque de código que ejecuta unas instrucciónes las cuales puedo reutilizar realizando un llamado y pasandole parametros si asi lo requiere.

¿Cuándo me sirve usar una función en mi código?
Me srive para reutilizar un bloque de código el cual haga alguna accion repetitiva haciendo mas legible y sostenible en el tiempo.

¿Cuál es la diferencia entre parámetros y argumentos de una función?
Los parámetros son variables a las que se les asignará un valor. (Las funciones reciben parámetros al crearse)
Los Argumentos son los valores asignados a los parámetros al ejecutarse. (Las funciones reciben argumentos al ejecutarse)

*/

/*Convierte el siguiente código en una función, pero, cambiando cuando sea necesario las variables constantes por parámetros y argumentos en una función:*/

const names = "William G.";
const lastname = "Atuesta Lugo";
const completeName = names + lastname;
const nickname = "Will";

console.log("Mi nombre es " + completeName + ", pero prefiero que me digas " + nickname + ".");

// Función

function nombreCompleto(names, lastname){
  return names + " " + lastname;
}

function saludo(names, lastname, nickname){
  
  const completeName = nombreCompleto(names, lastname);
  console.log("Mi nombre es " + completeName + ", pero prefiero que me digas " + nickname + ".");

}

/*Responde las siguientes preguntas en la sección de comentarios:

¿Qué es un condicional?
Es un bloque de código el cual me permite tomar una desición u otra dependiendo de si cumple o no con la condición escrita.

¿Qué tipos de condicionales existen en JavaScript y cuáles son sus diferencias?
If (else, else if),
Nos permite hacer validaciones de variables distintas en cada condicional (si eso requerimos).

Switch (case)
En cambio usando Switch todos los case se validan con la misma variable o condición previamente definida en Switch .

Booleanos (true o false )

¿Puedo combinar funciones y condicionales?
Sí, las funciones pueden encapsular cualquier bloque de código incluidas condicionales.

*/

/*Replica el comportamiento del siguiente código que usa la sentencia switch utilizando if, else y else if:*/

const tipoDeSuscripcion = "Basic";

switch (tipoDeSuscripcion) {
   case "Free":
       console.log("Solo puedes tomar los cursos gratis");
       break;
   case "Basic":
       console.log("Puedes tomar casi todos los cursos de Platzi durante un mes");
       break;
   case "Expert":
       console.log("Puedes tomar casi todos los cursos de Platzi durante un año");
       break;
   case "ExpertPlus":
       console.log("Tú y alguien más pueden tomar TODOS los cursos de Platzi durante un año");
       break;
}

/* ELSE IF */
if (tipoDeSuscripcion == "Free") {
    console.log("Solo puedes tomar los cursos gratis");
} else if(tipoDeSuscripcion == "Basic"){
    console.log("Puedes tomar casi todos los cursos de Platzi durante un mes");
} else if (tipoDeSuscripcion == "Expert") {
    console.log("Puedes tomar casi todos los cursos de Platzi durante un año");
} else if(tipoDeSuscripcion == "ExpertPlus") {
    console.log("Tú y alguien más pueden tomar TODOS los cursos de Platzi durante un año");
}

/* IF */
function tipoSuscripcion(suscripcion) {
if (suscripcion == "Free"){
    console.log("Solo puedes tomar los cursos gratis");
	return;
}if (suscripcion == "Basic") {
    console.log("Puedes tomar casi todos los cursos de Platzi durante un mes");
return;
}if (suscripcion == "Expert"){
	console.log("Puedes tomar casi todos los cursos de Platzi durante un año");
return;
}if (suscripcion == "ExpertPlus") {
	console.log("Tú y alguien más pueden tomar TODOS los cursos de Platzi durante un año");
return;
}
console.warn('Este tipo de suscripción no existe');

};

/*Responde las siguientes preguntas en la sección de comentarios:

¿Qué es un ciclo?
Un bloque de código que itera n cantidad de veces a partir de una condición.

¿Qué tipos de ciclos existen en JavaScript?
for, while, do while

¿Qué es un ciclo infinito y por qué es un problema?
Sucede cuando no se controla me diante alguna condición valida el fin del ciclo

¿Puedo mezclar ciclos y condicionales?
Si

*/

/* Replica el comportamiento de los siguientes ciclos for utilizando ciclos while: */

for (let i = 0; i < 5; i++) {
    console.log("El valor de i es: " + i);
}

for (let i = 10; i >= 2; i--) {
    console.log("El valor de i es: " + i);
}

/* Ciclos while */

var i = 0;
while(i <= 5) {
	console.log("El valor de i es: " + i);	
	i++;
}

var j = 10;

while(j>= 0) {
	console.log("El valor de j es: " + j);	
	j--;
}

/* Escribe un código en JavaScript que le pregunte a los usuarios cuánto es 2 + 2. Si responden bien, mostramos un mensaje de felicitaciones, pero si responden mal, volvemos a empezar. */

var number = 0;
var respuesta = false;

while(!respuesta) {
	var userResp = prompt("¿Cuanto es 2 + 2?");
	if(userResp == 4){
		console.log("Correcto!! Felicidades!!! :D");
		respuesta = true;
	}
}

/* 
¿Qué es un array?
Una colección de datos organizados en forma contigua.

¿Qué es un objeto?
Una colección de datos y funciones que pertenecen de forma concreta al objeto.

¿Cuándo es mejor usar objetos o arrays?
Cuando se tienen listas simples y no relacionadas podemos usar arreglos y cuando la colección es de información concreta que forma parte del objeto y este tiene métodos y funciones además de valores es cuando usamos objetos.

¿Puedo mezclar arrays con objetos o incluso objetos con arrays?
Sí para cada caso se especifica como tipo de dato que almacenara en su sección o nivel dado.

*/

/*  
Crea una función que pueda recibir cualquier array como parámetro e imprima su primer elemento. 
*/

var marcas = ["Renault", "Mazda", "Toyota", "Hyundai", "Byd","Chevrolet"];

function listaMarcasCarro(miArray){
	
    console.log("Primer valor: "+ miArray[0]);
    
}

listaMarcasCarro(marcas);

/*
Crea una función que pueda recibir cualquier array como parámetro e imprima todos sus elementos uno por uno (no se vale imprimir el array completo). 
*/

var marcas = ["Renault", "Mazda", "Toyota", "Hyundai", "Chevrolet"];

function listaMarcasCarro(marcasArray){
	console.log("Lista de marcas: ");
	marcasArray.forEach(element => console.log(element));
}

listaMarcasCarro(marcas);

/*
Crea una función que pueda recibir cualquier objeto como parámetro e imprima todos sus elementos uno por uno (no se vale imprimir el objeto completo).
*/

var carro = {
    "Marca" : "Renault",
    "Modelo" : "Logan Expression",
    "Anio" : 2014,
    "Color" : "Rojo fuego",
    "Kilometraje" : 70000
}

function miObjeto(obj){
    console.log("Descripción del carro: ");
    for (var i in obj) {
        console.log(carro[i]);
    }
}

miObjeto(carro);

variables y operaciones

1️⃣ Responde las siguientes preguntas en la sección de comentarios:

¿Qué es una variable y para qué sirve?

Una variable es un espacio que se le asigna en la ram, de un determinado tipo (string, int, boolean, double)

¿Cuál es la diferencia entre declarar e inicializar una variable?

La diferencia entre declarar y inicializar una variable esta en que 	declarar una variable, es donde surge, donde se crea por primera 	vez, mientras que inicializarla es asignarle un valor a una variable 	que puede estar previamente creada o se crea en la misma linea. 

¿Cuál es la diferencia entre sumar números y concatenar strings?

La diferencia entre sumar numeros y concatenar strings esta en que sumar numeros, es un proceso matematico entre valores que genera un nuevo resultado (1+2=3). Por otra parte concatenar hace referencia a la union de dos valores (“1”+ “2”) y su output sera (12). 

¿Cuál operador me permite sumar o concatenar?

El operador que nos permite concatenar y sumar es el signo +

2️⃣ Determina el nombre y tipo de dato para almacenar en variables la siguiente información:

Nombre (String)

Apellido (String)

Nombre de usuario en Platzi (String)

Edad (Int)

Correo electrónico (String)

Mayor de edad (Boolean)

Dinero ahorrado (Double)

Deudas (Double)

3️⃣ Traduce a código JavaScript las variables del ejemplo anterior y deja tu código en los comentarios.

Var nombre = “”; 

Var apellido = “”; 

Var nombreUsuarioPlatzi = “”; 

Var edad = 0; 

Var correoElectronico = “”; 

Var mayorEdad = false; 

Var dineroAhorrado = 300000,00 

Var deudas = 15900,90 

4️⃣ Calcula e imprime las siguientes variables a partir de las variables del ejemplo anterior:


Nombre completo (nombre y apellido) 

console.log(nombre + “ “+ apellido); 

Dinero real (dinero ahorrado menos deudas) 

Let dineroReal = dineroAhorrado – deudas; 

Funciones

1️⃣ Responde las siguientes preguntas en la sección de comentarios:

¿Qué es una función?

Una funcion es un bloque de codigo que se crea para una funcion especifica y que puede ser llamado desde cualquier parte del codigo

¿Cuándo me sirve usar una función en mi código?

La funcion me sirve cuando quiero evitar codigo repetitivo, cuando quiero hacer un codigo escalable y mas limpio.

¿Cuál es la diferencia entre parámetros y argumentos de una función?

La diferencia entre parametros y argumentos esta en que los parametros son variables que se le dan a una funcion, mientras que los argumentos son los valores con los que operara dicha funcion.

2️⃣ Convierte el siguiente código en una función, pero, cambiando cuando sea necesario las variables constantes por parámetros y argumentos en una función:

const name = "Juan David";  

const lastname = "Castro Gallego";  

const completeName = name + lastname; 

const nickname = "juandc";  

console.log("Mi nombre es " + completeName + ", pero prefiero que me digas " + nickname + "."); 

/```
/Solucion

Function nameGamer (name, lastname, nickname){

					       completeName = name + “ ” + lastname; 

		       console.log(“Mi Nombre es ”+ completeName + “, pero prefiero que me digas ” + nickname + “.”); 

}

nameGamer(“Juan David”, “Castro Gallego”, “juandc”);

Condicionales 

1️⃣ Responde las siguientes preguntas en la sección de comentarios: 

¿Qué es un condicional? 

Una condicional es cuando se hace una validacion de verdadero o falso (“si esto se cumple haga esto” y “si esto no se cumple haga esto”.)  

¿Qué tipos de condicionales existen en JavaScript y cuáles son sus diferencias? 

Existen los condicionales if-else, else if o operador ternario(es para hacer algo si es verdadero o de lo contrario hacer otra cosa), se usa para ejecutar un bloque de codigo dependiendo si la condición se cumple o no mientras switch se usa mas para validar una variable y en caso de que no se cumpla se usa un default. 

¿Puedo combinar funciones y condicionales? 

Si, de hecho, es muy común de utilizar dentro de funciones condicionales, se combinan bien ya que una función permite ejecutar un bloque de código y evita que sea repetitivo, y en ocasiones dentro de la función se validan algunas condiciones dependiendo el caso. 

 

2️⃣ Replica el comportamiento del siguiente código que usa la sentencia switch utilizando if, else y else if: 

 

const tipoDeSuscripcion = “Basic”;

switch (tipoDeSuscripcion) {

case “Free”:

console.log(“Solo puedes tomar los cursos gratis”);

break;

case “Basic”:

console.log(“Puedes tomar casi todos los cursos de Platzi durante un mes”);

break;

case “Expert”:

console.log(“Puedes tomar casi todos los cursos de Platzi durante un año”);

break;

case “ExpertPlus”:

console.log(“Tú y alguien más pueden tomar TODOS los cursos de Platzi durante un año”); break; }

//solucion

Var tipoDeSuscripcion = prompt("");

if (tipoDeSuscripcion === “Free”) {

console.log(“Solo puedes tomar los cursos gratis”);

} else if (tipoDeSuscripcion === “Basic”) {

console.log(“Puedes tomar casi todos los cursos de Platzi durante un mes”);

} else if (tipoDeSuscripcion === “Expert”) {

console.log(“Puedes tomar casi todos los cursos de Platzi durante un año”);

} else if (tipoDeSuscripcion === “ExpertPlus”) {

console.log(“Tú y alguien más pueden tomar TODOS los cursos de Platzi durante un año”);

}

 

3️⃣ Replica el comportamiento de tu condicional anterior con if, else y else if, pero ahora solo con if (sin else ni else if). 

var suscripcionesPlatzi = {

Free: “Solo puedes tomar los cursos gratis”,

Basic: “Puedes tomar casi todos los cursos de Platzi durante un mes”,

Expert: “Puedes tomar casi todos los cursos de Platzi durante un año”,

ExpertPlus: “Tú y alguien más pueden tomar TODOS los cursos de Platzi durante un año”,

};

function suscripcion(tipoDeSuscripcion) {

if (tipoDeSuscripcion === “Free” || tipoDeSuscripcion === “Basic” || tipoDeSuscripcion === “Expert” || tipoDeSuscripcion === “ExpertPlus”) {

console.log(suscripcionesPlatzi[tipoDeSuscripcion]); 

}

}

suscripcion(“Free”);

Ciclos 

1️⃣ Responde las siguientes preguntas en la sección de comentarios: 

¿Qué es un ciclo? 
Un ciclo es un bucle que se repite un numero determinado de veces o mientras se cumpla determinada condición. 

¿Qué tipos de ciclos existen en JavaScript? 

Exiten 3  for (para un numero de repeticiones determinado), do while (Se ejecuta al menos una vez, y las sigueintes repeticiones dependen de si se sigue cumpliendo la condicion), while (mientras una condicion se cumpla, se seguirá repitiendo) 

¿Qué es un ciclo infinito y por qué es un problema? 

Un ciclo infinito o bucle infinito es un problema debido a los recursos que consume, puede ocasionar problemas en el rendimiento del dispositivo. 

¿Puedo mezclar ciclos y condicionales? 

Si, también es muy común usar dentro de ciclos condicionales, por el simple hecho de validar más de una vez alguna situación. 

 

2️⃣ Replica el comportamiento de los siguientes ciclos for utilizando ciclos while: 

for (let i = 0; i < 5; i++) {
console.log("El valor de i es: " + i);
}

for (let i = 10; i >= 2; i–) {
console.log("El valor de i es: " + i);
}

//Solucion

// Ciclo while equivalente al primer ciclo for

let i = 0;

while (i < 5) {

console.log("El valor de i es: " + i);

i++;

}

// Ciclo while equivalente al segundo ciclo for

let i = 10;

while (i >= 2) {

console.log("El valor de i es: " + i);

i–;

}

 

3️⃣ Escribe un código en JavaScript que le pregunte a los usuarios cuánto es 2 + 2. Si responden bien, mostramos un mensaje de felicitaciones, pero si responden mal, volvemos a empezar. 

💡 Pista: puedes usar la función prompt de JavaScript. 

Var respuesta = 0;

Do{

respuesta = prompt(“Cuando es 2 + 2? ”);

} (while respuesta !== 4)

Console.log(“felicitaciones”);

 

1️⃣ Responde las siguientes preguntas en la sección de comentarios: 

¿Qué es un array? 

Es una estructura de datos que permite almacenasuna serie de datos localizados por indices separados por comas 

¿Qué es un objeto? 

Un objeto es el conjunto de una o mas propiedades que componen el objeto, ejemplo un auto(tiene marca, placa, modelo, año). 

¿Cuándo es mejor usar objetos o arrays? 

Es mejor usar objetos en casos donde tengo las propiedades de algo, es decir que se haga relacion a la misma cosa, mientras que en un array seria mas bien una lista de muchos articulos sin que necesariamente tengan correlacion entre si. 

¿Puedo mezclar arrays con objetos o incluso objetos con arrays? 

 
Sí, se pueden mezclar objetos con arrays y viceversa. Esto puede ser útil en situaciones en las que se desea almacenar una colección de objetos relacionados, donde cada objeto puede tener sus propias propiedades y métodos, y se desea acceder a ellos a través de un índice numérico o una clave específica. Además, en JavaScript, un objeto puede contener tanto propiedades como métodos que devuelven o manipulan un array. 

 

2️⃣ Crea una función que pueda recibir cualquier array como parámetro e imprima su primer elemento. 

Var arrayX = [0, 1, 2, 3];

Function imprimePrimer (arrayX){

Console.log(arrayX[0]) 

}


3️⃣ Crea una función que pueda recibir cualquier array como parámetro e imprima todos sus elementos uno por uno (no se vale imprimir el array completo). 

function imprimeElementos(array) {

for (let i = 0; i < array.length; i++) {

console.log(array[i]); 

}

}

var arrayX = [0, 1, 2, 3];

imprimeElementos(arrayX); // imprime 0, 1, 2, 3 en líneas separadas

function imprimeElementos(array) {

for (let i = 0; i < array.length; i++) {

console.log(array[i]); 

}

}

var arrayX = [0, 1, 2, 3];

imprimeElementos(arrayX);

4️⃣ Crea una función que pueda recibir cualquier objeto como parámetro e imprima todos sus elementos uno por uno (no se vale imprimir el objeto completo). 

var objeto = { nombre: “Roberto”, balones: 60, precision: 100 };

function imprimeObjeto(objeto) {

for (var propiedad in objeto) {

console.log(propiedad + ": " + objeto[propiedad]); 

}

}

imprimeObjeto(objeto);

1️⃣ Responde las siguientes preguntas en la sección de comentarios:
¿Qué es una variable y para qué sirve?
Es un espacio que se crea para almacenar algún tipo de dato, podemos compararlo como una caja que se crea en la memoría ram para ir almacenando.
¿Cuál es la diferencia entre declarar e inicializar una variable?
Cuando se declara le dices al lenguajes que esa variable existe, le estás notificando de su existencia y cuando inicializas le asignas un valor a una variable
¿Cuál es la diferencia entre sumar números y concatenar strings?
Cuando sumamos números con un lenguaje de programación simplemente hacemos la operación matemática básica, pero cuando concatenamos estamos juntando piezas de string para que el lenguaje lo pueda unir todo y represantarlo como una sola cadena de texto
¿Cuál operador me permite sumar o concatenar?
Usamos el operador +

2️⃣ Determina el nombre y tipo de dato para almacenar en variables la siguiente información:
Nombre (let nombre; // tipo string)
Apellido (let apellido; //tipo string)
Nombre de usuario en Platzi (let usuarioEnPlatzi; //tipo string)
Edad (let edad; //tipo number)
Correo electrónico (let correoElectronico; //tipo string)
Mayor de edad (let mayoriaDeEdad; //tipo boolean)
Dinero ahorrado (let ahorros; //tipo number)
Deudas (let deudas = [ ]; //tipo array)
La última depende porque puedo guardar las deudas por separado en un array o también puedo tener la suma de todas ellas en una variable de tipo number >> let deudas;

ostia. esto fue el primer muro en programación que encontré.
pero pase el 70% vamos por mas

Variables y operaciones
1️⃣ Responde las siguientes preguntas en la sección de comentarios:
¿Qué es una variable y para qué sirve?
Es un espacio reservado de memoria que nos permite almacenar información y puede ser de diferentes tipos de datos.
¿Cuál es la diferencia entre declarar e inicializar una variable?
El declarar la variable reservamos un espacio en memoria y le ponemos el nombre.
Al inicializar la variable, le asignamos un valor y el tipo de dato que le corresponde.
¿Cuál es la diferencia entre sumar números y concatenar strings?
Usan el mismo operador, todo depende del tipo de dato y la coerción.
¿Cuál operador me permite sumar o concatenar?
El operador logico “+”.

2️⃣ Determina el nombre y tipo de dato para almacenar en variables la siguiente información:
Nombre - String
Apellido - String
Nombre de usuario en Platzi - String
Edad - Number
Correo electrónico - String
Mayor de edad - Boolean
Dinero ahorrado - Number
Deudas - Number
3️⃣Traduce a código JavaScript las variables del ejemplo anterior y deja tu código en los comentarios.

let nombre= "ChristOs";
let apellido= "Carmona";
let usuario= "christosdev";
let edad= 29;
let email = "[email protected]"
let adulto= true;
let dineroAhorrado= 2000;
let desudas= 150;

4️⃣ Calcula e imprime las siguientes variables a partir de las variables del ejemplo anterior:

let nombre = "Christopher";
let apellido = "Carmona";
let dineroAhorrado= 2000;
let deudas = 150;
let dineroTotal= dineroAhorrado - deudas;

console.log(`Hola, mi nombre completo es ${nombre} ${apellido}, y mi dinero total es: $`+dineroTotal); 

Funciones

1️⃣ Responde las siguientes preguntas en la sección de comentarios:
¿Qué es una función?
Es un conjunto de acciones que nos permitirá reutilizar en nuestro código y siempre deben devolver un resultado. Podemos crear diferentes funciones con parámetros distintos y luego utilizar la información para realizar un evento o acción dentro de nuestro código.
¿Cuándo me sirve usar una función en mi código?
Cuando es un proceso que tiene que repetirse o es una operación complicada que requiere de valores variables.
¿Cuál es la diferencia entre parámetros y argumentos de una función?
Los parametros son variables que ya fueron inicializadas y existen fuera del entorno local de la funcion. Los argumentos son datos unicos de la funcion que existen para realizar las operaciones de la misma.

2️⃣ Convierte el siguiente código en una función, pero, cambiando cuando sea necesario las variables constantes por parámetros y argumentos en una función:

const name = "Christopher";
const lastname = "Carmona Lopez";
const completeName = name + lastname;
const nickname = "christosdev";

function saludo  (completeName  nickname) {
return console.log("Mi nombre es " + completeName + ", pero prefiero que me digas " + nickname + ".");
}

saludo  (completeName , nickname);

Condicionales
1️⃣ Responde las siguientes preguntas en la sección de comentarios:

¿Qué es un condicional?
Es una exprecion que permite evaluar si una operacion es verdadera o falsa y que hacer en determinados casos.
¿Qué tipos de condicionales existen en JavaScript y cuáles son sus diferencias?
if - Condicional que evalua si una operacion se cumple en caso de ser verdadero hace una sentencia en caso contrario un valor default.
elseif - es un if anidado que permite hacer otra evaluzación
else - el valor “default” en caso de ser falsa la respuesta de la operacion.
switch - compara entre valores especificos y en caso de encontrar coincidencia hacer una operacion especifica. Tambien cuenta con un valor “default” que se detona en caso de no encontrar coincidencias.
¿Puedo combinar funciones y condicionales?
Si, se puede usar una funcion para hacer la operacio o bien se puede poner condiciones dentro de una función.
2️⃣ Replica el comportamiento del siguiente código que usa la sentencia switch utilizando if, else y else if:

const suscripcion = "Basic";

if (suscripcion === 'Free') {
  console.log("Solo puedes tomar los cursos gratis");
} else if (suscripcion === 'Basic') {
  console.log("Puedes tomar casi todos los cursos de Platzi durante un mes");
} else if (suscripcion === 'Expert') {
  console.log("Puedes tomar casi todos los cursos de Platzi durante un año");
} else {
  console.log("Tú y alguien más pueden tomar TODOS los cursos de Platzi durante un año");
}

3️⃣ Replica el comportamiento de tu condicional anterior con if, else y else if, pero ahora solo con if (sin else ni else if).

const tipoSuscripcion = {
	Free: 'solo puedes tomar los cursos gratis',
	Basic: 'puedes tomar casi todos los cursos de Platzi durante un mes',
	Expert: 'puedes tomar casi todos los cursos de Platzi durante un año',
	ExpertPlus:
		'tú y alguien más pueden tomar TODOS los cursos de Platzi durante un año',
};

let suscripcion = ["Free","Basic","Expert","ExpertPlus"];


function descripcion (tipoSuscripcion, suscripcion){
    Object.keys(tipoSuscripcion).find((plan) => {
      if (plan == suscripcion) {
        return console.log(tipoSuscripcion[plan]);
      }
    });
}
descripcion (tipoSuscripcion, suscripcion[0]); 

Ciclos
1️⃣ Responde las siguientes preguntas en la sección de comentarios:

¿Qué es un ciclo?
Es una sentencia que nos permite hacer ciclicamente una operacion mientras se cumpla una condicion.
¿Qué tipos de ciclos existen en JavaScript?
for y while
¿Qué es un ciclo infinito y por qué es un problema?
Un proceso en que nunca deja de cumplirse la condicion y es un problema por que no permite que el flujo de l codigo trabaje comunmmente aparte de utilizar recursos hasta que ya no puedas mas
¿Puedo mezclar ciclos y condicionales?
Si

2️⃣ Replica el comportamiento de los siguientes ciclos for utilizando ciclos while:

let i = 0;
while (i < 5) {
  i++;
  console.log(`El valor de i es: ${i}`)
}
let i = 10;
while (i >= 2) {
  i--;
  console.log(`El valor de i es: ${i}`)
} 

3️⃣ Escribe un código en JavaScript que le pregunte a los usuarios cuánto es 2 + 2. Si responden bien, mostramos un mensaje de felicitaciones, pero si responden mal, volvemos a empezar.

const resp = 4;
let questions = "Cuanto es 2 + 2";

function Pregunta() {
    let usrInput = prompt(questions);
    if (usrInput != resp){
        alert("Sigue practicando!");
        Pregunta();
    }
    else{
        alert("Felicitaciones!");
    }
  }

  Pregunta();

Listas
1️⃣ Responde las siguientes preguntas en la sección de comentarios:

¿Qué es un array?
Un array es una colecciones de elementos con valores de una sola variable. Se escriben dentro de [ … ], separado por una coma.
¿Qué es un objeto?
Es una colección de datos relacionados con múltiples variables con sus valores.
¿Cuándo es mejor usar objetos o arrays?
Ocupamos objetos cuando el conjunto de elementos es muy grande y de distintos tipos de valores.
¿Puedo mezclar arrays con objetos o incluso objetos con arrays?
2️⃣ Crea una función que pueda recibir cualquier array como parámetro e imprima su primer elemento.
3️⃣ Crea una función que pueda recibir cualquier array como parámetro e imprima todos sus elementos uno por uno (no se vale imprimir el array completo).
4️⃣ Crea una función que pueda recibir cualquier objeto como parámetro e imprima todos sus elementos uno por uno (no se vale imprimir el objeto completo).

 // 1

  let numeros = [20, 2, 7, 9, 10, 78];
  function readArray(array){
    console.log(array[0])
  }
  readArray(numeros);

// 2
let numeros = [20, 2, 7, 9, 10, 78];
function readArray(array) {
  for (let i = 0; i < array.length; i++) {
    console.log(`${i + 1} ${array[i]}`)
  }
}
readArray(myArray);

// 3

let alumno = {
  nombre: 'christopher',
  apellido: 'Carmona',
  edad: 29
};
function readObject(alumno) {
  for (let key in object) {
    console.log(object[key]);
 	}
 }
readObject(alumno);

Variables y operaciones
1-Responde las siguientes preguntas en la sección de comentarios:
¿Qué es una variable y para qué sirve?
Es una espacio de memoria reservado para almacenar datos temporales.

¿Cuál es la diferencia entre declarar e inicializar una variable?
Declarar una variable es cuando se crea e inicializar es cuando se le asigna el valor y tipo de dato.

¿Cuál es la diferencia entre sumar números y concatenar strings?
Al sumar numeros obtendremos resultados de la suma entre números. Por ejemplo 1 + 1 = 2
Al concatenar strings estaremos sumando tipo de datos caracter a nuestro string. Por ejemplo “cas” + “a” = “casa”

¿Cuál operador me permite sumar o concatenar?
El operador “+”

2-Determina el nombre y tipo de dato para almacenar en variables la siguiente información:
Nombre = string
Apellido = string
Nombre de usuario en Platzi = string
Edad = integer
Correo electrónico = string
Mayor de edad = boolean
Dinero ahorrado = float
Deudas = float

3-Traduce a código JavaScript las variables del ejemplo anterior y deja tu código en los comentarios.
var nombre = "Martin"
var apellido = "Bonansea"
var userPlatzi = "martinbonansea"
var edad = 47
var correo = "[email protected]"
var mayorEdad = True
var ahorros = 10000
var deudas = 1000

4-Calcula e imprime las siguientes variables a partir de las variables del ejemplo anterior:
Nombre completo (nombre y apellido)
Dinero real (dinero ahorrado menos deudas)

var nombreCompleto = nombre + apellido
var dineroReal = ahorros - deudas
console.log(nombreCompleto, dineroReal);

Funciones
1-Responde las siguientes preguntas en la sección de comentarios:
¿Qué es una función?
Es un grupo de instrucciones que devuelve un valor.

¿Cuándo me sirve usar una función en mi código?
Cuando tenga un proceso que deba realizar reiteras veces, entonces en lugar de repetir el codigo tantas veces lo preciso, lo encapsulo en una funcion.

¿Cuál es la diferencia entre parámetros y argumentos de una función?
Los parámetros son los valores estipulados que espera recibir la funcion.
Los argumentos son los valores que enviamos a la función.

2-Convierte el siguiente código en una función, pero, cambiando cuando sea necesario las variables constantes por parámetros y argumentos en una función:

<code> 

const name = "Juan David";
const lastname = "Castro Gallego";
const completeName = name + lastname;
const nickname = "juandc";

//console.log("Mi nombre es " + completeName + ", pero prefiero que me digas " + nickname + ".");

function myNameIs(nombre, apodo) {
	console.log("Mi nombre es " + nombre + ", pero prefiero que me digas " + apodo + ".");
}

myNameIs(completeName, nickname);

Condicionales
1-Responde las siguientes preguntas en la sección de comentarios:
¿Qué es un condicional?
Es una instruccion que nos permite evaluar si una comparación es verdadera o falsa para poder tomar una descición.

¿Qué tipos de condicionales existen en JavaScript y cuáles son sus diferencias?
if : evalua una condicion devolviendo verdadero o falso.
switch : evalua multiples condiciones.
for y while : evaluan la condicion establecida y mientras esta se cumpla proporciona lugar para que se repitan instrucciones, es una construcción de bucle.

¿Puedo combinar funciones y condicionales?
Si.

2-Replica el comportamiento del siguiente código que usa la sentencia switch utilizando if, else y else if:
const tipoDeSuscripcion = “Basic”;

switch (tipoDeSuscripcion) {
case “Free”:
console.log(“Solo puedes tomar los cursos gratis”);
break;
case “Basic”:
console.log(“Puedes tomar casi todos los cursos de Platzi durante un mes”);
break;
case “Expert”:
console.log(“Puedes tomar casi todos los cursos de Platzi durante un año”);
break;
case “ExpertPlus”:
console.log(“Tú y alguien más pueden tomar TODOS los cursos de Platzi durante un año”);
break;
}

const tipoDeSuscripcion = “basic”;
if (tipoDeSuscripcion == “Free”) {
return “solo puedes tomar los cursos gratis”;
}else if(tipoDeSuscripcion == “Basic”) {
return “puedes tomar casi todos los cursos de Platzi durante un mes”;
}else if(tipoDeSuscripcion == “Expert”) {
return “puedes tomar casi todos los cursos de Platzi durante un año”;
}else if(tipoDeSuscripcion == “ExpertPlus”) {
return “Tú y alguien mas pueden tomar TODOS los cursos de Platzi durante un año”;
}

Replica el comportamiento de tu condicional anterior con if, else y else if, pero ahora solo con if (sin else ni else if).
💡 Bonus: si ya eres una experta o experto en el lenguaje, te desafío a comentar cómo replicar este comportamiento con arrays u objetos y un solo condicional.

const tipoDeSuscripcion = “basic”;

if (tipoDeSuscripcion == “Free”) {
return “solo puedes tomar los cursos gratis”;
}
if(tipoDeSuscripcion == “Basic”) {
return “puedes tomar casi todos los cursos de Platzi durante un mes”;
}
if(tipoDeSuscripcion == “Expert”) {
return “puedes tomar casi todos los cursos de Platzi durante un año”;
}
if(tipoDeSuscripcion == “ExpertPlus”) {
return “Tú y alguien mas pueden tomar TODOS los cursos de Platzi durante un año”;
}

Ciclos
1-Responde las siguientes preguntas en la sección de comentarios:
¿Qué es un ciclo?
Un grupo de instrucciones que se repiten constantemente, loop.

¿Qué tipos de ciclos existen en JavaScript?
for y while.

¿Qué es un ciclo infinito y por qué es un problema?
Es un grupo de instrucciones que se repiten sin fin, sin detenerse. Todo cliclo debe tener un condicional para detenerlo.

¿Puedo mezclar ciclos y condicionales?
Si.

2-Replica el comportamiento de los siguientes ciclos for utilizando ciclos while:
for (let i = 0; i < 5; i++) {
console.log("El valor de i es: " + i);
}

for (let i = 10; i >= 2; i–) {
console.log("El valor de i es: " + i);
}

var i = 0;
while (i < 5) {
i++;
console.log("El valor de i es: " + i);
}
var i = 10;
while (i >= 2) {
i–;
console.log("El valor de i es: " + i);
}

3-Escribe un código en JavaScript que le pregunte a los usuarios cuánto es 2 + 2. Si responden bien, mostramos un mensaje de felicitaciones, pero si responden mal, volvemos a empezar.
💡 Pista: puedes usar la función prompt de JavaScript

var usuarioResponde = parseInt(prompt("Cuanto es 2 + 2 ??? "))
var respuestaok = 4
function validarResp(usuario, respuesta) {
while(usuario === respuesta) {
return console.log(“Felicitaciones !!!”);
}
return console.log(“Respuesta errónea”);
}
validarResp(usuarioResponde, respuestaok);

Listas
Responde las siguientes preguntas en la sección de comentarios:
¿Qué es un array?
Es un objeto donde guardamos una coleccion de datos.

¿Qué es un objeto?
Es una entidad con propiedades y tipos.

¿Cuándo es mejor usar objetos o arrays?
Es mejor usar objetos cuando debemos encapsular nuestro codigo o procesos en metodos.
Los arrays es mas utilizables cuando tenemos una coleccion de datos.

¿Puedo mezclar arrays con objetos o incluso objetos con arrays?
Si.

2 Crea una función que pueda recibir cualquier array como parámetro e imprima su primer elemento.
var nombres = [‘Martin’,‘Juan Carlos’, ‘Ismael’, ‘Fito Paez’];

function imprimirNombres(nombres){
console.log(nombres[0]);
}
imprimirNombres(nombres);

3 Crea una función que pueda recibir cualquier array como parámetro e imprima todos sus elementos uno por uno (no se vale imprimir el array completo).

var nombres = [‘Martin’,‘Juan Carlos’, ‘Ismael’, ‘Fito Paez’];

function imprimirNombres(nombres){
for (i = 0; i < nombres.length; i++){
console.log(nombres[i]);
}
}
imprimirNombres(nombres);

4 Crea una función que pueda recibir cualquier objeto como parámetro e imprima todos sus elementos uno por uno (no se vale imprimir el objeto completo).
var nombres = {
nombre: ‘Martin’,
direccion: ‘Pellegrini 833’,
ciudad: ‘Rosario’
};

function imprimirObjeto(objeto){
for ( key in objeto){
console.log(objeto[key]);
}
}
imprimirObjeto(nombres);

3️⃣ Replica el comportamiento de tu condicional anterior con if, else y else if, pero ahora solo con if (sin else ni else if).
💡 Bonus: si ya eres una experta o experto en el lenguaje, te desafío a comentar cómo replicar este comportamiento con arrays u objetos y un solo condicional. 😏

const tipoDeSuscripcion = [
{
tipo: ‘Free’,
msge: ‘Solo puedes tomar los cursos’
},
{
tipo: ‘Basic’,
msge: ‘Puedes tomar casi todos los cursos de Platzi durante un mes’
},
{
tipo: ‘Expert’,
msge: ‘Puedes tomar casi todos los cursos de Platzi durante un año’
}
]

function tipo (subs){
tipoDeSuscripcion.filter(function (sub){
if (sub.tipo === subs){
console.log(sub.msge);
}
})
}

tipo (“Free”)
tipo (“Basic”)
tipo (“Expert”)

VARIABLES Y OPERACIONES
1️⃣ Responde las siguientes preguntas en la sección de comentarios:

  • ¿Qué es una variable y para qué sirve?
    Una variable es la representación de un lugar que se reserva en la memoria y sirve para guardar un valor, esta puede ser un objeto, tipos de datos o funciones

  • ¿Cuál es la diferencia entre declarar e inicializar una variable?
    Para declarar una variable usamos la palabra reservada “var” con ella indicamos que los que sigue a continuación va a ser una variable, y para inicializarla o asignarle un valor usamos le símbolo “=” con esto le asignamos un valor a la variable que puede ser un string o number, una función o un objeto.

  • ¿Cuál es la diferencia entre sumar números y concatenar strings?
    Para mi la diferencia es que cuando sumamos usamos datos de tipo number, y cuando contatenamos usamos datos de tipo string que se reconocen porque están dentro de comillas “” y en ambos casos usamos el operador +.

  • ¿Cuál operador me permite sumar o concatenar?
    En ambos casos con el operador de suma o +

2️⃣ Determina el nombre y tipo de dato para almacenar en variables la siguiente información:
Nombre: String
Apellido: String
Nombre de usuario en Platzi: String
Edad: Number
Correo electrónico: String
Mayor de edad: Boolean
Dinero ahorrado: Number
Deudas: Number

3️⃣ Traduce a código JavaScript las variables del ejemplo anterior y deja tu código en los comentarios.

4️⃣ Calcula e imprime las siguientes variables a partir de las variables del ejemplo anterior:

  • Nombre completo (nombre y apellido)

  • Dinero real (dinero ahorrado menos deudas)

FUNCIONES
1️⃣ Responde las siguientes preguntas en la sección de comentarios:

  • ¿Qué es una función?
    Son bloques de código que solucionan un problema puntual para ser reutilizados

  • ¿Cuándo me sirve usar una función en mi código?
    Podemos hacer uso de una función cada vez que queramos resolver un problema, crear un ciclo o hacer una tarea repetidas veces.

  • ¿Cuál es la diferencia entre parámetros y argumentos de una función?
    Los parámetros son las variables a la cuales se les asignará un valor, y los argumentos son esos valores asignados a los parámetros al momento en que se corre una función.

2️⃣ Convierte el siguiente código en una función, pero, cambiando cuando sea necesario las variables constantes por parámetros y argumentos en una función:

CONDICIONALES
1️⃣ Responde las siguientes preguntas en la sección de comentarios:

  • ¿Qué es un condicional?
    Son estructuras de control que te permiten evaluar diferentes expresiones y realizar determinadas acciones en JS.

  • ¿Qué tipos de condicionales existen en JavaScript y cuáles son sus diferencias?
    Existen If, Else, Else If, el operador ternario y Switch.
    • If, Else, Else If: Sirven para evaluar expresiones tantas veces como sea necesario en varias líneas de código.
    • Operador ternario: Sirve para evaluar una condición de una manera rápida en una línea de código.
    • Switch: Sirve para evaluar también condiciones la diferencia es que deben ser iguales a un caso o algo específico.

  • ¿Puedo combinar funciones y condicionales?
    Se puede hacer que la función me retorne un condicional dado el caso en que sea necesario.

2️⃣ Replica el comportamiento del siguiente código que usa la sentencia switch utilizando if, else y else if:

3️⃣ Replica el comportamiento de tu condicional anterior con if, else y else if, pero ahora solo con if (sin else ni else if).
💡 Bonus: si ya eres una experta o experto en el lenguaje, te desafío a comentar cómo replicar este comportamiento con arrays u objetos y un solo condicional. 😏

CICLOS
1️⃣ Responde las siguientes preguntas en la sección de comentarios:

  • ¿Qué es un ciclo?
    Es una estructura de control que se repite tantas veces hasta que cumpla una condición.

  • ¿Qué tipos de ciclos existen en JavaScript?
    Existen dos tipos de ciclos: For y While

  • ¿Qué es un ciclo infinito y por qué es un problema?
    Un ciclo infinito es aquel en el que no existirá nunca una condición que ponga fin a la iteración, esto lo que genera es que el computador que cuelgue porque va a estar haciendo esta tarea sin fin.

  • ¿Puedo mezclar ciclos y condicionales?
    Yo pienso que si se nos puede dar un caso en el que usemos un If y si se cumple la condición de ese If se ejecute un For o un While. Se me ocurre algo como el ejemplo visto de un evento con una lista de invitados, podemos tener un array con todos los nombres de los invitados y usamos el condicional If para que nos arroje si X persona puede o no puede entrar al evento, en el caso de que si pueda entrar entonces usamos un for para que busque dentro del array si esta persona esta en la lista. Esto es solo por citar un ejemplo.

2️⃣ Replica el comportamiento de los siguientes ciclos for utilizando ciclos while:

3️⃣ Escribe un código en JavaScript que le pregunte a los usuarios cuánto es 2 + 2. Si responden bien, mostramos un mensaje de felicitaciones, pero si responden mal, volvemos a empezar.
💡 Pista: puedes usar la función prompt de JavaScript.

LISTAS
1️⃣ Responde las siguientes preguntas en la sección de comentarios:

¿Qué es un array?
Es una estructura de datos que permite almacenar una serie de datos localizados por índices y separados por comas.

  • ¿Qué es un objeto?
    Es una estructura de datos que permite almacenar valores mediante propiedad - valor a través de la sintaxis de llaves ({}) y separados por comas.

  • ¿Cuándo es mejor usar objetos o arrays?
    Es mejor usar objetos cuando el conjunto de elementos es muy grande y de distintos tipos de valores.

  • ¿Puedo mezclar arrays con objetos o incluso objetos con arrays?
    Sí porque los arrays pueden guardar objetos. Y los objetos pueden guardar arrays entre sus propiedades.

2️⃣ Crea una función que pueda recibir cualquier array como parámetro e imprima su primer elemento.

3️⃣ Crea una función que pueda recibir cualquier array como parámetro e imprima todos sus elementos uno por uno (no se vale imprimir el array completo).

4️⃣ Crea una función que pueda recibir cualquier objeto como parámetro e imprima todos sus elementos uno por uno (no se vale imprimir el objeto completo).

TEST DE JAVASCRIPT
—Variable y operaciones—
1)
#¿Qué es una variable y para qué sirve?

  • Una variable es un espacio de memoria que se le asigna un nombre para poder usarlo en operaciones logicas.
    #¿Cuál es la diferencia entre declarar e inicializar una variable?
  • La diferencia es que mientras una puede variar su valor en operaciones la otro no, se quedara de manera estatica en el valor asignado.

¿Cuál es la diferencia entre sumar números y concatenar strings?

  • Que uno requiere la asignacion de una nueva variable para guardar este valor mientras que el otro solo concatena los valores si operarlos.

¿Cuál operador me permite sumar o concatenar?

  • El operador de la suma (+)
    // Como se explica en cursos anteriores las varibles deben ser nombradas de manera muy especificada dado que en la depuracion del codigo necesitamos entender a que se refiere cada varible y esto es una buena practica usada muy a menudo, tambien es recomendable usar nombres en ingles (eceptuando los ya reservados por el propio lenguaje ) ya que es mas usado este lenguaje dentro del mundo tech. //
    2-3)
    var name = nombre;
    var lastName = apellido;
    var userName = usuario;
    let age = edad;
    let email = correo;
    var 18age = adulto;
    var saved =dineroAhorrado;
    var debts = deudas;
    var money = dinero;

console.log ("name " + “lastName”);
money = saved-debts;
console.log (money);
—Funciones—
1)
#¿Qué es una función?

  • Una función es un compendio de instrucciones que se desarrollan mediante su llamado y no en cascada.

¿Cuándo me sirve usar una función en mi código?

  • Cuando tengo una tarea repetitiva y necesito usar el código múltiples veces.
    #¿Cuál es la diferencia entre parámetros y argumentos de una función?
  • Los parametros son los datos que la funcion va a requerir mientras que los argumentos son los valores que le damos a la funcion para que los opere es decir los valores que pusimos como paramentros.

const name = “Juan David”;
const lastname = “Castro Gallego”;
const completeName = name + lastname;
const nickname = “juandc”;

console.log("Mi nombre es " + completeName + ", pero prefiero que me digas " + nickname + “.”);
function presentacion (name, lastName, completeName, nickName){
console.log("Mi nombre es " + completeName + ", pero prefiero que me digas " + nickname + “.”);
}
—Condicionales—
1)
#¿Qué es un condicional?

  • Es una condicion que se le asigna a una varibble para que realice una tarea dependiendo de si cumple o no el condicional.
    #¿Qué tipos de condicionales existen en JavaScript y cuáles son sus diferencias?
  • existen 3 (if, If-else, Swicht)
    la principal diferencia es su sintaxis ya que todos se encargan de evaluar y dependiendo de esa evaluacion realizar una u otra tarea
    #¿Puedo combinar funciones y condicionales?
  • Si, esto se le conoce como condicional anidado

const tipoDeSuscripcion = “Basic”;

switch (tipoDeSuscripcion) {
case “Free”:
console.log(“Solo puedes tomar los cursos gratis”);
break;
case “Basic”:
console.log(“Puedes tomar casi todos los cursos de Platzi durante un mes”);
break;
case “Expert”:
console.log(“Puedes tomar casi todos los cursos de Platzi durante un año”);
break;
case “ExpertPlus”:
console.log(“Tú y alguien más pueden tomar TODOS los cursos de Platzi durante un año”);
break;
}
if (tipoDeSuscripcion == Free ){
console.log(“Solo puedes tomar los cursos gratis”);
}
else if (tipoDeSuscripcion == Basic ){
console.log(“Puedes tomar casi todos los cursos
de Platzi durante un mes”);
}
else if (tipoDeSuscripcion == Expert ){
console.log(“Puedes tomar casi todos los cursos de Platzi durante un año”);
}
else{
console.log(“Tú y alguien más pueden tomar TODOS los cursos de Platzi durante un año”);
}
—Ciclos—
1)
#¿Qué es un ciclo?

  • Un ciclo es una etapa repetitiva del codigo que se usa para hacer tareas de manera rapida que requieran su comprobaciones constante.

¿Qué tipos de ciclos existen en JavaScript?

  • Existen dos (for, While)

¿Qué es un ciclo infinito y por qué es un problema?

  • Un ciclo infinito es una tarea que se repite de tal manera que nunca termina y esto evita que demas tareas posteriores se realicen.

¿Puedo mezclar ciclos y condicionales?

  • Si, es lo que mas se realiza en el codigo.

for (let i = 0; i < 5; i++) {
console.log("El valor de i es: " + i);
}

for (let i = 10; i >= 2; i–) {
console.log("El valor de i es: " + i);
}
let i= 1;
while (i<5){
console.log("El valor de i es: " + i);
i++;
}
let i=10;
while(i>=2){
console.log("El valor de i es: " + i);
}

TEST DE JAVASCRIPT
Variables y operaciones

  1. Responde las siguientes preguntas en la sección de comentarios:

¿Qué es una variable y para qué sirve?
Una variable son ubicaciones de almacenamiento en la memoria de la computadora, se utilizan para guardar valores los cuales se pueden utilizar mas tarde en el programa.
¿Cuál es la diferencia entre declarar e inicializar una variable?
cuando declaramos una variable estamos haciendo específicos en cual será su nombre, cuando inicializamos la variable en ese momento le estamos asignando un valor.
¿Cuál es la diferencia entre sumar números y concatenar strings?
En que la suma nos permite llegar al resultado de la sumatoria de dos valores numéricos, mientras que la concatenación nos permite unir dos valores de tipo texto y numérico.
¿Cuál operador me permite sumar o concatenar?
El operador aritmético de la suma (+).

  1. Determina el nombre y tipo de dato para almacenar en variables
    la siguiente información:
Nombre = "string"
Apellido = "string"
Nombre de usuario en Platzi = "string"
Edad = "number"
Correo electrónico = "string"
Mayor de edad = "boolean"
Dinero ahorrado = "number"
Deudas = "number"

3️. Traduce a código JavaScript las variables del ejemplo anterior y deja tu código en los comentarios.

var nombre = "Wilman"
var apellido = "García"
var userPlatzi = "Wilman García"
var edad = "300"
var email = "[email protected]"
var mayorEdad = "true"
var dineroAhorrado = "70"
var deudas = "1000"
  1. Calcula e imprime las siguientes variables a partir de las variables
    del ejemplo anterior:
  2. Nombre completo (nombre y apellido).
var nombre = "Wil";
var apellido = "García";
var nombreCompleto = (nombre + " " + apellido);
console.log(nombreCompleto);
  1. Dinero real (dinero ahorrado menos deudas).
var dineroAhorrado = 150000
var deudas = 700
var dineroReal = (dineroAhorrado - deudas);
console.log(dineroReal);

Funciones

1️. Responde las siguientes preguntas en la sección de comentarios:

a. ¿Qué es una función?
Una función es un bloque de código que realiza alguna operación.
b. ¿Cuándo me sirve usar una función en mi código?
Las funciones se usan para realizar una tarea especifica.
c. ¿Cuándo me sirve usar una función en mi código?
Los parámetros son los nombres que aparecen en la definición de una función. Por su parte, los argumentos son los valores que le pasamos (y que, por tanto, recibe) una función.

2️. Convierte el siguiente código en una función, pero, cambiando cuando sea necesario las variables constantes por parámetros y argumentos en una función:


function quienEres(name, lastname, nickname){
	completeName = (name + " " + lastname);
	return "Mi nombre es " + completeName + ", pero prefiero que me digas " + nickname + ".";
}

var resultado = quienEres("Wilman", "Garcia", "Wil");
console.log(resultado);

Condicionales

1️. Responde las siguientes preguntas en la sección de comentarios:

a. ¿Qué es un condicional?
Una condicional nos permite tomar decisiones a partir de una comparación o a partir de una operación.

b. ¿Qué tipos de condicionales existen en JavaScript y cuáles son sus diferencias?
if/else y switch.
Las diferencias son en el uso, si debes elegir entre varias opciones posibles
dependiendo de una o varias condiciones, se usaría CASE, ya que permite juntar de manera más fácil las distintas opciones. Ahora si debes comprobar que una
condición es verdadera o falsa y según esto asignar un valor, se usaría IF.

c. ¿Puedo combinar funciones y condicionales?
Si claro.

2️. Replica el comportamiento del siguiente código que usa la sentencia switch utilizando if, else y else if:

Ejemplo:

const tipoDeSuscripcion = "Basic";

switch (tipoDeSuscripcion) {
   case "Free":
       console.log("Solo puedes tomar los cursos gratis");
       break;
   case "Basic":
       console.log("Puedes tomar casi todos los cursos de 	Platzi durante un mes");
       break;
   case "Expert":
       console.log("Puedes tomar casi todos los cursos de Platzi durante un año");
       break;
   case "ExpertPlus":
       console.log("Tú y alguien más pueden tomar TODOS los cursos de Platzi durante un año");
       break;
}

Con if:

var tipoSuscripcion = "Basic";

if (tipoSuscripcion === "ExpertPlus"){
	console.log("Tú y alguien más pueden tomar TODOS los cursos de Platzi durante un año");
	}else if (tipoSuscripcion === "Expert"){
		console.log("Puedes tomar casi todos los cursos de Platzi durante un año");
	}else if (tipoSuscripcion === "Basic"){
		console.log("Puedes tomar casi todos los cursos de Platzi durante un mes");
	}else if (tipoSuscripcion === "Free"){
		console.log("Solo puedes tomar los cursos gratis");
	}else{
		console.log("Error con el tipo de Suscripcion");
}

3️. Replica el comportamiento de tu condicional anterior con if, else y else if, pero ahora solo con if (sin else ni else if). Bonus: si ya eres una experta o experto en el lenguaje, te desafío a comentar cómo replicar este comportamiento con arrays u objetos y un solo condicional.

  
var tipoSuscripcion = ["Free","Basic", "Expert", "ExpertPlus"];
var infoSuscripcion = [
"solo puedes tomar los cursos gratis", 
"puedes tomar casi todos los cursos de Platzi durante un mes", 
"puedes tomar casi todos los cursos de Platzi durante un año", 
"tú y alguien más pueden tomar TODOS los cursos de Platzi durante un año"];
let usuarioSuscripcion = "Expert";
for (let i=0; i < tipoSuscripcion.length; i++) {
  if (usuarioSuscripcion == tipoSuscripcion[i]) {
  	console.log(`Si tienes la suscripcion tipo ${tipoSuscripcion[i] + ","}  tendras acceso a: ${infoSuscripcion[i]}`)
  }
}

Ciclos

1️. Responde las siguientes preguntas en la sección de comentarios:

a. ¿Qué es un ciclo?
Un bucle o ciclo, en programación, es una secuencia de instrucciones de código que se ejecuta
repetidas veces, hasta que la condición asignada a dicho bucle deja de cumplirse.

b. ¿Qué tipos de ciclos existen en JavaScript?
Existen 3 tipos de ciclos: For, While, Do-While.

c. ¿Qué es un ciclo infinito y por qué es un problema?
Un ciclo infinito es un error de lógica de programación. Los ciclos infinitos inicialmente no pueden ser detectados por algunos compiladores, por lo cual, el resultado se produce cuando el programa está en ejecución. Los ciclos infinitos no tienen buena lógica en su condición de terminación.

d. ¿Puedo mezclar ciclos y condicionales?
Si.

2️. Replica el comportamiento de los siguientes ciclos for utilizando ciclos while:

Ejemplo a:

for (let i = 0; i < 5; i++) {
    console.log("El valor de i es: " + i);
}

var i = 0
while (i < 5){
	i++
	console.log("El valor de i es: " + i);
}

Ejemplo b:

for (let i = 10; i >= 2; i--) {
    console.log("El valor de i es: " + i);
}

var i = 10
while (i >= 2){
	i--
	console.log("El valor de i es: " + i);
}

3️. Escribe un código en JavaScript que le pregunte a los usuarios cuánto es 2 + 2. Si responden bien, mostramos un mensaje de felicitaciones, pero si responden mal,
volvemos a empezar.
Pista: puedes usar la función prompt de JavaScript.

var numero1 = 2;
var numero2 = 2;
var resultado = numero1 + numero2;
let pregunta = {
  pregunta1: `Cuanto es ( ${numero1} + ${numero2} ) ?`
}
function prueba() {
  var usuarioInput = prompt(pregunta.pregunta1);
  if (usuarioInput == resultado) {
    alert("Felicitaciones! Respuesta correcta");
  } else {
    alert("Respuesta incorrecta, vuelva a intentarlo");
  }
}
prueba();


Listas

a. ¿Qué es un array?
Un array, es un tipo de dato estructurado que permite almacenar un conjunto de datos homogéneo, es decir, todos ellos del mismo tipo y relacionados.

b. ¿Qué es un objeto?
La programación orientada a objetos o simplemente POO, es un paradigma de programación que utiliza el concepto de un “objeto” para agrupar información relacionada entre sí.

c. ¿Cuándo es mejor usar objetos o arrays?
Los arrays se usan para series que poseen valores simples, mientras que los objetos son utilizadas para las series en que hay distintos objetos y propiedades con diferentes valores.

d. ¿Puedo mezclar arrays con objetos o incluso objetos con arrays?
Afirmativo.

2️. Crea una función que pueda recibir cualquier array como parámetro e imprima su primer elemento.

var colors = ["Yellow", "Blue", "Red", "Green", "Orange", "Violet"];
function readArray(array){
	console.log(array[0])
}
readArray(colors);

3️. Crea una función que pueda recibir cualquier array como parámetro e imprima todos sus elementos uno por uno (no se vale imprimir el array completo).

var colors = ["Yellow", "Blue", "Red", "Green", "Orange", "Violet"];
function readArray(array) {
  for (let i = 0; i < array.length; i++) {
    console.log(`${i + 1} ${array[i]}`)
  }
}
readArray(colors);

4️. Crea una función que pueda recibir cualquier objeto como parámetro e imprima todos sus elementos uno por uno (no se vale imprimir el objeto completo).


var vehiculo = {
  make: "Honda",
  model: "Civic",
  year: 2001,
};
function readObject(object) {
  for (let key in object) {
    console.log(object[key]);
 	}
 }
readObject(vehiculo); 

1️⃣ Responde las siguientes preguntas en la sección de comentarios:
¿Qué es una variable y para qué sirve?: Es un espacio que se guarda en memoria cuanto a información y nos ayuda a darle un valor a otras cosas de nuestro código o bien utilizarlas como un múltiple repertorio de información dentro de nuestro código

¿Cuál es la diferencia entre declarar e inicializar una variable?: cuando declaramos una variable, le estamos dando un valor a algo que no lo tenia y al inicializarla estamos usando ese valor para realizar alguna acsion

¿Cuál es la diferencia entre sumar números y concatenar strings?: La suma de datos tipo numero solo nos dara un resultado pero si concatenamos strings, javaScript solo juntara los datos tipo string el uno a lado del otro.

¿Cuál operador me permite sumar o concatenar?: +

2️⃣ Determina el nombre y tipo de dato para almacenar en variables la siguiente información:
Nombre: "String"
Apellido: "String"
Nombre de usuario en Platzi: "String"
Edad: "Number"
Correo electrónico: "String"
Mayor de edad: "Booleano"
Dinero ahorrado: "Number"
Deudas: "Number"
3️⃣ Traduce a código JavaScript las variables del ejemplo anterior y deja tu código en los comentarios.

<
var Nombre = "Gilberto"
var Apellido = "Monroy"
var NombreDeUsuarioEnPlatzi = "Gilberto Alejandro"
var Edad = 22
var CorreoElectrónico = "[email protected]"
> 

4️⃣ Calcula e imprime las siguientes variables a partir de las variables del ejemplo anterior:
Nombre completo (nombre y apellido)
Dinero real (dinero ahorrado menos deudas)

<var nombre = "gilberto ";
var apellido =  "Monroy";
let nombreCompleto = nombre + apellido
console.log("mi nombre completo es: ${nombreCompleto})

var dineroGanado = 1000
var deudas = 800
var dineroReal = dineroGanado - deudas> 

Funciones
1️⃣ Responde las siguientes preguntas en la sección de comentarios:
¿Qué es una función? es un conjunto de acciones que nos permite realizar nuestro codigo

¿Cuándo me sirve usar una función en mi código? cuando la mandamos llamar o la inicializamos

¿Cuál es la diferencia entre parámetros y argumentos de una función?: los parámetros son los datos que toma una función para ejecutarse y los argumentos serán los datos que nos pedirá el programa para saber si se ejecutara la función o no

2️⃣ Convierte el siguiente código en una función, pero, cambiando cuando sea necesario las variables constantes por parámetros y argumentos en una función:

const name = "Juan David";
const lastname = "Castro Gallego";
const completeName = name + lastname;
const nickname = "juandc";

console.log("Mi nombre es " + completeName + ", pero prefiero que me digas " + nickname + ".");

function presentation(name, lastName, nickName){
  return console.log(`Mi nombre completo es ${name} ${lastName}, pero mis amigos me dicen ${nickName}.`);
}
presentation("Gilberto", "Monroy", "Guapo Gil");

Condicionales
1️⃣ Responde las siguientes preguntas en la sección de comentarios:
¿Qué es un condicional? nos ayuda a evaluar una seccion del codigo y saber si es falsa o verdadera

¿Qué tipos de condicionales existen en JavaScript y cuáles son sus diferencias?

  • if= si
    -else=si no

¿Puedo combinar funciones y condicionales? si se puede

2️⃣ Replica el comportamiento del siguiente código que usa la sentencia switch utilizando if, else y else if:

const tipoDeSuscripcion = "Basic";

switch (tipoDeSuscripcion) {
   case "Free":
       console.log("Solo puedes tomar los cursos gratis");
       break;
   case "Basic":
       console.log("Puedes tomar casi todos los cursos de Platzi durante un mes");
       break;
   case "Expert":
       console.log("Puedes tomar casi todos los cursos de Platzi durante un año");
       break;
   case "ExpertPlus":
       console.log("Tú y alguien más pueden tomar TODOS los cursos de Platzi durante un año");
       break;
}

const tipoDeSuscripcion = "Basic"{
	if (tipoDeSuscripcion = "Free"){
		console.log("Solo puedes tomar los cursos gratis");
	}else if (tipoDeSuscripcion = "Basic"){
		console.log("Puedes tomar casi todos los cursos de Platzi durante un mes");
	}else if (tipoDeSuscripcion = "Expert"){
		console.log("Puedes tomar casi todos los cursos de Platzi durante un año");
	}else (tipoDeSuscripcion = "ExpertPlus"){
		console.log("Tú y alguien más pueden tomar TODOS los cursos de Platzi durante un año");
}

3️⃣ Replica el comportamiento de tu condicional anterior con if, else y else if, pero ahora solo con if (sin else ni else if).
💡 Bonus: si ya eres una experta o experto en el lenguaje, te desafío a comentar cómo replicar este comportamiento con arrays u objetos y un solo condicional. 😏

const tipoDeSuscripcion = "Basic"{
	if (tipoDeSuscripcion = "Free"){
		console.log("Solo puedes tomar los cursos gratis");
	}else (tipoDeSuscripcion = "Basic"){
		console.log("Puedes tomar casi todos los cursos de Platzi durante un mes");
	}else (tipoDeSuscripcion = "Expert"){
		console.log("Puedes tomar casi todos los cursos de Platzi durante un año");
	}else (tipoDeSuscripcion = "ExpertPlus"){
		console.log("Tú y alguien más pueden tomar TODOS los cursos de Platzi durante un año");
}

Ciclos
1️⃣ Responde las siguientes preguntas en la sección de comentarios:
¿Qué es un ciclo? es una repetición en bucle del codigo
¿Qué tipos de ciclos existen en JavaScript? for/whiile
¿Qué es un ciclo infinito y por qué es un problema? es un ciclo que nunca se rompe y es un problema porque no permite que el usuario continue la ejecucuion del programa
¿Puedo mezclar ciclos y condicionales? si

Test de JavaScript


Variables y Operadores:


1- Responde las siguientes preguntas en la sección de comentarios:

  • ¿Qué es una variable y para qué sirve?

Una variable es un espacio reservado en la memoria que nos almacena información.

  • ¿Cuál es la diferencia entre declarar e inicializar una variable?

Declarar: Declarar una variable es crear un espacio reservado donde vamos a almacenar la información ejemplo, var edad;
Inicializar: Es cuando ingresamos datos a la variable creada ejemplo, edad: 30;

  • ¿Cuál es la diferencia entre sumar números y concatenar strings?

Sumar numeros implica la adicion de dos o mas valores numericos para obtener un resultado ejemplo: 2 + 3 = 5
Mientras que la concatenacion de strings es tomar un “Hola” y “mundo” la concatenacion de ambas es “Hola mundo”, hay que tener presente que si vamos a realizar una concatenacion de un numero y un string nos puede dar un error en el codigo
ya que por ejemplo 2 y “3” nos puede dar un valor erroneo o “2” y “3” nos puede arrojar un 23 ya que no los suma por lo que los toma como string.

  • ¿Cuál operador me permite sumar o concatenar?

El operador “+” se utiliza tanto para sumar valores numéricos como para concatenar cadenas de texto en muchos lenguajes de programación.

Cuando se utiliza el operador “+” con valores numéricos, realiza la operación de suma aritmética y devuelve el resultado numérico correspondiente. Por ejemplo, si se tienen las variables “a” y “b” con los valores numéricos 2 y 3, respectivamente, la expresión “a + b” devolverá el valor numérico 5.

Por otro lado, cuando se utiliza el operador “+” con cadenas de texto, se realiza la concatenación de los strings y se devuelve una nueva cadena que resulta de unir las cadenas originales. Por ejemplo, si se tienen las variables “saludo” y “nombre” con los valores "Hola " y “Juan”, respectivamente, la expresión “saludo + nombre” devolverá la cadena “Hola Juan”.

Es importante tener en cuenta que la suma y la concatenación son operaciones diferentes y que el operador “+” se comporta de manera diferente según el tipo de datos que se estén utilizando.


2- Determina el nombre y tipo de dato para almacenar en variables la siguiente información:

  • Nombre “String”
  • Apellido “String”
  • Nombre de usuario en Platzi “String”
  • Edad “Number”
  • Correo electrónico “String”
  • Mayor de edad “Boolean”
  • Dinero ahorrado “Number”
  • Deudas “Number”

3- Traduce a código JavaScript las variables del ejemplo anterior y deja tu código en los comentarios.

var Nombre = "Juan";
var Apellido = "Delgadillo";
var Nombre_de_usuario_en_platzi = "[email protected]";
var Edad = 23;
var Correo = "[email protected]";
var Mayor_de_edad = true;
var Dinero_ahorrado = 20000;
var Deudas = 15000;

4- Calcula e imprime las siguientes variables a partir de las variables del ejemplo anterior:

  • Nombre completo (nombre y apellido)
  • Dinero real (dinero ahorrado menos deudas)
//Saludar persona
var Nombre = "Juan";

function saludarPersona (){
    var Apellido = "Delgadillo";
    return Nombre + " " + Apellido
}

saludarPersona ();

//Dinero ahorrado total

var Dinero_ahorrado = 20000;
var Deudas = 15000;
var totalAhorrado = Dinero_ahorrado - Deudas;

console.log(`El total que tengo ahorrado fuera de deudas es: ${totalAhorrado}`);

Funciones


1- Responde las siguientes preguntas en la sección de comentarios:

  • ¿Qué es una función?

una función es un bloque de código que realiza una tarea específica y puede ser llamado desde otros lugares del programa para ejecutar esa tarea. Una función puede tomar ciertos valores de entrada, llamados argumentos o parámetros, y puede devolver un resultado al final de su ejecución.

  • ¿Cuándo me sirve usar una función en mi código?

las funciones son útiles para modularizar y reutilizar código, simplificar la lógica compleja, mejorar la legibilidad del código y facilitar la depuración.

  • ¿Cuál es la diferencia entre parámetros y argumentos de una función?

los parámetros son valores que se definen en la definición de la función y se espera que se reciban cuando se llama la función, mientras que los argumentos son los valores reales que se pasan a la función cuando se llama.

2- Convierte el siguiente código en una función, pero, cambiando cuando sea necesario las variables constantes por parámetros y argumentos en una función:

const name = "Juan";
const lastname = "Delgadillo";
const completeName = name + lastname;
const nickname = "juanpa";


function presentacion(name, lastname, nickname){
    return console.log(`Hola, me llamo ${name} ${lastname}, pero mis amigos me dicen ${nickname}. Un gusto conocerlos.`);
}

presentacion("Juan", "Delgadillo", "juanpa");

Condicionales


1- Responde las siguientes preguntas en la sección de comentarios:

*¿Qué es un condicional?

Una condicional es una expresion que permite evaluar si una algo es verdadero o falso (true, false).

  • ¿Qué tipos de condicionales existen en JavaScript y cuáles son sus diferencias?
  • if…else: el condicional IF se utiliza como un boocle de codigo para saber si una condicion es verdadera, el ELSE se utiliza para ejecutar un bloque de codigo por si la condicional de if no es verdadera, y el ELSE IF se utiliza para evaluar multiples condiciones por si la anterior no se cumple.

  • switch: Sirve para tomar desiciones basadas en el valor de una variable o expresion, la sintaxis se basa en case, donde pueden haber varios casos de desicion cada uno con un valor especifico que se compara con el valor de expresion, Si se encuentra un caso que coincide con el valor de “expresion”, se ejecuta el bloque de código correspondiente. Si no se encuentra ningún caso que coincida, se ejecuta el bloque de código dentro de la cláusula “default”. Es importante tener en cuenta que cada caso debe terminar con la palabra clave “break” para evitar que se ejecuten accidentalmente otros casos. También se pueden usar múltiples casos para ejecutar el mismo bloque de código para diferentes valores.

  • ¿Puedo combinar funciones y condicionales?

Sí, es posible combinar funciones y condicionales en JavaScript para crear algoritmos más complejos y adaptativos. De hecho, esta es una práctica común en la programación.

Por ejemplo, puedes utilizar una estructura condicional como “if…else” dentro de una función para realizar diferentes acciones en función de las condiciones que se cumplan. También puedes llamar a una función dentro de una estructura condicional para ejecutar un bloque de código diferente dependiendo de los resultados de la función.

  • Replica el comportamiento del siguiente código que usa la sentencia switch utilizando if, else y else if:
const tipoDeSuscripcion = "Basic";

if (tipoDeSuscripcion == "Free"){
    console.log("Solo puedes tomar los cursos gratis");
}else if (tipoDeSuscripcion == "Basic"){
    console.log("Puedes tomar casi todos los cursos de Platzi durante un mes");
}else if (tipoDeSuscripcion == "Expert"){
    console.log("Puedes tomar casi todos los cursos de Platzi durante un año");
}else if (tipoDeSuscripcion == "ExpertPlus"){
    console.log("Tú y alguien más pueden tomar TODOS los cursos de Platzi durante un año");
}else {
    console.log("No puedes tomar ningun curso, ya que no tienes suscripcion");
}

Ciclos


1- Responde las siguientes preguntas en la sección de comentarios:

*¿Qué es un ciclo?

Un ciclo es algo que se genera repetidas veces hasta cumplir la condicion.

  • ¿Qué tipos de ciclos existen en JavaScript?

Ciclo While, Do while y ciclo for

*¿Qué es un ciclo infinito y por qué es un problema?

Es un ciclo que se ejecuta repetidas veces sin parar ya que no hay una condicion que lo detenga, es perjudicial para tu pc ya que lo puede volver lento o incluso dañarlo.

*¿Puedo mezclar ciclos y condicionales?

Sí, es posible mezclar ciclos y condicionales en JavaScript para crear algoritmos más complejos y adaptativos.

Por ejemplo, puedes utilizar una estructura de repetición como “while” o “for” dentro de una estructura condicional para realizar diferentes acciones en función de las condiciones que se cumplan durante la ejecución del ciclo.

2- Replica el comportamiento de los siguientes ciclos for utilizando ciclos while:

let i = 0;
while (i < 5){
    i++;
    console.log(`El valor de i es: ${i}`);
}

let i = 10;
while (i >= 2){
    i--;
    console.log(`El valor de i es: ${i}`);
}

3- Escribe un código en JavaScript que le pregunte a los usuarios cuánto es 2 + 2. Si responden bien, mostramos un mensaje de felicitaciones, pero si responden mal, volvemos a empezar.

let respuestaCorrecta = false; // Indica si la respuesta es correcta
while (!respuestaCorrecta) { // Mientras la respuesta no sea correcta
  let respuesta = prompt("¿Cuánto es 2 + 2?"); // Preguntamos al usuario
  if (respuesta == 4) { // Si la respuesta es correcta
    alert("¡Felicitaciones, respondiste correctamente!"); // Mostramos un mensaje de felicitaciones
    respuestaCorrecta = true; // Indicamos que la respuesta es correcta
  } else { // Si la respuesta es incorrecta
    alert("Lo siento, esa no es la respuesta correcta. ¡Intenta de nuevo!"); // Mostramos un mensaje de error
  }
}

Listas


1- Responde las siguientes preguntas en la sección de comentarios:

*¿Qué es un array?

Un array es una variable que puede guardar multiples valores, se escribe dentro de […], separados por comas.

*¿Qué es un objeto?

Un objeto es una estructura de datos que permite almacenar valores mediante propiedad - valor a través de la sintaxis de llaves ({}) y separados por comas.

*¿Cuándo es mejor usar objetos o arrays?

Los objetos se utilizan cuando el conjunto de los elementos es mas grande, mientras que los arrays se utilizan principalmente para almacenar y acceder a colecciones ordenadas de elementos del mismo tipo de datos.

*¿Puedo mezclar arrays con objetos o incluso objetos con arrays?

Sí, es posible mezclar arrays con objetos o incluso objetos con arrays en la programación, y en muchos casos es una práctica común.

Por ejemplo, puedes tener un array que contenga varios objetos, donde cada objeto representa un usuario en una aplicación web. Cada objeto puede tener diferentes propiedades como el nombre, correo electrónico, dirección, etc. De esta manera, el array proporciona una colección de usuarios ordenados y puedes acceder a cada objeto por su índice en el array.

2- Crea una función que pueda recibir cualquier array como parámetro e imprima su primer elemento.

var fruta = ["Manzana", "Pera", "mandarina", "granadilla"];
    function comprarFruta(array){
        console.log(array[0])
    }
    comprarFruta(fruta);

3- Crea una función que pueda recibir cualquier array como parámetro e imprima todos sus elementos uno por uno (no se vale imprimir el array completo).

var fruta = ["Manzana", "Pera", "mandarina", "granadilla"];
    function comprarFruta(array){
        for (var i=0; i < array.length; i++){
            console.log(`${i +1} ${array[i]}`);
        }
    }
    comprarFruta(fruta);

4- Crea una función que pueda recibir cualquier objeto como parámetro e imprima todos sus elementos uno por uno (no se vale imprimir el objeto completo).

var miPc = {
    marca: "Lenovo",
    modelo: "Thinkpad",
    año: 2023
};
function myComputer(objeto){
    for (var key in objeto){
        console.log(objeto[key]);
    }
}
myComputer(miPc);

Variables y operaciones

1️.- Responde las siguientes preguntas en la sección de comentarios:
¿Qué es una variable y para qué sirve?

Es una referencia a un espacion en memoria. Nos sirve para referi ese espacio de memoria y poder almacenar datos.

¿Cuál es la diferencia entre declarar e inicializar una variable?

La declaracion solo reserva un espacio en memoria, la asignacion guarda el dato en ese espacio de memoria.

¿Cuál es la diferencia entre sumar números y concatenar strings?

La suma refiere a la operación matematica entre numeros llamada addicion, la concatenacion es la union de dos cadenas de caracteres aun que sean numeros.

¿Cuál operador me permite sumar o concatenar?
El operador es el simbolo mas “+”

2️.- Determina el nombre y tipo de dato para almacenar en variables la siguiente información:

Nombre – “string”
Apellido – “string”
Nombre de usuario en Platzi – “string”
Edad – “number”
Correo electrónico – “string”
Mayor de edad – “boolean”
Dinero ahorrado – “number”
Deudas – “boolean”

3️ Traduce a código JavaScript las variables del ejemplo anterior y deja tu código en los comentarios.

var nombre = “Miguel Angel”;
var apellido = “Barron”;
var nombre_usuario_platzi = “ekim”;
var edad = “18”;
var eMail = “[email protected]”;
var mayorEdad = true;
var dineroAhorrado = 5000;
var deudas = 200;

4️ Calcula e imprime las siguientes variables a partir de las variables del ejemplo anterior:

console.log( Nombre Completo ${nombre} ${apellido})
console.log( Dinero real ${dineroAhorrado - deudas})

Funciones

1️ Responde las siguientes preguntas en la sección de comentarios:
¿Qué es una función?

Procedimiento o un conjunto de instrucciones que realiza una tarea o calcula un valor, pero para que un procedimiento califique como función, puede tomar alguna entrada(s) y /puede devolver una salida.

¿Cuándo me sirve usar una función en mi código?

Cuando queremos realizar procesos repetitivos o tambien para ordenar y reutilizar codigo

¿Cuál es la diferencia entre parámetros y argumentos de una función?

Los parámetros: están envueltas en paréntesis (), son variables propias de la función y deberán utilizarse en el contenido. Hacen referencia a los argumentos en la invocación.

2️ Convierte el siguiente código en una función, pero, cambiando cuando sea necesario las variables constantes por parámetros y argumentos en una función:

const name = “Juan David”;
const lastname = “Castro Gallego”;
const completeName = name + lastname;
const nickname = “juandc”;
console.log("Mi nombre es " + completeName + ", pero prefiero que me digas " + nickname + “.”);

function saludo( name, lastName, nickname){
var completeName = name + lastname;
console.log("Mi nombre es " + completeName + ", pero prefiero que me digas " + nickname + “.”);
}
saludo(“Juan David ” , “Castro Gallego”, “juandc” );

Condicionales

1️ Responde las siguientes preguntas en la sección de comentarios:

¿Qué es un condicional?

Los condicionales son estructuras de control que te permiten evaluar diferentes expresiones y realizar determinadas acciones en JavasScript.

¿Qué tipos de condicionales existen en JavaScript y cuáles son sus diferencias?

If, Else, else if, switch

¿Puedo combinar funciones y condicionales?

Si se puede

2️ Replica el comportamiento del siguiente código que usa la sentencia switch utilizando if, else y else if:

const tipoDeSuscripcion = “Basic”;

switch (tipoDeSuscripcion) {
case “Free”:
console.log(“Solo puedes tomar los cursos gratis”);
break;
case “Basic”:
console.log(“Puedes tomar casi todos los cursos de Platzi durante un mes”);
break;
case “Expert”:
console.log(“Puedes tomar casi todos los cursos de Platzi durante un año”);
break;
case “ExpertPlus”:
console.log(“Tú y alguien más pueden tomar TODOS los cursos de Platzi durante un año”);
break;

if(tipoDeSuscripcion == “Free”){
console.log(“Solo puedes tomar los cursos gratis”);
}else if( tipoDeSuscripcion == “Basic”) {
console.log(“Puedes tomar casi todos los cursos de Platzi durante un mes”);
}else if( tipoDeSuscripcion == “Expert”) {
console.log(“Puedes tomar casi todos los cursos de Platzi durante un año”);
}else if( tipoDeSuscripcion == “ExpertPlus”) {
console.log(“Tú y alguien más pueden tomar TODOS los cursos de Platzi durante un año”);
}

}
3️ Replica el comportamiento de tu condicional anterior con if, else y else if, pero ahora solo con if (sin else ni else if).

var nivelSel = “Basic”;
var opccion = [
{
nivel: “Free”,
mensaje:“Solo puedes tomar los cursos gratis”
},

{
nivel: “Basic”,
mensaje:“Puedes tomar casi todos los cursos de Platzi durante un mes”
},

{
nivel: “Expert”,
mensaje:“Puedes tomar casi todos los cursos de Platzi durante un año”
},
{
nivel: “ExpertPlus”,
mensaje:“Tú y alguien más pueden tomar TODOS los cursos de Platzi durante un año”
}
];

var mensajeS = opccion.filter( function(seleccion){
return seleccion.nivel == nivelSel
});

console.log(mensajeS[0].mensaje);

💡 Bonus: si ya eres una experta o experto en el lenguaje, te desafío a comentar cómo replicar este comportamiento con arrays u objetos y un solo condicional. 😏

Ciclos

1️ Responde las siguientes preguntas en la sección de comentarios:

¿Qué es un ciclo?

Un bucle (loop) o ciclo repetitivo es una estructura de control que te permite realizar una o varias instrucciones mientras una condición sea verdadera.

¿Qué tipos de ciclos existen en JavaScript?

For (para)
While (mientras)

¿Qué es un ciclo infinito y por qué es un problema?

Un ciclo que se repite de forma indefinida ya que su condición para finalizar nunca se cumple

¿Puedo mezclar ciclos y condicionales?

Si, se puede

2️ Replica el comportamiento de los siguientes ciclos for utilizando ciclos while:

for (let i = 0; i < 5; i++) {
console.log("El valor de i es: " + i);
}

var i =0;
while(i< 5 ){
console.log("El valor de i es: " + i);
i++;
}

for (let i = 10; i >= 2; i–) {
console.log("El valor de i es: " + i);
}

var i =10;
while( i >= 2 ){
console.log("El valor de i es: " + i);
i–;
}

3️ Escribe un código en JavaScript que le pregunte a los usuarios cuánto es 2 + 2. Si responden bien, mostramos un mensaje de felicitaciones, pero si responden mal, volvemos a empezar.

var validar = true;
var respuesta = “0”;
while( validar ){
respuesta = prompt ( "Hola cuanto es 2+2: ");
if( respuesta ==4){
validar = false;
console.log("Felicidades lo conseguiste ")
}
}
💡 Pista: puedes usar la función prompt de JavaScript.

Listas

1️ Responde las siguientes preguntas en la sección de comentarios:

¿Qué es un array?

Un array es una estructura de datos que permite almacenar una serie de datos localizados por índices y separados por comas.
¿Qué es un objeto?

Un objeto es una estructura de datos que permite almacenar valores mediante propiedad - valor a través de la sintaxis de llaves ({}) y separados por comas.

¿Cuándo es mejor usar objetos o arrays?

Los arrays se usan para series que poseen valores simples, mientras que los objetos son utilizadas para las series en que hay distintos objetos y propiedades con diferentes valores

¿Puedo mezclar arrays con objetos o incluso objetos con arrays?

Si se puede

2️ Crea una función que pueda recibir cualquier array como parámetro e imprima su primer elemento.

var arrayPrueba = [“0”, “1”, “2”, “3”, “4”];
function primerElemento(array){
console.log( array[0]);
}
primerElemento(arrayPrueba);

3️ Crea una función que pueda recibir cualquier array como parámetro e imprima todos sus elementos uno por uno (no se vale imprimir el array completo).

var arrayPrueba = [“0”, “1”, “2”, “3”, “4”];
function elementos(array){
array.forEach( function(elemento){
console.log(elemento);
});
}
elementos (arrayPrueba);

4️ Crea una función que pueda recibir cualquier objeto como parámetro e imprima todos sus elementos uno por uno (no se vale imprimir el objeto completo).

var arrayPrueba = [“0”, “1”, “2”, “3”, “4”];
function elementos(array){
array.forEach( function(elemento){
console.log(elemento);
});
}
elementos (arrayPrueba);

Variables y Operaciones

  1. Responde las siguientes preguntas en la sección de comentarios:
  • ¿Qué es una variable y para qué sirve?
    Es un espacio reservado de memoria donde se puede almacenar un dato el cual se puede identificar por un nombre

  • ¿Cuál es la diferencia entre declarar e inicializar una variable?
    Cuando declaramos una variable solo le estamos diciendo a la computadora que reserve un espacio de memoria y que lo relacione con un nombre específico, ese valor por ahora es “null”. Al inicializar una variable le estamos asignando un valor en específico, este valor puede ser un int, String, boolean, double entre otras.

  • ¿Cuál es la diferencia entre sumar números y concatenar strings?
    Un ejemplo para entender esta diferencia sucede cuando concatenamos " ‘1’ + ‘1’ " los cuales al tener comillas son considerados como datos tipo String por lo tanto no se suman y en su lugar se concatenar, dando como resultado ‘11’. Ahora cuando colocamos “1 + 1” los dos números son datos tipo int por lo cual son sumados y dan 2 como resultado.

  • ¿Cuál operador me permite sumar o concatenar?
    Teniendo en cuenta el ejemplo anterior el símbolo “+” nos sirve tanto para sumar como para concatenar

  1. Determina el nombre y tipo de dato para almacenar en variables la siguiente información
  • Nombre: String
  • Apellido: String
  • Nombre de usuario en Platzi: String
  • Edad: number
  • Correo Electrónico: String
  • Mayor de edad: Boolean
  • Dinero ahorrado: number
  • Deudas: number
  1. Traduce a código JavaScript las variables del ejemplo anterior y deja tu código en los comentarios.
// Variables de varios tipos
let name = "Fernando";
let lastName = "Orozco";
let usernamePlatzi = "ferorozco";
let age = 23;
let email = "[email protected]";
let adult = true;
let savings = 23000;
let debt = 4000;
  1. Calcula e imprime las siguientes variables a partir de las variables del ejemplo anterior:
  • Nombre completo (nombre y apellido)
let name = "Fernando";
let lastName = "Orozco";
console.log(`Mi nombre completo es: ${name} ${lastName}, es un placer conocerlos :D);
  • Dinero real (dinero ahorrado menos deudas)
let savings = 23000;
let debts = 4000;
let netWorth;
netWorth = savings - debts;
consoles.log(`Your current Net Worth is: ${netWorth}`);

Funciones

  1. Responde las siguientes preguntas en la sección de comentarios:
  • ¿Qué es una función?
    Una función es un bloque de código o instrucciones las cuales se identifican con la palabra reservada “function” y un nombre, estas instrucciones tienen como objetivos ser usadas varias veces lo cual nos ayudará a no repetir código. Las funciones también nos ayudan a modularizar nuestros proyectos, lo cual permite a que sea fácil su mantenimiento en el futuro.

  • ¿Cuándo me sirve usar una función en mi código?
    Cuando tenemos planeado repetir un cierto número de líneas de código, en vez de escribirlas y repetirlas las definimos una sola vez y cuando las necesitamos simplemente invocamos a la función que contiene esas instrucciones.

  • ¿Cuál es la diferencia entre parámetros y argumentos de una función?
    Estas dos definiciones suelen confundirse mucho debido a que parecen ser los mismo cuando hablamos de una función, la manera de saber cual es cual está en entender que cuando DEFINIMOS una función las variables que van entre los paréntesis se llaman parámetros, los cuales recibirán un tipo de dato y cuando invocamos la función y le queremos pasar unos valores, esos valores son los argumentos.

  1. Convierte el siguiente código en una función, pero, cambiando cuando sea necesario las variables constantes por parámetros y argumentos en una función:
// Definición de mi función
function greeting(name, lastName, nickname){
	const completeName = name + " " + lastName;
	console.log(`My name is ${completeName}, but I prefer being called ${nickname}.`);
}

// Implementación de mi función
greeting("Fernando", "Orozco", "Fer");

Condicionales

  1. Responde las siguientes preguntas en la sección de comentarios:
  • ¿Qué es un condicional?
    Es una verificación o chequeo que devuelve un valor verdadero o false (True o False), sus ejemplos más conocidos son las estructura if, else, else if, switch.

  • ¿Qué tipos de condicionales existen en JavaScript y cuáles son sus diferencias?
    If, else, else if, switch.

  • ¿Puedo combinar funciones y condicionales?
    Por su puesto puedes implementar condicionales dentro de una función o también puedes usar una condicional y dependiendo la respuesta puedes ejecutar una función X o una función Y, por ejemplo:

if(savings > 0 ){
	showMoneyAvailable();
}else if(savings < 0){
	console.log("You have debts to pay");	
	showExistingDebts(); 
} else {
	console.log("You have no money but also no debts");
}
  1. Replica el comportamiento del siguiente código que usa la sentencia switch utilizando if, else y else if:
const tipoDeSuscripcion = "Basic";
if(tipoDeSuscripcion === "Free"){
	console.log("Solo puedes tomar los cursos gratis");
}else if (tipoDeSuscripcion === "Basic"){
	console.log("Puedes tomar caso todos los cursos de Platzi durante un mes");
}else if (tipoDeSuscripcion === "Expert"){
	console.log("Puedes tomar casi todos los cursos de Platzi durante un año");
}else if (tipoDeSuscripcion === "ExpertPlus"){
	console.log("Tú y alguien más pueden tomar TODOS los cursos de Platzi durante un años");
}else{
	console.log("Usted no tiene ninguna suscripción activa");
} 
  1. Replica el comportamiento de tu condicional anterior con if, else y else if, pero ahora solo con if (sin else ni else if).
// Solución utilizando objetos y Arrays
let userSuscription = "Basic";
// Array de tipos de suscripción y mensaje de suscripciones
let typeSuscription = ["Free", "Basic", "Expert", "ExpertPlus"];
let messageSuscription = ["Solo puedes tomar los cursos gratis", 
"Puedes tomar casi todos los cursos de Platzi durante un mes", 
"Puedes tomar casi todos los cursos de Platzi durante un año", 
"Tú y alguien más pueden tomar TODOS los cursos de Platzi durante un año"] 

// Uso un ciclo for para recorrer los Array
for (let i = 0; i < typeSuscription.length; i++){
	if(userSuscription === typeSuscription[i]){
		console.log(`Tu suscripción actual es ${typeSuscription[i]} y ${messageSuscription[i]}`)
	}
}

Ciclos

  • ¿Qué es un ciclo?
    Es una estructura de control en donde se establece un bucle en donde se repetirán un bloque de instrucciones un cierto número de veces, aunque hay que tener cuidado ya que pueden crearse ciclos infinitos.
  • ¿Qué tipos de ciclos existen en JavaScript?
    for, for-each, while, do-while