Nuevo Curso Práctico de JavaScript

Nuevo Curso Práctico de JavaScript

Juan David Castro Gallego

Juan David Castro Gallego

Test de JavaScript

2/26

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 222

Preguntas 0

Ordenar por:

Los aportes, preguntas y respuestas son vitales para aprender en comunidad. Regístrate o inicia sesión para participar.

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);

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

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);
    

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)

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

¿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);

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]);
}

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);

VARIABLES Y OPERACIONES

  • PARTE 1
    i) Las variables sirven para guardar información y usarla más tarde o bien en una u otra parte de mi aplicación
    ii) La diferencia entre declarar e inicializar una varaibles es que al declararla no necesariamente le estamos asignando un valor, mientras que en la inicialización le damos un valor.
    iii) La diferencia entre sumar números y concatenarlos es que de la suma se obtiene tras un proceso aritmético de adición, mientras que en la concatenación no se consideran como números sino que como textos comunes y se unen uno tras otro, sin aplicar aritmética.
    iv) para sumar aplicamos “+”, mientras que para concatenar aplicamos “&&”.

  • PARTE 2

  1. Nombre: String
  2. Apellido: String
  3. Nombre usuario platzi: String
  4. Edad: integer
  5. E-mail: String
  6. Mayor de edad: if que valide un integer
  7. Dinero ahorado: integer
  8. Deudas: integer
  • PARTE 3
let name = 'Francisco';
let lastname = 'Lucero';
let username = 'franjaluga'
let age = 29;
let email = '[email protected]'
let money = 0;
let deudas=0;

if ( age >= 18 ){
	console.log('mayor de edad');
}else{
	console.log('no es mayor de edad');
}

console.log(`tu dinero ahorrado es: ${money} pesos`);
console.log(`tus deudas son: ${deudas} pesos`);
  • PARTE 4
    console.log(${name} ${lastname});
    console.log(money - deudas);

FUNCIONES

  1. una función es un método que nos ayuda a sistematizar operaciones, las funciones pueden recibir variables o bien otras funciones.

  2. Te sirve usar una función cuando necesitas hacer una operación. Y es más util cuando ya tienes los datos declarados o los tienes en otra parte de tu aplicación.

  3. No me sé la diferencia entre parámetros y argumentos.

  4. código convertido:

function imprimir(completeName, nickname){
console.log(`Mi nombre es ${completeName},. pero prefiero que me digas ${nickname}.`);
}

CONDICIONALES
1.un condicional es una operación que nos permite comparar múltiples valores a fin de dirigir el curso de la aplicación en cuanto se cumpla o no dicha condición.
2.hay varios tipos de condicionales, están:

  • “>” mayor

  • “<” menor

  • “==” igual

  • “!=” no es igual
    entre otros.
    .

  1. Si se pueden combinar funciones y condicionales, pero el condicional es el que arma el flujo y luego se ejecuta la función respectiva, osea tienen un orden. También podría llamar un valor con una función desde un if.

  2. cambio de código

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. cambio de Código:
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. un ciclo es un bucle que nos permite ejecutar un código hasta que se cumpla un determinado suceso
2. hay dos tipos de bucle, los while y los for
3. un ciclo infinito es un problema porque ocupa muchos recursos y ademas no se puede salir y continuar el flujo normal del programa
4. si, se pueden mezclar ciclos y condicionales
5. cambio de código:


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

cambio de codigo


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

6. No se como hacer eso.

**LISTAS**
1. Un array es un tipo de dato que guarda otros datos como casilleros
2. un objeto es una estructura estandar de algo, luego se instancia para heredar sus atributos
3. usamos objetos cuando son todos iguales, mientras que arrays solo para guardar valores,, incluso no relacionados
4. si, se pueden mezclar, pero de momento es complejo hacerlo

Lo demás debo aprenderlo.
  • 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]);
       }
   }

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;}

}

Variables y operaciones

¿Qué es una variable y para qué sirve?
Una variable es un espacio en memoria en la cual podemos almacenar datos (números y strings).
¿Cuál es la diferencia entre declarar e inicializar una variable?
La diferencia entre declarar una variable e inicializarla es que al declararla solo la estamos creando en si (ejemplo: let variable;), pero cuando esta variable la inicializamos ya le estamos dando un valor (ejemplo: let variable= 38;)
¿Cuál es la diferencia entre sumar números y concatenar strings?
La diferencia radica en el tipo de dato que estenos sumando, si sumamos “número + número” obteneos un valor de tipo número, y la concatenación siempre nos devolverá un valor de tipo “string”.
¿Cuál operador me permite sumar o concatenar?
Es el operador “+”.
Determina el nombre y tipo de dato para almacenar en variables el siguiente informe:

Nombre: Adriel (String)
Apellido: Hernández (String)
Nombre de usuario de platzi: Adriel_Hernández (String)
Correo electrónico: [email protected] (String)
Mayor de edad: true (booleano)
Dinero ahorrado: 20000 (Number)
Deudas: 0 (Null)

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

let nombre= "Adriel";
let  apellido="Hernández"; 
let  usuarioDePlatzi= "Adriel_Hernández";
let correo= "[email protected]";
let mayorDeEdad= true;
let ahorro= "20000";
let deudas= 0;

Calcula e imprime las siguientes variables del ejemplo anterior:

let nombre= "Adriel";
let apellido= " Hernandez Ortega";
let nombreCompleto= nombre+apellido;
console.log(nombreCompleto);
let deudas= 0;
let ahorros= 300;
let tot= ahorros-deudas; 
console.log(tot);

Funciones

¿Qué es una función?
Es una parte de código la cual puede ser ejecutada según sus parámetros y cada vez que sea llamada.
¿Cuándo me sirve usar una función en mi código?
Cada vez que se repita la misma acción, así evitamos escribir tanto ese código solo lamamos a la función.
¿Cuál es la diferencia entre parámetros y argumentos de una función?
El parámetro en una variable de la función, el argumento son los datos que se le dan a los parámetros de la 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 + “.”);

respuesta:

const name="Juan David";
const lastName= "Castro Gallego"; 
const nickname = "juandc";
function miNombre(name, lastName, nickname){
    const completeName = name + " " +lastName;
    console.log("Mi nombre es " + completeName + ", pero prefiero que me digas " + nickname + ".");
};
miNombre(name, lastName, nickname);

Ciclos

¿Qué es un ciclo?
Es un espacio de código (o acciones) que se un número infinito o finito de veces.
¿Qué tipos de ciclos existen en JavaScript?
For, for of, for in, while, do while.
¿Qué es un ciclo infinito y por qué es un problema?
Es un siclo que prácticamente jamas se va a terminar, esto en parte es un problema ya que se repite infinitamente, creando se sobrecargue la memoria en el navegador.
¿Puedo mezclar ciclos y condicionales?
Si se puede
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);
}

Respuesta:

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

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

Respuesta:

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

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 respuestaC = 4;


while (true) {
    let resultadoU = prompt ("¿Cuánto es 2+2?");
    if (resultadoU == respuestaC){
        alert("Lo hiciste muy bien ¡Buen trabajo!");
        break
    } else {
        alert("Lo sentimos, parece que has contestado mal la pregunta");
    };  
} 

Listas

¿Qué es un array?
Es una especie de variable en l cual podemos almacenar: datos, valores, funciones e incluso otros arrays.
¿Qué es un objeto?
Es una entidad independiente con propiedades y características
¿Cuándo es mejor usar objetos o arrays?
Depende de la necesidad o la situación.
¿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.

const unaFuncion = (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).

let cosas = ["bicileta", "patin", "zapato", "libro", "silla"];
const unaFuncion = (array) => {
  array.forEach((elem) => {
    console.log(elem);
  });
};

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 personas = {
    persona1: “Pedro”,
    persona2: “Juan”,
    persona3:  “Ricardo”,
	  persona4: “Andrés”
};
const unaFuncion = (objeto) => {
    Object.values(objeto).forEach((elem) => {
      console.log(elem);
    });
 };

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

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

tipoDeSuscripcion(“Basic”)

1 Responde las siguientes preguntas en la sección de comentarios:
¿Qué es una variable y para qué sirve?
Es una zona de memoria donde guardar valores que pueden ser de tipo numero, string, booleanos, objetos, funciones, null, undefined
.
¿Cuál es la diferencia entre declarar e inicializar una variable?
Declarar una variable significa asignarle un nombre a traves de 3 palabras llave: var, let, const : var importe; let cliente; const numFact;
Inicializar una variable significa asignarle un valor inicial antes de empezar a usarla
var importe=15,000.22; let cliente=”Juan Perez”; const numFact=123;

.
¿Cuál es la diferencia entre sumar números y concatenar strings?
Sumar numero significa hacer una operacion matematica:
var a = 3+2;
a=5;
concatenar strings significa juntar una o mas palabras cuyo resultado es una unica cadena de texto:
var texto= “Hola” + “” + “mundo”;
texto = “Hola mundo”;

.
¿Cuál operador me permite sumar o concatenar?
El operador para sumar o concatenar es el mismo “+”
.
2 Determina el nombre y tipo de dato para almacenar en variables la siguiente información:
Nombre: tipo string
Apellido: _ tipo string_
Nombre de usuario en Platzi:_ tipo string_
Edad:tipo number
Correo electrónico: tipo string
Mayor de edad: tipo boolean
Dinero ahorrado:_ tipo number_
Deudas:_ tipo 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=”Perez”;
var usuarioPlatzi=”juanperez”;
var edad=35;
var mail=”[email protected]”;
var mayorDeEdad:true;
var dineroAhorrado=10,000.00;
var deudas =7,500.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;
var nombreCompleto=”Juan Perez”;
Dinero real (dinero ahorrado menos deudas):
var dineroReal=dineroAhorrado-deudas;
var dineroReal= 3,500.00

.
.

Funciones
1 Responde las siguientes preguntas en la sección de comentarios:
¿Qué es una función?
Es una parte de codigo re utilizable que puede ser llamada en cualquier momento desde nuestro programa _
**
¿Cuándo me sirve usar una función en mi código?_**
Una vez definida se puede usar siempre y cuando necesito reiteradamente ejecutar las mismas operaciones
¿Cuál es la diferencia entre parámetros y argumentos de una función?
_Una funcion puede tener o no parametros, y son aquellos nombres indicados entre parentesis que aparecen en la definicion de la funcion misma:
Sin parametros: function saludar()
Con parametros: function saludar(saludo)
Nos referimos a argumento como aquel valor o aquellos valores que se pasa, sea directamente,a traves de una variable o a traves de otra funcio,) necesarios para que la funcion se ejecute correctamente:

  • function saludar(“Hello”)
  • var saludo=”Hello”;
  • function saludar(saludo)

.
.
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 persona(a,b){
	console.log("Mi nombre es " + completeName + ", pero prefiero que me digas " + nickname + ".");
}

persona(completeName, name);

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

Es un algoritmo que permite ejecutar una instruccion, dependiendo de si se cumple una
determinada condicion.Ejemplo;

const x=0;
if (x ==0){
console.los(x + “ es igual a 0“);
} else {
console.log(x + “ no es igual a 0“)
}

¿Qué tipos de condicionales existen en JavaScript y cuáles son sus diferencias?
_En JS existen los siguientes tipos de condicional
IF…ELSE
SWITCH
Existe el operador condicional “ ?: “ cuya sintaxis es:
condicion ? expresionA : expresionB
ejecuta una de las dos expresiones posibles dependiendo de la evaluación de la condición.

Mientras que IF…ELSE (vease el ejemplo anterior)permite ejecutar operaciones dependiendo de si una condicion se cumple o no(permite solo 2 posibles opciones), SWITCH contempla n opciones que permiten ejecutar distintas operaciones.
Lo mismo se podria hacer con IF…ELSE pero comporta escribir un codigo bastante mas engorroso._

switch(dia){
case1’:
      console.log(“Hoy es lunes”);
     break;
case1’:
      console.log(“Hoy es martes”);
     break;
case2’:
      console.log(“Hoy es miercoles”);
     break;
case3’:
      console.log(“Hoy es jueves”);
     break;
.
.
.
}

¿Puedo combinar funciones y condicionales?
Por supuesto.
.

2 Replica el comportamiento del siguiente código que usa la sentencia switch utilizando if, else y else if:
Const tipoDeSubscripcion=”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).

if (tipoDeSuscripcion=="Free") {
    console.log("Solo puedes tomar 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=="Expert Plus") {
    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. ++

var suscri = prompt("Que tipo de suscripcion deseas?" + "\n"+
    "digita la opcion correspondiente"+ "\n"+ "1.free" + "\n" + "2.Basic" +
    "\n" + "3.Expert" + "\n" + "4.Expert Plus");
if (suscri < 0 || suscri > 4) {
    alert("Opcion no valida");
} else {
    const suscripcion = [{
        tipo: "1",
        mensaje: "Has elegido la opcion Free que prevee solo puedes tomar cursos gratis",
    },
    {
        tipo: "2",
        mensaje: "Has elegido la opcion Basic que te permite tomar casi todos los cursos de Platzi durante un mes",
    },
    {
        tipo: "3",
        mensaje: "Has elegido la opcion Expert que te permite tomar casi todos los cursos de Platzi durante un año",
    },
    {
        tipo: "4",
        mensaje: "Has elegido la opcion Expert Plus que prevee que tú y alguien más pueden tomar TODOS los cursos de Platzi durante un año",
    }
    ];
    
    const suscri1 = suscripcion.find(element => element.tipo == suscri)

    alert(suscri1.mensaje);
}

Ciclos
1 Responde las siguientes preguntas en la sección de comentarios:
¿Qué es un ciclo?

_Un ciclo es un conjunto de codigos en el que se ejecutan unas operaciones cuyo inicio y fin estan oportunamente establecidos _
.

¿Qué tipos de ciclos existen en JavaScript?
En JS existen coclos FOR, DO …WHILE, WHILE, FOR…IN, FOR…OF
.

¿Qué es un ciclo infinito y por qué es un problema?
Nos referimos a un ciclo o bucle infinito cuando en una operacion no se ha establecido la condicion de fin y por lo tanto su ejecucion no termina nunca.
Esto acaba siendo un gran problema ya que no pasaria nunca el control el resto del programa, llenando la memoria del ordenador.

.
¿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);
}

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.

a=prompt("Cuanto es 2+2?");

while (a != 4) {
    alert("El resultado es incorrecto - Vuelve a intentarlo");
    a = 0
    a=prompt("Cuanto es 2+2?");
}
alert("El resultado es correcto - Felicitaciones");

💡 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?

Aunque en JS un array es condiderado como un objeto, es un conjunto de valores bajo una variable a los que se puede acceder haciendo referencia al respectivo número de índice.(num de posicion denmtro del array).Esos valores pueden ser de tipo distinto:
var array=[1,2,”hola”, true, 5];

.

¿Qué es un objeto?
_Un objeto es una colección de datos(varibales,funciones,array) que pero toman el nombre de propiedades y metodos.
A las propiedades se le puede asignar un valor, y los metodos son las funcionalidades de esas propiedades. _
.

¿Cuándo es mejor usar objetos o arrays?
Un array es oportuno usarlos cuando tenemos que trabajar con multiples valores de una variable, los objetos es mejor usarlos en aquellos casos en los que se necesita trabajar con distintos valores en conjunto a sus funcionalidades
.

¿Puedo mezclar arrays con objetos o incluso objetos con arrays?
Por supuesto
.

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

var cars = ["Ford", "Volvo", "BMW",1500,2000];

function myFunction(a) {
    console.log(a[0]);
}
myFunction(cars)

.

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 cars = ["Ford", "Volvo", "BMW",1500,2000];

function myCars (a) {
    for (i = 0; i <= cars.length; i++) {
        	console.log(cars[i]);
    }
};

myCars(cars);

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 people = [
    {
        "id": 1,
        "name": "Leanne Graham",
        "username": "Bret",
            "city": "Gwenborough",
            "geo": {
            "lat": "-37.3159",
            "lng": "81.1496"
        }
    },

    {
        "id": 2,
        "name": "Ervin Howell",
        "username": "Antonette",
            "city": "Wisokyburgh",
            "geo": {
            "lat": "-43.9509",
            "lng": "-34.4618"
            }
        },
    {
        "id": 3,
        "name": "Clementine Bauch",
        "username": "Samantha",
        "city": "McKenziehaven",
        "geo": {
            "lat": "-68.6102",
            "lng": "-47.0653"
        }
    },
]


function friends (a) {
    for (i = 0; i <= a.length; i++) {
        console.log(a[i]);
    }
};

friends(people);

Variables y operaciones

  1. Preguntas

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

Es una representación de un espacio de memoria en el que se almacenará un valor
• ¿Cuál es la diferencia entre declarar e inicializar una variable?
Declarar es como reservar el espacio en la memoria, inicializar es darle por primera vez un valor para almacenar en ese espacio.
• ¿Cuál es la diferencia entre sumar números y concatenar strings?
Aunque el símbolo de la suma y de la concatenación es el mismo (+) cuando lo ponemos entre dos números el compilador entiende que es una suma, pero si lo ponemos entre un número y un string o entre dos string lo que hace es pegar esos dos caracteres, a ese concepto de pegar los dos caracteres se le llama conctenar.
• ¿Cuál operador me permite sumar o concatenar?
El operador “+"
2. nombre y tipo de dato
• Nombre (var nombre=””, tipo string)
• Apellido (var apellido=””, tipo string)
• Nombre de usuario en Platzi (var nombreDeUsuario=””, tipo string)
• Edad (var edad=””, tipo number)
• Correo electrónico (var correo=””, tipo string)
• Mayor de edad (var mayorDeEdad=””, tipo boolean)
• Dinero ahorrado (var ahorro=””, tipo number)
• Deudas (var deudas={deuda:valor}, tipo objeto)

  1. Codigo
    • var nombre=“Freddy”;
    • var apellido=“Barragan”;
    • var nombreDeUsuario=“Fretex”;
    • var edad=31;
    • var correo="[email protected]";
    • var mayorDeEdad=true;
    • var ahorro=1000000000;
    • var deudas={casa:130000000, alfaRomeo: 55000000};

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

  3. var nombre=“Freddy”;

  4. var apellido=“Barragan”;

  5. var nombreDeUsuario=“Fretex”;

  6. var edad=31;

  7. var correo="[email protected]";

  8. var mayorDeEdad=true;

  9. var ahorro=1000000000;

  10. var deudas={casa:130000000, alfaRomeo: 55000000};

  11. console.log("Nombre Completo: " + nombre + " " + apellido);

  12. var totalDeudas = 0;

  13. for(let deuda in deudas){

  14. totalDeudas += deudas[deuda];
    
  15. }

  16. var dineroReal = ahorro - totalDeudas;

  17. console.log("Dinero Real: " , dineroReal);

Funciones

  1. Responde las siguientes preguntas en la sección de comentarios:
    • ¿Qué es una función?
    Es un segmento de código que realiza una tarea y se pretende usar múltiples veces pero que gracias a la estructura con la que es formado se puede ejecutar dicho código en tan sólo una línea que es el nombre de la función
    • ¿Cuándo me sirve usar una función en mi código?
    Cuando pretendo usar múltiples veces un segmento de código y en lugar de escribirlo una y otra vez lo pongo en una función y queda listo para ejecutarse en tan sólo una línea
    • ¿Cuál es la diferencia entre parámetros y argumentos de una función?
    Las funciones pueden necesitar que le pongamos valores para realizar su tarea, por ejemplo para una función suma es necesario poner los números que se van a sumar, de lo contrario no sabría qué sumar, esos valores son los parametros de una función al momento de crearla, sin embargo cuando una función es usada es decir declarada lo que pongo son argumentos que le dan algún tipo de valor a los parámetros y así la función saber qué hacer con esos parámetros, por ejemplo se sumaría 1+2 que son los argumentos en lugar de a+b que son los parámetros.

  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 introduceMySelf(completeName,nickname){
console.log("Mi nombre es " + completeName + ", pero prefiero que me digas " + nickname + “.”);
}

introduceMySelf(completeName,nickname);

Condicionales

  1. Responde las siguientes preguntas en la sección de comentarios:
    • ¿Qué es un condicional?
    Son reglas con las cuales podemos validar si algo es verdadero o falso y decidir que hacemos de acuerdo a ese resultado
    • ¿Qué tipos de condicionales existen en JavaScript y cuáles son sus diferencias?
    Existen:
    • if(){}. Si lo que está en el paréntesis es verdadero se ejecuta lo que esté dentro de los corchetes.
    • else if(){}. Si lo que estaba dentro del if no es verdadero el else if puede efectuar una segunda validación y si es verdadera se ejecuta lo que esté dentro de los corchetes.
    • else {}. Si la validación del if y o del else if son falsas entonces se ejecuta lo que esté dentro de los corchetes
    • switch(). Es una opción para que no sea necesario usar múltiples else if para evaluar multiples posibilidades, esto quiere decir que se pueden ejecutar diferentes segmentos de código de acuerdo a el argumento que se pase dentro de los paréntesis del switch, por ejemplo las funciones son diferentes en un control remoto de acuerdo al botón que sea oprimido
    • ¿Puedo combinar funciones y condicionales?
    Sí es posible

  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 {
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”;

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 una manera de repetir una tarea sin tener que escribirlo de forma manual
• ¿Qué tipos de ciclos existen en JavaScript?
For, For of, While
• ¿Qué es un ciclo infinito y por qué es un problema?
Es cuando la condición que finaliza el ciclo nunca se cumple, y es un problema porque el resto del código no se ejecutará
• ¿Puedo mezclar ciclos y condicionales?
Sí.

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++;
}

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

let i = 10
while (i >= 2) {
console.log("El valor de i es: " + i);
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.

var pregunta = true;
while (pregunta){
let text;
let respuesta = prompt(“Cuanto es 2+2:”);
if (respuesta == null || respuesta == “”) {
console.log(“Por favor responde.”);
pregunta = true;
} else if(respuesta == “4”){
console.log(“Felicitaciones”);
pregunta = false;
}
}

Listas
1️. Responde las siguientes preguntas en la sección de comentarios:
• ¿Qué es un array?
Es una estructura para almacenar datos
• ¿Qué es un objeto?
Es aquello que tiene propiedades y comportamientos normalmente traido del mundo físico
• ¿Cuándo es mejor usar objetos o arrays?
Objetos cuando necesito interactuar en mi código con algo que está en el mundo físico, y arrays cuando necesito almacenar datos, de hecho puedo usar arrays en objetos y viceberza.
• ¿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 cositas=[“casa”, “alfaRomeo”];
function primerObjeto (array) {
console.log(array[0]);
}

primerObjeto(cositas);
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 cositas=[“casa”, “alfaRomeo”];

function printAll (array) {
let txt = “”;
for (let x in array) {
txt += array[x] + " ";
}
console.log(txt);
}

printAll(cositas);

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 deudas={casa:130000000, alfaRomeo: 55000000};

function primerObjeto (array) {
let txt = “”;
for (let x in array) {
txt += array[x] + " ";
}
console.log(txt);
}

primerObjeto(deudas);

Variables y operaciones

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

  • ¿Qué es una variable y para qué sirve?
    Es una asignación en memoria para guardar un tipo de dato.
  • ¿Cuál es la diferencia entre declarar e inicializar una variable?
    Declarar crea el espacio en memoria de la variable e inicializar le asigna un valor a dicha variable.
  • ¿Cuál es la diferencia entre sumar números y concatenar strings?
    Sumar pasa cuando los tipos de datos son números, mientras que concatenar ocurre cuando, por lo menos, una variable es de tipo string. Por ejemplo: 2 + 2 = 4, “2” + 2 = “22”.
  • ¿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: “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.

const nombre = "Efrén";
const apellido = "Ruíz";
const usuario = "efren282";
const edad = 22;
const correo = "[email protected]";
const esMayor = true;
const dineroAhorrado = 0;
const deudas = 1500; 

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

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

Funciones

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

  • ¿Qué es una función?
    Es un bloque de código que tiene la finalidad de ser reutilizable y ejecutar instrucciones específicas.
  • ¿Cuándo me sirve usar una función en mi código?
    Cuando se necesite ejecutar un bloque de código por repetidas ocasiones que se pueden encapsular para reutilizarlo a futuro.
  • ¿Cuál es la diferencia entre parámetros y argumentos de una función?
    Los parámetros son las variables que una función recibe cuando se crea, mientras que los argumentos son las variables que una función recibe cuando se ejecuta.

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:

let name = “Juan David”;
let lastname = “Castro Gallego”;
let nickname = “juandc”;

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

fullName(“Efrén”, “Ruíz Rubio”, “Efrén”);

Condicionales

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

  • ¿Qué es un condicional?
    Son un tipo de código el cual nos permite realizar validaciones entre, por ejemplo, dos variables, comprobar si son iguales y no, etc., y dependiendo de su resultado, ejecutan un bloque de código o no.
  • ¿Qué tipos de condicionales existen en JavaScript y cuáles son sus diferencias?
    Las que se usan más son los if, el cual evalúa una condición y se ejecuta si dicha condición es true, else se ejecuta si su if se evalúa como falso, y else if, el cuál actúa como ambos, si no se evalúa como true el if, puede declararse otra condicional a evaluar dentro de este else if, también existe la estructura condicional switch, la cual permite evaluar dependiendo del caso que se otorgue, por ejemplo, opciones, y si dicha opción se evalúa verdad se ejecuta un bloque, si la opción cambia y se evalúa como true en otro bloque, pues ese bloque se ejecuta, es necesario incluir un break cada vez que termina un caso, debido a que si no lo incluímos todas las opciones se evalúan a true y se ejecutan aún cuando sean false, y podemos contar el operador ternario ‘?’ como condicional, ya que evalúa una expresión a verdadera y falsa, y dependiendo del resultado se ejecuta una u otra cosa en código.
  • ¿Puedo combinar funciones y condicionales?
    Sí, para ejecutar distinto código dependiendo de los parámetros y argumentos que recibe.

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 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 es un tipo de estructura que permite repetir la instrucción tantas veces como se quiera, al incluirle condicionales.
  • ¿Qué tipos de ciclos existen en JavaScript?
    Existen los ciclos for (for, for of), los while (while, do-while).
  • ¿Qué es un ciclo infinito y por qué es un problema?
    Es un ciclo que no tiene condición que lo detenga, es un problema debido a que siempre va a estar ejecutándose, creando problemas de rendimiento y no va a dejar que el código restante se ejecute.
  • ¿Puedo mezclar ciclos y condicionales?
    Sí, cada ciclo en sí tiene una condicional, que es la condición que detiene el ciclo, pero adentro de la estructura de ciclo pueden definirse condiciones, igual que en las funciones, para ejecutar cierto código cada vez que las iteraciones avanzan.

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.


const prueba = () => {
	let respuesta = parseInt(prompt("¿Cuánto es 2 + 2?", ""));
	do{
		if(respuesta === 4){
			alert("Felicidades, escribiste la respuesta correcta");
			break;
		}
		respuesta = parseInt(prompt("Respuesta incorrecta, intente de nuevo: ", ""));
	}while(true);
}

prueba();

Listas

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

  • ¿Qué es un array?
    Es un objeto que similariza a una lista, los cuales se utilizan para recorridos y mutabilidad de los mismos. La longitud y el tipo de dato que puede almacenar es variable. Los arrays almacenan múltiples valores de una variable.
  • ¿Qué es un objeto?
    Es una colección de datos, similares a un array, pero éstos guardan tanto la llave del objeto, como su valor, por ejemplo: {llave: valor}. Su diferencia está en la sintaxis de declaración, se utilizan llaves {}, mientras que en los arrays se utilizan corchetes []. También, se pueden almacenar múltiples valores, con la diferencia de que también se pueden almacenar múltiples variables dentro del mismo objeto, a diferencia del array.
  • ¿Cuándo es mejor usar objetos o arrays?
    Dependiendo del tipo de dato que queramos guardar, si es un objeto que posea múltiples características, como por ejemplo, color, nombre, precio, o solo nombre, como Manzana, Pera, Uva, por ejemplo: Objeto fruta = {nombre: “Manzana”, color: “Rojo”, precio: 10}; o Array frutas = [“Manzana”, “Pera”, “Uva”, “Sandía”];
  • ¿Puedo mezclar arrays con objetos o incluso objetos con arrays?
    Sí, tanto los objetos como los arrays pueden mezclarse entre sí, podemos tener un Array de Objetos, o un Objeto con un array como valor o propiedad.

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


const primerElemento = ([...props]) => {
	console.log(props[0]);
}

primerElemento([1, 2, 3]);

```

### 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 mostrarElementos= ([...props]) => {
	props.forEach((el) => {console.log(el)})
}

mostrarElementos([1, 2, 3]);

```

### 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 mostrarObjeto = (obj) =>{
	for(let key in obj){
		console.log(`${key}: ${obj[key]}`);	
	}
}

mostrarObjeto({name: "Efrén", age: 22});

```

😃 Test de JavaScript (resuelta por completo)
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 que sirve para almacenar valores.
¿Cuál es la diferencia entre declarar e inicializar una variable?
Declarar una variable es cuando se asigna un nombre a una variable, mientras que inicializar una variable es cuando se asigna un valor a una variable.
¿Cuál es la diferencia entre sumar números y concatenar strings?
Sumar números consiste en adicionar dos o más cantidades para obtener una sola cantidad, mientras que concatenar strings consiste en unir dos o más cadenas de caracteres para obtener una sola cadena de caracteres.
¿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: nombre (cadena de caracteres)
Apellido: apellido (cadena de caracteres)
Nombre de usuario en Platzi: usuario (cadena de caracteres)
Edad: edad (numérico entero)
Correo electrónico: email (cadena de caracteres)
Mayor de edad: mayorDeEdad (booleano)
Dinero ahorrado: dineroAhorrado (numérico decimal)
Deudas: deudas (numérico decimal)

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

var nombre = “Luigi”;	// Nombre
var apellido = “del Carpio”;	// Apellido
var usuario = “luigidelcarpio”;	// Nombre de usuario en Platzi
var edad = 35;	// Edad
var email = “luigi.delcarpio@gmail.com”;	// Correo electrónico
var mayorDeEdad = true;	// Mayor de edad
var dineroAhorrado = 1000.69;	// Dinero ahorrado
var deudas = 500.55;	// Deudas

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

var nombreCompleto =`${nombre} ${apellido}`;	// Nombre completo (nombre y apellido)
var dineroReal = dineroAhorrado - deudas;	// Dinero real (dinero ahorrado menos deudas)

Funciones
1.- Responde las siguientes preguntas en la sección de comentarios:
¿Qué es una función?
Conjunto de instrucciones que realiza una tarea o calcula un valor.
¿Cuándo me sirve usar una función en mi código?
Cuando quiero empaquetar una serie de variables e instrucciones que realizan una tarea específica, con la finalidad de manipular y reutilizar el código fácilmente.
¿Cuál es la diferencia entre parámetros y argumentos de una función?
Un parámetro representa un valor esperado al momento de definir la función, mientras que un argumento representa un valor enviado al momento de 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 = "Luigi";
const lastname = "del Carpio";
const completeName = name + lastname;
const nickname = "luigidelcarpio";

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

// ---------- Solución ----------
function miFuncion(name, lastName, nickName){
	return `Mi nombre completo es ${name} ${lastName}, pero prefiero que me digas ${nickName}.`;
}
console.log(miFuncion('Luigi', 'del Carpio', 'luigidelcarpio'));

Condicionales
1.- Responde las siguientes preguntas en la sección de comentarios:
¿Qué es una condicional?
Es aquella que incluye y lleva consigo un requisito.
¿Qué tipos de condicionales existen en JavaScript y cuáles son sus diferencias?
Tenemos a “if, else, else if” que evalúan si se cumple o no uno o varios requisitos, muestras que el “operador ternario” evalúa si se cumple o no un solo requisito, por otro lado, “switch” nos muestra varias opciones a ser evaluadas en forma de casos.
¿Puedo combinar funciones y condicionales?
Sí.

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");

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 y un solo condicional. 😏

const tipoDeSuscripcion = 'Basic';
const suscripcion = ['Free','Basic','Expert','ExpertPlus'];
const descripcion = ['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'];
if(true)
	console.log(descripcion[suscripcion.indexOf(tipoDeSuscripcion)]);

Ciclos
1.- Responde las siguientes preguntas en la sección de comentarios:
¿Qué es un ciclo?
Es un fragmento de código con una o varias sentencias que se ejecuta repetidas veces mientras cumpla con la condición establecida.
¿Qué tipos de ciclos existen en JavaScript?
for, for…in, for…of, while y do…while
¿Qué es un ciclo infinito y por qué es un problema?
Es un ciclo que se repite de forma indefinida debido a que siempre se cumple la condición establecida. Y es un problema porque genera una sobrecarga en el sistema.
¿Puedo mezclar ciclos y condicionales?
Sí.

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.

do{
    var respuesta = prompt('¿Cuánto es 2 + 2?');
    respuesta *= 1;
}while(respuesta !== 4)
alert('¡Felicitaciones!');

Listas
1.- Responde las siguientes preguntas en la sección de comentarios:
¿Qué es un array?
Es una estructura de datos tipo objeto que almacena una lista ordenada de valores.
¿Qué es un objeto?
Es una entidad independiente con propiedades y una propiedad es la asociación entre un nombre (o clave) y un valor.
¿Cuándo es mejor usar objetos o arrays?
Es mejor usar los arrays cuando almacenamos múltiples valores de una sola variable y los objetos cuando almacenamos múltiples valores de múltiples variables.
¿Puedo mezclar arrays con objetos o incluso objetos con arrays?
Sí.

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

function miFuncion(array){
    console.log(array[0]);
}
var input = prompt('Ingresar un array (separando los argumentos solo con una coma):');
var array = input.split(',');
miFuncion(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).

function miFuncion(array){
    for(var i = 0;i<array.length;i++){
        console.log(array[i]);
    }
}
var input = prompt('Ingresar un array (separando los argumentos solo con una coma):');
var array = input.split(',');
miFuncion(array);

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 miFuncion(object){
    array= Object.values(object);
    for(var i = 0;i<array.length;i++){
        console.log(array[i]);
    }
}
var miObjeto = {
  nombre: 'Luigi',
  primerApellido: 'del Carpio',
  segundoApellido: 'Mendiola'
};
miFuncion(miObjeto);

** 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 answer = true
while(answer){
let response = prompt(“Cuando es 2 + 2?”)
if(Number(response) === (2+2)){
answer = false
}

}

¿Qué es un array?
Es una conjunto de datos separados por una coma, alojados en ‘[]’

¿Qué es un objeto?
Una forma de representar un conjunto de datos que tienen una relacion entre si a traves de una formato de llave, valor

Ejemplo:
const persona = {
Name:“Luis”,
Gusto: “Programar”
}
los datos del objeto persona, tienen relacion entre si, por que son de una persona
¿Cuándo es mejor usar objetos o arrays?
Cuando quieres encapsular informacion que no necesariamente tiene relacion entre si, pero necesitas acceder a ella e itrerarla facilmente es mejor un array. Si tienes algo que es una abstraccion y se conforma por uin conjunto de datos relacionados entre si, mejor un objeto

¿Puedo mezclar arrays con objetos o incluso objetos con arrays?
Si, ambos

const printFirst = (arr) => {
	return console.log(`Primer elemento: $[arr[0]]`)
}


const lista = ["cerveza1",  "cerveza2"]
printFirst(lista)

//*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 printAll = (arr) => {
	arr.forEach(item => {
		console.log(`${item}`)
	})
}

const exes = ["Andrea", "Denisse",  "Paola"]
printAll(exes)
//* :(


const printElements = (obj) => {
	Object.entries(obj).forEach((k,v) => {
		console.log(`${k}:${v}`)
	})
}

const electron = {
	spin: 1.25,
	charge:"negative"
}

printElements(electron)

Una variable es una porción de memoria para guardar información.
declarar una variable es como decir que existe, la estas creando e inicializar es darle un valor a dicha variable:

//Declarando (existe, y tendra este nombre : name
let name;
//Inicializando (Dandole valor)
name = "Stephany";
//se puede hacer ambas cosas en la misma linea
let lastName = "Plaza";

Sumar numeros es hacer una operacion matematica, solo con datos tipo number mientras que concatenar es unir dos o mas tipos de datos
Ambos se hacen con el operador +

let operacionMatematica = 7+5;
//aqui concatenamos
let concatenarS = "Mi prima Antonia tiene " + operacionMatematica + " dias que no viene a visitar";
//aqui usamos otra manera de unir la string con la variable con la ayuda de template strings
let concatenar = `Mi prima Antonia tiene ${operacionMatematica} dias que no viene a visitar`;
/*nombre es tipo string (cadena de texto), al igual que apellido, nombre de usuario en Platzi y  correo electronico*/
let nombre = "Stephany";
let apellido = "Plaza";
let nombreUsuario = "Stephany96";
let correo = "[email protected]";

/* mientras que edad, dinero ahorrado y deudas es tipo number*/
let edad = 26;
let dineroAhorrado = 2500;
let deudas = 750;
//a los tipo number no se les coloca comilla
/*en el caso de  mayor de edad es booleano, porque se pregunta si es o no (True o false)*/
let mayorDeEdad = true;
/*obteniendo asi*/
let nombreCompleto = nombre + apellido;
let dineroReal = dineroAhorrado - deudas;

Una funcion practicamente es una porcion de codigo que hace algo especifico dependiendo de los parametros que se le pasen para esta utilizarlos y actuar en base a las instrucciones que tiene.

Las funciones son muy utiles sobretodo cuando tenemos acciones que son necesarias que se repitan una y otra vez , como por ejemplo el sumar, o preguntar si alguien es mayor de edad o no.

los parámetros son los datos que va a utilizar la función para ejecutar la acción que tenga que ejecutar mientras que los parámetros es ya cuando el usuario mete dichos datos llamando a la función.

function presentacion (name,lastName,nickName){
    console.log(`I'm ${name} ${lastName} but better known as ${nickName}`);
}

presentacion("Stephany","Plaza","tety")
/*la consola imprimira lo siguiente:
I'm Stephany Plaza but better know as tety*/

¿Qué es un condicional?
Un condicional es tal cual lo dice el nombre una condicion la cual en caso de cumplirse se hara algo y sino, se hara otra cosa.
¿Qué tipos de condicionales existen en JavaScript y cuáles son sus diferencias?

if(condicion){
 codigo a ejecutar si se cumple)
}else{
 sino, se hara esto
}

if(condicion){
codigo si se cumple;
}else if(segunda condicion){
 se ejecutara en caso de no cumplir con la primera pero si con esta
}else{
sino es ninguna de las dos o las condiciones x que se especifiquen
}
 

pasare a los ejercicos porque las preguntas se pueden buscar con mas facilidad:
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 quiz(){
    let pregunta = prompt("Cuanto es dos mas dos?");
    if(pregunta==4){
        alert("Felicitaciones, respondiste bien!");
    }else{
        alert("sigue intentando");
        quiz();
    }
}

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

function primerElemento(array){
	document.write(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 print(array){
    for(let i=0;i<array.length;i++){
        console.log(array[i]);
    }
    }

var name = 'Santiago’
var lastName = 'Reez’
var userName = 'tiagoreez’
var age = 19
var email = '*****@gmail.com’
var adult = true
var money = 50000
var debtMoney = 10000

var fullName= name +’ '+lastName
var realMoney = money - debtMoney

Respuestas al test

Variables y operaciones

1

  • 1.1 Una variable es un espacio en memoria que sirve para almacenar un valor o conjunto de valores que posteriormente podremos reutilizar para hacer operaciones.

  • 1.2 Declarar: consiste en crear una variable en el scope que tengamos designado para su uso, pero no necesariamente asignarle un valor a esa variable.

var variable;

Inicializar: consiste en asignarle un valor inicial a una variable, se puede hacer simultaneamente con la declaración de la variable.

var variable = "inicializada con un string";
  • 1.3 El operador suma puede realizar la suma matemática entre 2 valores numéricos o puede realizar concatenación de 2 valores string; la concatenación consiste en juntar 2 textos volviéndolos 1 solo texto con el valor de ambos.
    Ej.
var suma = 2 + 4; //6
var concatenar = "esto fue "  + "concatenado"; //"esto fue concatenado"
  • 1.4 El operador suma “+” como se muestra en el ejemplo anterior.

2 y 3

var nombre = "Julian"; //string
var apellido= "Pedroza Garcia"; //string
var platziUsername= "Julian Pedroza Garcia"; //string
var edad = 21; //Number
var email = "[email protected]"; //string
var mayorDeEdad = edad>17 ? true : false; //Boolean
var dineroAhorrado = 882022.12; //Float - Decimal
var deudas = 375000.00 + 110999.99; //float 485999.99

4.

var nombreCompleto = nombre + " " + apellido; //"Julian Pedroza Garcia"
var dineroReal = dineroAhorrado - deudas; //396022.13

Funciones

1

  • 1.1 Es un método que puede ser declarado o de expresión, puede recibir o no parámetros según necesite y sirve para realizar una serie de operaciones ordenadas cuando esta función es “llamada”.

  • 1.2 Cuando una serie de operaciones se repite n veces, es necesario usar una función para evitar escribir dichas operaciones n veces en el código.

  • 1.3 Los argumentos son los datos que se envian entre paréntesis al invocar a la función.
    Los parámetros son las variables que recibimos en la función para realizar las respectivas operaciones.

function suma(param1,param2){
	return param1 + param2;
}
suma(argumento1,argumento2);

2.

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

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

Condicionales

1

  • 1.1 Un condicional es una verificación de que una comparación o proceso se cumpla o sea verdadera para realizar entonces una serie de procesos.
  • 1.2 if, else, else if, switch
if(condicion1 == true){
	//si la condicion1 es verdadera, ejecuta lo que se encuentre entre estas llaves. {}
}else if(condicion2 == true){
	//si la condicion1 es falsa y la condicion2 es verdadera, ejecuta lo de estas llaves.
}else{
	//si la condicion1 es falsa y la condicion2 también, entonces ejecuta lo que está en estas llaves.
}

switch(opcion){
	case 1:
		//si opcion es igual a 1, ejecuta lo que está entre "case 1:" y "break;"
	break;
	case 2:
		//si opcion es igual a 2, ejecuta lo que está entre "case 2:" y "break;"
	break;
	default:
		//si opcion es diferente a todos los "case" que fueron evaluados, entonces ejecuta lo que esté en default.
	break;
}
/* Es ideal usar Switch para verificar condiciones de opciones múltiples.
Para condiciones individuales es mejor if/else
*/
  • 1.3 Puedes invocar funciones dentro de los condicionales como puedes usar condicionales dentro de las funciones que estás procesando.
    Si la función retorna algún valor, también puede ser usada como comparación.
function esMayorDeEdad(edad){
	if(edad > 17){
		return true;
	}else{
		return false;
	}
}
if(esMayorDeEdad(edad) == true){
	console.log("Puede votar");
}else{
	console.log("Aún no es mayor de edad, no puede votar");
}

2

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 Reto aceptado 😎

const tipoDeSuscripcion = "Basic";
const tiposDeSuscripcion = [
  {
    tipo: "Free",
    mensaje: "Solo puedes tomar los cursos gratis"
  },
  {
    tipo: "Basic",
    mensaje: "Puedes tomar casi todos los cursos de Platzi durante un mes"
  },
  {
    tipo: "Expert",
    mensaje: "Puedes tomar casi todos los cursos de Platzi durante un año"
  },
  {
    tipo: "ExpertPlus",
    mensaje: "Tú y alguien más pueden tomar TODOS los cursos de Platzi durante un año"
  }
];
let suscripcionExistente = tiposDeSuscripcion.find((suscripcion)=>{
  if(suscripcion.tipo === tipoDeSuscripcion){
    return suscripcion;
  }
});
if(suscripcionExistente){//Evalua si existe una suscripcion con el tipo de suscripcion indicado
  console.log(tiposDeSuscripcion[tiposDeSuscripcion.indexOf(suscripcionExistente)].mensaje);
}

Ciclos

1

  • 1.1 Un ciclo es la repetición de una serie de procesos hasta que alguna condición de parada se cumpla.

  • 1.2 Existen for & while/do while

  • 1.3 Es un ciclo cuya condición de parada nunca se cumple o no fue establecida, por lo que su repetición será infinita.
    Esto es un problema ya que la máquina de cómputo podrá quedar ejecutando infinitamente el ciclo y no procederá a ejecutar ninguna otra tarea que se necesite, también puede que la máquina detecte cierta cantidad de repeticiones de un ciclo y llegado a cierto límite detenga el proceso para evitar lo anterior, sin embargo esto no debe suceder porque es una muy mala práctica exceptuando algunos casos de funciones recursivas.

  • 1.4 Puedes agregar condicionales dentro de los ciclos para realizar una u otra serie de procedimientos según la condición evaluada.

2

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

3

var respuesta;
while(!respuesta){
  let pregunta = prompt("¿Cuánto es 2 + 2?");
  if(pregunta && pregunta == 4){
    respuesta = pregunta;
    alert("Respuesta Correcta!");
  }
}

Listas

1

  • 1.1 Un array es un conjunto de datos, el array es un objeto dentro de JavaScript.

  • 1.2 Un objeto es un dato especial que contiene un grupo de atributos y/o métodos asignados.

  • 1.3 Es mejor usar objetos cuando se deben almacenar varios atributos. No es ideal usar objetos para guardar un conjunto de datos de diferentes elementos como si fuera una lista.

Se usan arrays cuando se van a almacenar varios datos de un determinado tipo de variable, por ejemplo un array de strings o de objetos.

  • 1.4 Sí, Se puede crear un array de objetos al igual que un objeto puede tener atributos con Arrays.

2, 3, 4

function imprimirPrimero(arr){
  console.log(arr[0]);
}

function imprimirCadaElemento(arr){
  arr.forEach((element)=>{
    console.log(element);
  });
}

function imprimirCadaElementoObjeto(obj){
  for(let attribute in obj){
    console.log(obj[attribute]);
  }
}

Respuesta funciones, apartado 2:

var funcionsitaNombre = function(name, lastname, nickname) {
    let 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:
• ¿Qué es una variable y para qué sirve?
Una variable es un espacio en memoria reservado para almacenar información
• ¿Cuál es la diferencia entre declarar e inicializar una variable?
Cuando tu declaras una variable solo la expresas sin almacenar un valor, cuando la inicializas le asignas un valor del cual va a partir
• ¿Cuál es la diferencia entre sumar números y concatenar strings?
Al sumar números usas valores de tipo int para generar el resultado y al concatenar haces una coersión de tipo implícita usando el operador “+” y no necesariamente los datos deben ser del mismo tipo
• ¿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= Int
• Correo electrónico= String
• Mayor de edad= Boolean
• Dinero ahorrado= Int
• Deudas=Int
3️⃣ Traduce a código JavaScript las variables del ejemplo anterior y deja tu código en los comentarios.
Var Nombre=”Ulises”,Apellido=”Mánica”, Usuario=”Ulises”,Edad=23, [email protected], Mayor=True,Ahorrado=1500,Deudas=1000;
4️⃣ Calcula e imprime las siguientes variables a partir de las variables del ejemplo anterior:
• Nombre completo (nombre y apellido)
Var Nombre=”Ulises”, Apellido=”Mánica”,NC
NC=Nombre+Apellido
Console.log(NC)
• Dinero real (dinero ahorrado menos deudas)
Funciones
1️⃣ Responde las siguientes preguntas en la sección de comentarios:
• ¿Qué es una función?
R= Puede ser de expresión o declarativa y son pedazos de código abreviados guardados en una variable que te retorna un valor
• ¿Cuándo me sirve usar una función en mi código?
R=Cuando hay código que se vaya a repetir
• ¿Cuál es la diferencia entre parámetros y argumentos de una función?
R=Parametro es la expresión que se asigna cuando se declara la función y el argumento es el valor que se le otorga cuando se invoca para usarla
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 Prefiero(name,lastname,nickname){
completeName=name + lastname ;
console.log(Mi nombre es ${completeName} , pero prefiero que me digas ${nickname});
Prefiero(“Ulises”,“Mánica”,“ulisesplatzi”)
}

Condicionales
1️⃣ Responde las siguientes preguntas en la sección de comentarios:
• ¿Qué es un condicional? Es una condición que delimita si algo se va a llevar a cabo dependiendo de si se cumple o no
• ¿Qué tipos de condicionales existen en JavaScript y cuáles son sus diferencias?
• If, else if, else y el operador ternario
• ¿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;
}
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?
Un array es una variable que guarda múltiples valores pero todas bajo el mismo nombre solo que con diferente subíndice y son del pueden ser de diferente tipo y un objeto guarda diferentes variables con diferentes valores
• ¿Qué es un objeto?
• Un objet
• ¿Cuándo es mejor usar objetos o arrays?
• Los arrays los usamos cuando guardamos múltiples valores de una sola variable y los objetos los usamos cuando necesitamos guardar múltiples variables con sus respestivos 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).

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 la memoria que no permite guardar información y modificarla.
    -¿Cuál es la diferencia entre declarar e inicializar una variable?
    Cuando declaramos una variable estamos apartando un espacio en la memoria, mientras que cuando la inicializamos le asignamos un valor con un tipo de dato especifico.
    -¿Cuál es la diferencia entre sumar números y concatenar strings?
    Al sumar numeros realizamos una operación aritmetica, cuando concatenamos strings juntamos cadenas de caracteres para formar uno solo.
    -¿Cuál operador me permite sumar o concatenar?
    El operador que nos permite realizar estas acciones es el simbolo “+”
  1. Determina el nombre y tipo de dato para almacenar en variables la siguiente información:
  • name -> string
  • lastName -> string
  • nickname -> string
  • age -> int
  • email -> string
  • adult -> boolean
  • savedMoney -> float
  • debt -> float
  1. Traduce a código JavaScript las variables del ejemplo anterior y deja tu código en los comentarios.
let name = "Mauricio";
let lastName = "Villanueva"
let nickname = "fmaovs";
let age = 24;
let email = "[email protected]"
let adult = true;
let savedMoney = 10000;
let debt = 1000000;
  1. 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 completeName = name + " " + lastName;
let total = savedMoney - debt;
console.log("Nombre completo " + completeName + " dinero real " + total);

Funciones

  1. Responde las siguientes preguntas en la sección de comentarios:
  • ¿Qué es una función?
    Es un bloque de codigo que nos permite ejecutar una o mas acciones que le asignemos, y que nos retorna un valor.
  • ¿Cuándo me sirve usar una función en mi código?
    cuando necesito realizar varias veces una accion y modularizar mi codigo.
  • ¿Cuál es la diferencia entre parámetros y argumentos de una función?
    lo parametros son las entradas que una funcion espera recibir para ejecutar un acción y los argumentos son los valores que le damos a la función al hacer su 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:
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(name,lastName,nickname){
    let completeName = name + " " + lastName;
    return console.log("Mi nombre es "+ completeName + " pero me puedes encontrar como "+ nickname);
}
MyNameIs("Mauricio", "Villanueva", "fmaovs");

Condicionales

  1. Responde las siguientes preguntas en la sección de comentarios:
  • ¿Qué es un condicional?
    Es una estructura que nos permite evaluar una condición para determinar si es verdadero o falso.
  • ¿Qué tipos de condicionales existen en JavaScript y cuáles son sus diferencias?
    Existen 2 tipos, el if ( if-else) en el que ingresa la condición y si se cumple se ejecuta una acción pero si no pasa a la segunda parte del codigo donde se ejecuta otra acción y el switch que es para cuando necesitamos evaluar una entrada con los posibles casos que pueden ser varios y que según corresponda ejecuta una acción.
  • ¿Puedo combinar funciones y condicionales?
    Se puede integrar condicionales dentro de una función y viceversa.
  1. 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")
}
  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");
}
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 bloque de codigo que realiza una accion hasta que se cumpla una condición.
  • ¿Qué tipos de ciclos existen en JavaScript?
    Existen los ciclos for, while y do while
  • ¿Qué es un ciclo infinito y por qué es un problema?
    Es un ciclo en el que no se cumple una condición por loque se estará ejecutando de manera infinita y podría ocasionar mucho un esfuerzo exagerado de la RAM gastando muchos recursos.
    -¿Puedo mezclar ciclos y condicionales?
    Si es posible mezclarlos
  1. 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--;
}
  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;

while (respuesta == undefined){
    respuesta = prompt("Cuanto es 2 + 2?");
    if(respuesta == 4){
        console.log("Felicitaciones");
    }else{
        respuesta = undefined;
    }
}

Listas

  1. Responde las siguientes preguntas en la sección de comentarios:
  • ¿Qué es un array?
    Es una lista de datos que pueden ser de diferentes tipos y estos arrys son modificacbles y manipulables mediante metodos.
  • ¿Qué es un objeto?
    Es una especia de varible que tiene varios elementos
  • ¿Cuándo es mejor usar objetos o arrays?
    Los objetos son buena idea cuando queremos crear una especia de molde o plantilla de una especie de conjunto de elementos y los arrays cuando nuestro objetivo es mas bien como una lista.
  • ¿Puedo mezclar arrays con objetos o incluso objetos con arrays?
    si es posible hacer la mezcla.
  1. Crea una función que pueda recibir cualquier array como parámetro e imprima su primer elemento.
let fruits = ["apple", "banana", "pinneapple"];
function firstElement(array){
    console.log(lista[0]);
}
firstElement(fruits);
  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).
let fruits = ["apple", "banana", "pinneapple"];
function firstElement(array){
    for(i=0; i<array.length; i++){
        console.log(array[i]);
    }
}
firstElement(fruits);
  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).
let myPhone = {
    make: "Samsung",
    model: "Galaxy A50",
    storage: 64
};

function showProps(obj, objName) {
    var result = ``;
    for (var i in obj) {
        if (obj.hasOwnProperty(i)) {
        result += `${objName}.${i} = ${obj[i]}\n`;
        }
    }
    return result;
}
showProps(myPhone, "myPhone");

var beneficios = [
“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 = parseInt(prompt("¿que tipo de suscripcion tienes? \n 1. free \n 2. basic \n 3. expert \n 4. ExpertPlus " ));

if ( true){
var i = tipoDeSuscripcion - 1;
document.write(beneficios[i]);
}

/* 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.

¿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.[1] Para declarar una variable usaremos una instrucción compuesta del
nombre del tipo de datos de la variable, el nombre de la variable y opcionalmente un operador de
asignación y un valor inicial. La inicialización puede hacerse en la misma instrucción que la
declara o en una instrucción separada. Es importante tener en cuenta que las variables deben
recibir un valor inicial antes de poder leer los datos que contienen. Si un programador
trata de leer los datos el valor de una variable que no ha sido inicializada,
los compiladores normalmente reportan un error y no compilan el programa.

¿Cuál es la diferencia entre sumar números y concatenar strings?
La suma entre numeros dan un numero como respuesta y la concatenación de strings es la
convinacion de una frase con otra para unificarlas en un solo string

¿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 (int)
Correo electrónico (string)
Mayor de edad (bolean)
Dinero ahorrado (float)
Deudas (bolean)
3️⃣ Traduce a código JavaScript las variables del ejemplo anterior y deja tu código en los comentarios.
let datos = {
nombre: “David”,
apellido: “Gomez”,
nombreUsuarioPlatzi: “Doga94”,
edad: 28,
correo: “[email protected]”,
mayorEdad: true,
dineroAhorrado: 1500,
deudas: 500,
}

4️⃣ Calcula e imprime las siguientes variables a partir de las variables del ejemplo anterior:
Nombre completo (nombre y apellido)
var nombreCompleto = datos.nombre + datos.apellido;

Dinero real (dinero ahorrado menos deudas)
let dineroTotal = datos.dineroAhorrado - datos.deudas;

------- Funciones ----------

1️⃣ Responde las siguientes preguntas en la sección de comentarios:
¿Qué es una función?
Las funciones son uno de los bloques de construcción fundamentales en JavaScript.
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ándo me sirve usar una función en mi código?
Las funciones ‘empaquetan’ y aislan del resto del programa una serie de
variables e instrucciones de código que realizan alguna tarea específica.

¿Cuál es la diferencia entre parámetros y argumentos de una función?
Un parámetro es una propiedad intrínseca de un procedimiento, dado que está incluido en su definición.
Por ejemplo, un procedimiento que calcule la suma de dos números enteros necesitará dos parámetros,
uno para cada número. En general, un procedimiento puede ser definido con cualquier número de parámetros
(o ninguno). Si un procedimiento tiene parámetros, la parte de su definición que los especifica es
llamada lista de parámetros.
En tanto, los argumentos son más bien los valores actuales asignados a los parámetros variables
cuando la función es llamada.

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

----------------Respuesta-------------------
function nombreCompleto(name, lastname){
completo = name + lastname;
nickname = “Doga”;
}
nombreCompleto(“David”, " Gomez");
console.log(Mi nombre completo es: "${completo}" o si prefiere decirme "${nickname}" no tengo problema);
return completo;

1️⃣ Responde las siguientes preguntas en la sección de comentarios:
¿Qué es un condicional?
Hasta ahora hemos visto código que se ejecuta línea a línea, una detrás de otra.
Pero a veces se hace necesario romper esa secuencia y crear ramas que nos permitan tomar
diferentes caminos en el código dependiendo de ciertas condiciones.

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

¿Puedo combinar funciones y condicionales?
True

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------------------
const tipoDeSuscripcion = “ExpertPlus”;

if (tipoDeSuscripcion == “Free”){
console.log(Solo puedes tomar los cursos gratis ya que la suscripcion es: ${tipoDeSuscripcion});
}else if (tipoDeSuscripcion == “basic”){
console.log(Puedes tomar casi todos los cursos de Platzi durante un mes, ya que la suscripcion es: ${tipoDeSuscripcion});
}else if (tipoDeSuscripcion == “Expert”){
console.log(Puedes tomar casi todos los cursos de Platzi durante un año, ya que la suscripcion es: ${tipoDeSuscripcion});
}else if (tipoDeSuscripcion == “ExpertPlus”){
console.log(Puedes tomar casi todos los cursos de Platzi durante un año, ya que la suscripcion es: ${tipoDeSuscripcion});
}else{
Console.log(“No se encuentra registrado”)
}

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 = “Free”;
cont error == tipoDeSuscripcion;

if (tipoDeSuscripcion == “Free”){
console.log(Solo puedes tomar los cursos gratis ya que la suscripcion es: ${tipoDeSuscripcion});
} if (tipoDeSuscripcion == “basic”){
console.log(Puedes tomar casi todos los cursos de Platzi durante un mes, ya que la suscripcion es: ${tipoDeSuscripcion});
} if (tipoDeSuscripcion == “Expert”){
console.log(Puedes tomar casi todos los cursos de Platzi durante un año, ya que la suscripcion es: ${tipoDeSuscripcion});
} if (tipoDeSuscripcion == “ExpertPlus”){
console.log(Puedes tomar casi todos los cursos de Platzi durante un año, ya que la suscripcion es: ${tipoDeSuscripcion});
}

--------------Ciclos------------------------
1️⃣ Responde las siguientes preguntas en la sección de comentarios:
¿Qué es un ciclo?
son utilizados para realizar tareas repetitivas con base en 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?
Bucle infinito en programación es un error que consiste en realizar un ciclo que se repite de forma indefinida ya que su condición para finalizar 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);
}
------Respuesta------
x = 0;
while (x <= 5){
console.log(El numero de x es: ${x});
x++
}


for (let i = 10; i >= 2; i–) {
console.log("El valor de i es: " + i);
}
-----Respuesta-----------
x = 10;
while (x >= 2){
console.log(El numero de x es: ${x});
x–
}

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 sumar(num1, num2){
num1 = prompt(“Type number 1”);
num2 = prompt(“Type number 2”);
return result = parseInt(num1) + parseInt(num2)
}
sumar();
alert (the result of sum is: ${result});

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 homogeneo, es decir,
todos ellos del mismo tipo y relacionados.

¿Qué es un objeto?
Un objeto es una colección de propiedades, y una propiedad es una asociación entre un nombre
(o clave) y un valor. El valor de una propiedad puede ser una función, en cuyo caso la propiedad
es conocida como un método.

¿Cuándo es mejor usar objetos o arrays?
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.
un array también se puede considerar como un objeto y tiene la mayoría de las funcionalidades del objeto.

¿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 array(){
const array1 = [1, 2, 3, 4];
const filtered = array1.filter(num => num == 1);
console.log(filtered)
}
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).

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 object = {name: “David Gomez”, age: 28, employed: false}
function allObject(){
let values = Object.values(object)
values.forEach(item => {
console.log(item)
})
}
allObject()

Variables y operaciones
1️⃣ Responde las siguientes preguntas en la sección de comentarios:
¿Qué es una variable y para qué sirve?
Es un objeto guardado en memoria para hacer referencia a datos que estan guardados.
¿Cuál es la diferencia entre declarar e inicializar una variable?
Declarar es guardarlo le nombre por el que se va a buscar en memoria y inicializar es darle un valor a ese nombre guardado en memoria.
¿Cuál es la diferencia entre sumar números y concatenar strings?
Ambos se realizan con el mismo operador pero sumar sumar dos números da como resultado un número y concatenar es unir dos strings.
¿Cuál operador me permite sumar o concatenar?
El simbolo de suma +.
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  = “Julian”;
Let Apellido = “Camacho”;
Let Nombre_de_usuario en Platzi = “chutra3099”;
Let Edad = 23;
Let Correo_electrónico = “[email protected]”;
Let Mayor_de_edad = True;
Let Dinero_ahorrado = 3000;
Let Deudas = 200;

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

Nombre completo (nombre y apellido)
let name = "Julian Camilo";
let lastname = "Camacho Torres";
let completeName = name + lastname;
console.log(completeName);
 
Dinero real (dinero ahorrado menos deudas)
let Dinero_ahorrado = 3000;
let Deudas = 200;
let Dinero_real = Dinero_ahorrado - Deudas;
console.log(Dinero_real);

Funciones
1️⃣ Responde las siguientes preguntas en la sección de comentarios:
¿Qué es una función?
Son cadenas de codigo que se ejecutan al ser llamadas, los cuales pueden tener parametros o no.
¿Cuándo me sirve usar una función en mi código?
Cuando se desea realizar un proceso de varias lineas de codigo varias veces.
¿Cuál es la diferencia entre parámetros y argumentos de una función?
Parametros son variables que son llamadas por la funcion y argumentos son las variables declaradas y usadas dentro del 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:

Function presentacion(name, lastname, nickname) { 
console.log(`Mi nombre es ${name} ${lastname}, pero prefiero que me digas ${nickname}.`);}

Mis respuestas:

Variables y operaciones

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

  • ¿Qué es una variable y para qué sirve? es un contenedor que guarda valores, un espacio en memoria
  • ¿Cuál es la diferencia entre declarar e inicializar una variable? declarar es nombrar una variable generar ese espacio en memoria, inicializar es darle un valor
  • ¿Cuál es la diferencia entre sumar números y concatenar strings? el resultado, la suma te da un calculo y contatenar junta los strings, uno es de tipo numero y otro es de tipo string
  • ¿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 → var name = string
  • Apellido → var lastname = string
  • Nombre de usuario en Platzi → var user = string
  • Edad → var age = number;
  • Correo electrónico → var email = string
  • Mayor de edad → var oldAge = number;
  • Dinero ahorrado → var money= number;
  • Deudas → var debts= number;

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

Nombre → var name = ‘Juan’ 
Apellido → var lastName = ‘Castro’
Nombre de usuario en Platzi → var user = ‘Juan-DC’
Edad → var age = 20;
Correo electrónico → var email = ‘[email protected]’
Mayor de edad  → var oldAge = 20;
Dinero ahorrado → var savings = 10000;
Deudas → var debts= 1200;

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(savings - debts)

Funciones

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

  • ¿Qué es una función? conjunto de sentencias para generar acciones con valores guardados en las variables
  • ¿Cuándo me sirve usar una función en mi código? cuando vamos a usar el mismo código varias veces
  • ¿Cuál es la diferencia entre parámetros y argumentos de una función? parámetro: son los espacios en memoria o variables, los argumentos son los valores que les pasamos cuando ya ejecutamos el código

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";

const funcion = (nombre, apellido) => {
const completeName = nombre + apellido;
console.log(`${completeName} alias ${nickname}`)
}

funcion(name, lastname)

Condicionales

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

  • ¿Qué es un condicional? Es una condición que nos ayuda a verificar si algo es verdad o falso
  • ¿Qué tipos de condicionales existen en JavaScript y cuáles son sus diferencias? if, else, switch, operador ternario
  • ¿Puedo combinar funciones y condicionales? pero claro, es un arte

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("Puedes tomar casi todos los cursos de Platzi durante un mes");
}
else if(tipoDeSuscripcion =="Free"){
    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 if(tipoDeSuscripcion =='ExpertPlus'){
    console.log("Tú y alguien más pueden tomar TODOS los cursos de Platzi durante un año");
}
else{
    console.log('Publiciidad')
}

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

tipoDeSuscripcion == 'Basic' ? console.log("Puedes tomar casi todos los cursos de Platzi durante un mes") :
tipoDeSuscripcion =="Free" ? console.log("Solo puedes tomar los cursos gratis") :
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('Not Found')

💡 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 suscripcion = [
    {
      name: "Basic",
      beneficio:'Puedes tomar casi todos los cursos de Platzi durante un mes'
    },
    {
      name: "Free",
      beneficio:'Solo puedes tomar los cursos gratis'
    },
    {
      name: "Expert",
      beneficio:'Puedes tomar casi todos los cursos de Platzi durante un año'
    },
    {
      name: "ExpertPlus",
      beneficio:'Tú y alguien más pueden tomar TODOS los cursos de Platzi durante un año'
    },
  ];

const sucripcionFound = suscripcion.find(item => item.name === 'Basic');
console.log(sucripcionFound);

Ciclos

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

  • ¿Qué es un ciclo? Forma o método de hacer que una tarea se repita automáticamente sin hacerlo de forma manual
  • ¿Qué tipos de ciclos existen en JavaScript? metodo for, while, for of, map,
  • ¿Qué es un ciclo infinito y por qué es un problema? es un ciclo que no termina, puede crashear tu navegador y sobrecalentar la computadora
  • ¿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){
		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 res = prompt('Pasame el resultado de 2 + 2')

if(res == 4){
  console.log('Yeah!!')
}else{
  alert('Try again');
  res = prompt('Pasame el resultado de 2 + 2');
}

Listas

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

  • ¿Qué es un array? una variable o un espacio en memoria que guarda varios valores, estuctura de datos
  • ¿Qué es un objeto? colección de datos relacionados,
  • ¿Cuándo es mejor usar objetos o arrays? Los arrays se usan para almacenar multiples valores de 1, solo 1 variable, mientras que el objeto puede contener multiples variables con sus respectivos valores, te dejo un ejemplo [email protected]
var number = [1, 2, 3];

var myCar = {
  make: 'Ford',
  model: 'Mustang',
  year: 1969
};

Sin embargo ya depende de lo que estés haciendo, solo es un salto de fé.

  • ¿Puedo mezclar arrays con objetos o incluso objetos con arrays? Si se puede
var myCar = {
  make: ['Ford', 'Tesla'],
  model: ['Mustang','S'],
  year: 1969
};

let carros = [
  {
    "color": "morado",
    "tipo": "minivan",
    "registroDia": new Date('2017-01-03'),
    "capacidad": 7
  },
  {
    "color": "rojo",
    "tipo": "camioneta",
    "registroDia": new Date('2018-03-03'),
    "capacidad": 5
  },
]

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

var number = [1, 2, 3];

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

rta(number);

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 car =[1, 2, 3]
const rta2= (array) =>{
   array.forEach(item => console.log(item));
}

rta2(car);

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 number2 = {nombre:'juan', annio:20, number:3};

function objects(obj) {
  return Object.entries(obj).forEach((item) => {
    console.log(item)
  })
 	}

 objects(number2);

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 en memoria que guarda un valor de base numerica.

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

  • Declarar es definir la existencia de una variable y su tipo
  • Inicilalizar es almacenar el primer valor de una variable en esta.

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

  • Sumar numero es una operacion aritmética entre dos valores.
  • Concatenar es generar una reserva en memoria con la logitud equivaente a la sumatoria de los substring concatenados y ubicar sus valores susesivamente en esta nueva ubicacion en memoria.

¿Cuál operador me permite sumar o concatenar?

  • El operador que nos permite realizar una suma aritmetica y una concatenacion es el signo más [ + ].

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

Kind Name Typing
Nombre name string
Apellido lastName string
Nombre de usuario en Platzi user string
Edad yearsOld number
Correo electrónico email string
Mayor de edad isAdult 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.

/**
* Set if variable
* @description: Here is the platzi's user information.
* @version 1.0.0
*/
const name = 'Freddy';
const lastName = 'Vega';
const user = 'Freddy Vega';
const yearsOld = 24;
const email =  '[email protected]';
const isAdult = true; 
const savedMoney = 300_000_000
const debts = 0;

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

/**
* @description: Here is the complex information from the basic information.
* @version 1.0.0
*
*/
const fullName = `${name}${lastName}`;
const totalMoney = savedMoney - debts;

Test 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 es un espacio reservado en memoria, que nos permite almacenar información; sirven para poder almacenar datos dentro de nuestro código y poderlos llamar con un solo string en caso de ser muchos strings o enteros.

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

Declara una variable es asignar ese espacio en el codigo, la podemos asignar con la palabra “var”.
ejemplo:

var nombre 

Inicializar una variable es asignarle un valor a este espacio que reservamos anteriormente.
Ejemplo:

var nombre = "Pablo" ;

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

Sumar números es llevar a cabo una operación matemática con dos tipo de datos (Números) y nos va arrojar el resultado de esta suma en numero una vez que lo ejecutemos dentro de nuestro codigo.

Ejemplo:

//Debemos de asignar una variable 

var suma = 2 + 2;
   console.log(suma);

Concatenar strings es sumar dos tipos de dato (String) y nos va arrojar como resultado una cadena de texto agrupada con ambos valores concatenados una vez que corremos el código.
Ejemplo:

var sumaStrings = "Hola" + "Mundo!";
   console.log(sumaStrings);

¿Cuál operador me permite sumar o concatenar?

Se hace con el operador “+

  1. ¿Qué es una variable y para qué sirve?
    Es un espacio reservado en la memoria que se utiliza para almacenar datos
    ¿Cuál es la diferencia entre declarar e inicializar una variable?
    La diferencia es que al declarar un variable el contenido de la memoria puede estar vacía, por otro lado al inicializar la variable ya almacenamos información.
    ¿Cuál es la diferencia entre sumar números y concatenar strings?
    Al sumar números realizamos la operación matemática y al concatenar añadimos al lado los string correspondientes.
    ¿Cuál operador me permite sumar o concatenar?
    El operdaor que permite sumar y concatenar datos 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 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 = “Jesus”;
let apellido = “Anglas”;
let usuario= “jesusalpha26”
let edad = 24;
let email = [email protected]
let mayorEdad = true; let menorEdad = false;
let dineroGuardado = 200 ;
let deudas = 25;

  1. Calcula e imprime las siguientes variables a partir de las variables del ejemplo anterior:
    let nombres = “Jesus Augusto”;
    let apellidos = “Anglas Ayme”;
    let dineroGuardado = 200 ;
    let deudas = 25;

let total = dineroGuardado – deudas;

console.log(Hola mi nombre es ${nombres} ${apellidos} y tengo ${total} soles en total)

Mi computadora murió por un momento y solo quedó guardado lo que tenía en note así que comenzaré desde ahí en adelante 😦

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

let nombre = "David";
let apellido  = "Vega";
let nombrePlatzi  = "jdvega21";
let edad  = 26;
let email = "[email protected]";
let esMayorEdad = true;
let dineroAhorrado = 1000.00;
let deudas = 200;

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)
function nombreCompleto()
{
    return nombre + " " + apellido;
}

function dineroReal()
{
    return dineroAhorrado - deudas;
} 

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

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 preferenciaNombre(name,lastname,nickname)
{
    return `Mi nombre es ${name} ${lastname}, pero prefiero que me digas ${nickname}.`;
}
console.log(preferenciaNombre("David","Vega Porras","Saiyaying")); 

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

const 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{
    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 = "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?
//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 tipoDeSuscripciones = [
    {
        nombre : "Free",
        descripcion : "Solo puedes tomar los cursos gratis"  
    },
    {
        nombre : "Basic",
        descripcion : "Puedes tomar casi todos los cursos de Platzi durante un mes"  
    },
    {
        nombre : "Expert",
        descripcion : "Puedes tomar casi todos los cursos de Platzi durante un año"  
    },
    {
        nombre : "ExpertPlus",
        descripcion : "Tú y alguien más pueden tomar TODOS los cursos de Platzi durante un año"  
    },

];

if (tipoDeSuscripciones.length > 0)
{
    var mitipo = tipoDeSuscripciones.find(function(mySuscripcion){
        return mySuscripcion.nombre  === tipoDeSuscripcion
    });
    console.log(mitipo.descripcion);
} 

Ciclos
1️⃣ Responde las siguientes preguntas en la sección de comentarios:
-¿Qué es un ciclo?
Es un metodo que nos permite repetir una tarea mientrad que se cumpla la condicion
-¿Qué tipos de ciclos existen en JavaScript?
generales FOR y While

  • ¿Qué es un ciclo infinito y por qué es un problema?
    Es aquel donde la condicion nunca se va a cumplir y el ciclo se repite infinitamente, es un problema porque llena el stack de la memoria
  • ¿Puedo mezclar ciclos y condicionales?
    Si

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

//RESPUESTAS
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 = 0;
do {
   	respuesta = prompt("Cuánto es 2 + 2?");
    if(respuesta == 4) console.log("FELICIDADES!");
} while (respuesta != 4);
 

Listas
1️⃣ Responde las siguientes preguntas en la sección de comentarios:
-¿Qué es un array?
Es una estructura de datos de tipo objeto
-¿Qué es un objeto?
Es una estructura de datos que nos permite representar un objeto real en memoria por medio de atributos y sus valores
-¿Cuándo es mejor usar objetos o arrays?
Depende del tipo de problema, arrays generalmente es usado para tener una coleccion de datos, incluso objetos y otros arrays. Los objetos para representar lo mencionado anteriormente
-¿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 = ["Element1","Element2","Element3"];

function myFirstElement(userArray)
{
    console.log(userArray[0]);
}

myFirstElement(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 = ["Element1","Element2","Element3"];
function myElements(userArray)
{
    userArray.forEach(element => {
        console.log(element);
    });   
}

myElements(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 myObject = 
{
    nombre : "David",
    apellido  : "Vega",
    nombrePlatzi  : "jdvega21"
};

function objectAtributes(userObject)
{
    console.log(userObject.nombre);
    console.log(userObject.apellido);
    console.log(userObject.nombrePlatzi);  
}

objectAtributes(myObject);

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 introduction(name, lastaname, username) {
  console.log(
    "Mi nombre es: " +
      name +
      " " +
      lastaname +
      " pero prefiero que me digas: " +
      username
  );
}

introduction("Juan David", "Castro Gallego", "juandc");

Test de Javascript
** Variables y operaciones **
1️⃣ **Responde las siguientes preguntas en la sección de comentarios: **
a. ¿Qué es una variable y para qué sirve?
Una variable es un espacio de memoria reservado en un computador y sirve para almacenar datos.
b. ¿Cuál es la diferencia entre declarar e inicializar una variable?
Declarar una variable es cuando la creamos dentro de nuestro código mediante la palabra reservada Let por ej., e inicializarla es cuando le asignamos un valor mediante el operador de asignación =
c. ¿Cuál es la diferencia entre sumar números y concatenar strings?
Sumar números es realizar una operación aritmética, mientras que concatenar strings es acoplar cadenas de caracteres para formar un nuevo string.
d. ¿Cuál operador me permite sumar o concatenar?
El operador + nos permite sumar y concatenar strings
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 name = "Jose"
	let surname = "Quevedo"
	let nickname = "jquevedo"
	let age = 25
	let email = "[email protected]"
	let may = true
	let cash = 15000
	let debt = 3000
4️⃣ ** Calcula e imprime las siguientes variables a partir de las variables del ejemplo anterior: **
	console.log("Nombre completo: ",name + " " + surname )
	console.log("Dinero real: $" , cash - debt ) 
** Funciones **
1️⃣** Responde las siguientes preguntas en la sección de comentarios: **
a. ¿Qué es una función?
	Una función es un programa que realiza una determinada tarea y retorna un valor.
   b. ¿Cuándo me sirve usar una función en mi código?
	Cuando necesitamos resolver o validar algún tipo de dato y para evitar repetir código, creamos una función que nos resuelva la tarea y la llamamos cada vez que se la requiera.
     c.  **Parametros** son aquellos que le damos a una función al momento de su definición, mientras que los ** Argumentos ** son los valores que le pasamos a 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 = "Axel"
	const surname = "Closas"
	const nickname = "aclosas"

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

** Condicionales **
1️⃣ ** Responde las siguientes preguntas en la sección de comentarios: **
a. ¿Qué es un condicional?
Es una pregunta que debe cumplir una determinada condición para que se pueda ejecutar otras acciones.
b. ¿Qué tipos de condicionales existen en JavaScript y cuáles son sus diferencias?
Tenemos el condicional If Then Else o el operador ternario con formato "condicion ? true_value : false_value"
c. ¿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";
	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: **
a. ¿Qué es un ciclo?
	Es un bloque de código que se repite cuantas veces sea necesario mediante un contador.
 b. ¿Qué tipos de ciclos existen en JavaScript?
	Tenemos el ciclo For, While, Do While.
  c. ¿Qué es un ciclo infinito y por qué es un problema?
        Un ciclo infinito es cuando se repite la ejecución de un bloque de código sin que tenga alguna condición que interrumpa el bucle y por consecuente se trabe la ejecución.
   d. ¿Puedo mezclar ciclos y condicionales?
	Si, no hay problema con ello mientras existan las condiciones correctas que cierren el bucle.
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.
	// Programita para sumar o restar
	let num1;
	let num2;
	let option;
	
	alert("Bienvenido, por favor ingrese el número de la operación que desea realizar \n 1. Suma\n2. Resta");


	function suma(num1, num2) {
   	 return num1 + num2;
	}
	function resta(num1, num2) {
 	   return num1 - num2;
	}



	option = Number(prompt("Opción: "));
	switch (option) {
    	case 1:
        	num1 = Number(prompt("Valor 1"));
       		num2 = Number(prompt("Valor 2"));
        	alert("El resultado de la suma es: " + suma(num1, num2) );
        	break;
    	case 2:
        	num1 = Number(prompt("Valor 1"));
        	num2 = Number(prompt("Valor 2"));
        	alert("El resultado de la resta es: " + resta(num1, num2) );
        	break;
    	default:
        	alert("Ingrese otra opción");
        	break;
}

** Listas **
1️⃣ ** Responde las siguientes preguntas en la sección de comentarios: **
a. ¿Qué es un array?
Es un tipo de dato estructurado que permite almacenar un conjunto de datos homogeneos, es decir, todos ellos del mismo tipo y relacionados.
b. ¿Qué es un objeto?
Un objeto es un entidad independiente con propiedades y tipos.
c. ¿Cuándo es mejor usar objetos o arrays?
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. un array también se puede considerar como un objeto y tiene la mayoría de las funcionalidades del objeto.
d. ¿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 paises = ["Argentina", "Uruguay", "Venezuela", "Chile", "Ecuador"];

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

imprimirPrimerElemento (paises);
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(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). **

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

¿Que es una variable y para que sirve?
Una variable es la representacion de un lugar en memoria. Las variables son la manera como los programadores le dan nombre a un valor para poder reusarlo, actualizarlo o simplemente registrarlo. Las variables se pueden usar para guardar cualquier tipo de dato en JavaScript.

¿Cual 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.[1] Para declarar una variable usaremos una instrucción compuesta del nombre del tipo de datos de la variable, el nombre de la variable y opcionalmente un operador de asignación y un valor inicial.

¿Cuál es la diferencia entre sumar números y concatenar strings?
La principal diferencia es el tipo de valor de cada variable. Por ejemplo, si yo concateno las dos strings “te ”+ “quiero.”, lo que hace js es concatenarlas, porque entiende que ambas son strings. El resultado seria “te quiero.”.
Sin embargo, cuando yo sumo los números 1 + 3, sin comillas (“”). Js entiende que se tiene que sumar, ya que son números. El resultado seria 4.
Por último, cuando yo quiero hacer concatenar 1 + “5”, el resultado va a ser “15”, ya que el uno va a ser convertido como un string. Yo le puedo especificar a js que el cinco sea un numero de la siguiente manera Number(“5”), y de esto forma me podría aplicar la suma de manera correcta.

¿Cuál operador me permite sumar o concatenar?
El signo de suma, +.

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

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

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

const nombre = "Gianfranco", apellido = "Siguas";
var usuario, edad, correo, adulto, ahorros, deudas;

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

const nombre = "Gianfranco", apellido = "Siguas";
var usuario, edad, correo, adulto, ahorros, deudas;

ahorros = 1800;
deudas = 500;

console.log(`Hola, me llamo ${nombre} ${apellido}. Y el dinero real que tengo es ${ahorros - deudas}`)```

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

¿Qué es una función?
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ándo me sirve usar una función en mi código?
Cuando el codigo es repetitivo.

¿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:

//Declarando constantes
 const name = "Gianfranco", lastname = "Siguas", nickname = "YapeJarvi";
const completeName = `${name} ${lastName}`;
//Creando funcion
function PresentarPersona(name, nickname){
	console.log(""Mi nombre es " + name + ", pero prefiero que me llamen " + nickName + "."")
}
// Uso de la funcion
presentarse(completeName, nick);

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

¿Qué es un condicional?
El operador condicional (ternario) es el único operador en JavaScript que tiene tres operandos. Este operador se usa con frecuencia como atajo para la instrucción if.
condición ? expr1 : expr2 

¿Qué tipos de condicionales existen en JavaScript y cuáles son sus diferencias?
Existe el if que ejecuta una parte del codigo si sucede una accion, luego esta el if else que va de la mano con el if. Por ultimo el switch que es parecido al if else pero que trabaja con cases.

¿Puedo combinar funciones y condicionales?
Si se puede, dentro de funciones pueden haber condicionales y dentro de condiciones pueden haber funciones.
// Condiciones dentro de funciones

function myFunction(parameterOne, parameterTwo){
  if(parameterOne > parameterTwo){
    @code
  }else{
    @code
  }
}

// Funciones dentro de condicionales

if(variableOne < variableTwo){
  my-functionOne();
}else{
  my-functionTwo();
}

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

const tipoDeSuscripcion = "Basic";
if (tipoDeSuscripcion === "Basic"){
	console.log("Puedes tomar casi todos los cursos de Platzi durante un mes");
} else if{
	if (tipoDeSuscripcion === "Free"){
	console.log("Solo puedes tomar los cursos gratis");
	}else if{
		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️⃣ Responde las siguientes preguntas en la sección de comentarios:

¿Qué es un ciclo?
Un bucle o ciclo, en programación, es una sentencia que se realiza repetidas veces a un trozo aislado de código, hasta que la condición asignada a dicho bucle deje de cumplirse.

¿Qué tipos de ciclos existen en JavaScript?
Ciclo for
Ciclo for/in
Ciclo for/each
Ciclo while()
Ciclo do/while()

¿Qué es un ciclo infinito y por qué es un problema?
Es un loop el cual por algun motivo o descuido olvidamos indicar que pare y hace que el navegador realice sin parar una accion por lo que podria bugearse o paralizarse.

¿Puedo mezclar ciclos y condicionales?
Si se puede mezclar ciclos y condicionales.

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

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.

function pregunta(){
	var a = prompt("Cuanto es 2 + 2?")
	if (a === "4"){
	 console.log("Respuesta correcta 2 + 2 = 4")
	} else{
	 console.log("Respuesta incorrecta")}
	}
}

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

¿Qué es un array?
Los arrays son objetos similares a una lista cuyo prototipo proporciona métodos para efectuar operaciones de recorrido y de mutación. 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 utilizan cuando almacenamos múltiples valores de una sola variable, mientras que un objeto puede contener múltiples variables con sus valores.
Un array también se puede considerar como un objeto y tiene la mayoría de las funcionalidades del objeto.

¿Puedo mezclar arrays con objetos o incluso objetos con arrays?
En los objetos no puede haber arrays, pero si puede haber arrays donde dentro haya objetos.

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

var anyfunction [10, 9, 8, 7, 6, 5, 4, 3, 2, 1]

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

firstElement(anyfunction);

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 anyfunction [10, 9, 8, 7, 6, 5, 4, 3, 2, 1]

function AllElement(anyfunction){
	anyfunction.forEach(item => {
    console.log(item)
  })
}

AllElement(anyfunction);

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 myVideoGamesFavorities = {
    history: 'God of War',
    velocidad: 'Crash Carrera',
    openworld: 'Zelda'
  };
  let reading = (object) => {
    for (let key in object) {
      console.log(object[key]);
       }
   }
  reading(myVideoGamesFavorities );

Mis respuestas al test de javascript ❤️
Parte 1:
a) Una variable es la representación de un lugar en memoria, y la podemos utilizar para guardar cualquier contenido o dato dentro de ella tanto strings, numbers, booleans, objects, functions, etc.
b) La diferencia entre declarar e inicializar una variable es que al declararla no le asignamos valor, pero le decimos a javascript, que la variable existe, que nos guarde un espacio en memoria para ella, y ya luego le daremos un valor. Por otra parte, inicializar las variables es darle ese valor a la variable que estamos guardando en memoria.
c) La diferencia entre sumar números y concatenar strings va en los tipos de datos que se apliquen, si sumamos un número con un string, nos va a realizar una coerción del número y lo va a hacer pasar como un string, y en ambos casos se suma y se concatena con el mismo operador.
d) El operador que me permite sumar y concatenar es el operador de +

Parte 2.
a) String
b)String
c) String
d) number
e) String
f) Boolean
g) number
h) Boolean

Parte 3
a) var nombre = “Mario”;
b) var apellido = “Yanez”;
c) var username = “MarioY”;
d) var edad = 23;
e) var email = “[email protected]”;
f) var adulto = true;
g) var savingMoney = 40;
h) var deudas = false;

parte 4
a) Var miNombre = “Mario Yanez”;
b) var dineroReal = 40 - 0; (porque el valor 0 es false)

Funciones. Parte 1
a) Una función es un conjunto de tareas que vamos a realizar con valores de variables inicializadas anteriormente que van a generar una acción y nos regresarán algo completamente diferente.
b) Nos sirve una función en caso de que queramos realizar una tarea específica, como una suma, un loop, un condicional, etc.
c) los parámetros son los datos que le vamos a pasar a la función al momento de llamarla dentro de los parentesis por ejemplo function (parametro1, parametro2). Y los argumentos son las variables que le tengamos que pasar a nuestra función para que pueda realizar la acción requerida

Parte 2
var presentacion = function (name, lastname, nickname) {
console.log ( Mi nombre es ${name} ${lastname}, pero prefiero que me digas ${nickname})
}

Condicionales parte 1
a) Una condicional es como vamos a validar si algo se cumple o no, es decir, son las reglas que aplicamos para validar si algo es verdadero o falso.
b) Existen 2 tipos de condicionales, están el condicional IF y el SWITCH, la principal diferencia entre estos es que el if se puede usar cuando tenemos un numero determinado de casos evaluando las diferentes expresiones que le pasemos, y con el switch va a evaluar una sola expresión pero va a evaluar todos los casos de manera ordenada
c) Directamente no se pueden combinar en una misma línea de código, pero sí puede existir la relación de que uno haga uso del otro

Parte 2.

const tipoDeSuscripción = "Basic";

if (tipoDeSuscripción === "Basic") {
	console.log("Puedes tomar casi todos los cursos de Platzi durante un mes");
} else if (tipoDeSuscripción === "Expert") {
	console.log("Puedes tomar casi todos los cursos de Platzi durante un año");
} else if (tipoDeSuscripción === "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");
};
  1. Replicar usando solo if
var suscripcion = ["Free", "Basic", "Expert", "ExpertPlus"];

var acceso = ["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"];

function plan(suscripcion, acceso) {
	console.log (`Posees una suscripción de tipo ${suscripcion}, por lo que ${acceso}`)
}
var userSuscripcion = "Basic";

for (var i = 0; i < suscripcion.length; i++) {
    if (userSuscripcion === suscripcion[i]) {
        plan(suscripcion[i], acceso[i]);
    }
};

Ciclos

  1. Respondiendo las preguntas
  • Un ciclo es una manera rápida y sencilla de que una tarea pueda repetirse sin que lo tengamos que hacer de forma manual
  • Existen el ciclo for, for of, while, do while
  • Un ciclo infinito es un ciclo que se va a repetir de forma indefinida a causa de no haberle puesto una condición que lo termine, es un problema porque puede relentizar nuestras computadoras, y puede generar fallos en nuestro código
  • De igual manera que las funciones no se pueden combinar en la misma línea de código pero sí pueden ser usados juntos para un propósito
  1. Replicar el comportamiento usando ciclos while
var i = 0;
while (i < 5) {
	var i = i++;
	console.log("el valor de i es: " + i);
}

var i = 10;
while (i >= 2) {
	var i = i --;
	console.log ("El valor de i es: " + i);
}
  1. Codigo de preguntar a usuarios
var pregunta = prompt ("Cuánto es 2 + 2?")
var n = number(pregunta)

if (pregunta === 4) {
	console.log("Felicidades, respuesta correcta");
} else {
	console.log("Sigue intentandolo :(");
}

pregunta

Listas

  1. Preguntas
  • Un array es una estructura de datos y a su vez es un valor de tipo objeto que puede guardar más valores dentro, ya sean numeros, strings, otros arrays, e incluso objetos dentro de él.
  • Un objeto en pocas palabras es la manera de que podemos traer objetos del mundo físico a javascript
  • Los arrays los utilizamos cuando queremos guardar una gran cantidad de datos dentro de él, y los objetos los utilizamos cuando queremos darle descripción a una cosa en específico.
  • Sí se pueden mezclar arrays con objetos y objetos con arrays
  1. Funcion

var frutas = [“Manzana”, “Durazno”, “Pera”];
function imprimirFruta (fruta) {
console.log(frutas[0])
}
3.

var frutas = ["Manzana", "Pera", "Durazno", "Mango", "Naranja", "Uvas"];

function hayFrutas (fruta) {
	console.log(`Tenemos ${fruta}`);
};

for (fruta of frutas) {
	hayFrutas(fruta)
}
  1. Funcion con objeto
var miAuto = {
  marca: 'Ford',
  modelo: 'Explorer',
  year: 2011
};
function leerObjeto(objeto) {
  for (var key in objeto) {
    console.log(objeto[key]);
 	}
 };
leerObjeto(miAuto);

¿Qué es una variable y para qué sirve?
Una variable sirve para guardar un valor en la memoria RAM que posteriormente usaremos para alguna función o alguna operación
¿Cuál es la diferencia entre declarar e inicializar una variable?
Cuando declaras una variable únicamente le pones el nombre y es para indicar que esa variable existe, inicializarla es asignarle un valor con el símbolo de =
¿Cuál es la diferencia entre sumar números y concatenar strings?
Por ejemplo si sumas 1 + 2 es 3 (números), si sumas “1” + “2” = “12” (string) básicamente si se suman dos strings no se realiza ninguna operación matemática, solo se juntan las cadenas de caracteres y ya
¿Cuál operador me permite sumar o concatenar?
+
Determina el nombre y tipo de dato para almacenar en variables la siguiente información:
Nombre = const, string
Apellido =const, string
Nombre de usuario en Platzi = const, string
Edad = let, numérico
Correo electrónico = const, mail
Mayor de edad = let, boleano
Dinero ahorrado = let, numérico
Deudas = let, numérico
Traduce a código JavaScript las variables del ejemplo anterior y deja tu código en los comentarios.

const nombre = "Dante"
const apellido = "Castellón"
const nombreDeUsuarioEnPlatzi = "DanteCastellon204"
let edad = 29
const correoElectrónico = "[email protected]
let mayor de edad = true
let dineroAhorrado = 20,000
let deudas = 0 //gracias a dios

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

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

Responde las siguientes preguntas en la sección de comentarios:
¿Qué es una función?
Un pedazo de código que realiza una acción
¿Cuándo me sirve usar una función en mi código?
Cuando necesito que pase algo
¿Cuál es la diferencia entre parámetros y argumentos de una función?
Los parámetros son datos que necesita nuestra función para realizar su acción, los argumentos son las instrucciones de la operación que realizará???
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 myFunction(name, lastname, nickname) {
	let name = "Juan David";
	let lastname = "Castro Gallego";
	let nickname = "juandc";
	console.log(""Mi nombre es " name + " " + lastname + ", pero prefiero que me digas " + " " + nickname + ".")
}

¿Qué es un condicional?
un pedazo de código que solo se ejecuta si sus condiciones son verdaderas
¿Qué tipos de condicionales existen en JavaScript y cuáles son sus diferencias?
if es la más común, sirve para condicionales simples
swich es para condicionales donde se usan casos
else if es para concatenar varios if
¿Puedo combinar funciones y condicionales?

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 {
       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).

<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");
}> > 

Responde las siguientes preguntas en la sección de comentarios:
¿Qué es un ciclo?
Es un pedazo de código que se repite varias veces
¿Qué tipos de ciclos existen en JavaScript?
for, forEach, while
¿Qué es un ciclo infinito y por qué es un problema?
es un ciclo cuya condición para que termine nunca se cumple, es un problema porque nunca termina y rompe el flujo del código
¿Puedo mezclar ciclos y condicionales?
si

Continará porque ahorita ya me tengo que ir u.u

Test de JavaScript
Variables y operaciones
1️⃣
Una variable es un espacio de memoria utilizado para guardar información en forma de datos.
Cuando declaramos una variable podes asignarle o no un contenido, si no lo hacemos la variable es considerada “indefinida” pero existente de todas formas. Cuando la inicializamos es que le asignamos un valor o contenido.
Al sumar números esto sucede como una operación matemática normal, pero cuando concatenamos o “sumamos” strings, estos se unen por los extremos que estén en contacto con el operador matemático de suma +, formando un nuevo y unico string.
2️⃣
Nombre => de tipo "string"
Apellido => de tipo "string"
Nombre de usuario en Platzi => de tipo "string"
Edad => de tipo "number"
Correo electrónico => de tipo "string"
Mayor de edad => de tipo "boolean"
Dinero ahorrado => de tipo "number"
Deudas => de tipo "number"
3️⃣

let nombre = "Santiago";
let apellido = "Vicente";
let nombreDeUsuario = "s4nt1";
let edad = 22;
let email = "[email protected]"
let mayorEdad = true;
let dineroAhorrado = 2500;
let deudas = 100000;

4️⃣

let nombreCompleto = `${nombre} ${apellido}`;
let dineroReal = dineroAhorrado - deudas;
console.log(`Nombre completo: ${nombreCompleto},
             Dinero real: ${dineroReal}`);

Funciones
1️⃣
Una función es un fragmento de código reutilizable que realiza una tarea, este código solo se ejecuta si se llama a la función.
Usar funciones es útil cuando necesitamos hacer tareas repetitivas y ahorrar código.
Los parámetros sirven para pasar valores que serían utilizados por el código de la función, los argumentos son los valores que les envío a los parámetros.
2️⃣

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

function miNombreEs(nombreCompleto, nickname) {
  console.log(`Mi nombre es ${nombreCompleto}, pero prefiero que me digas ${nickname}.`);
}
miNombreEs(completeName, nickname);

Condicionales
1️⃣
Los condicionales se utilizan para tomar decisiones, realizar diferentes acciones dependiendo de distintas entradas.
En JavaScript existen tres tipos de condicionales:
Las declaraciones “if…else”, las declaraciones con “switch” y los operadores ternarios. El condicional “if…else” es el mas común, pero algunos casos donde se tiene una gran cantidad de opciones y la sintaxis puede ser algo engorrosa, es mejor utilizar el “switch”. Los operadores ternarios se utilizan para definir una condición, el resultado cuando se cumple y cuando no se cumple, en una sola línea.
Podemos usar funciones y condicionales juntos, ya sea para llamar a una función según una condición o usar condiciones dentro de una función.
2️⃣

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 gratis 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 = "Basic";

const suscripciones = 
[{tipo: "Free", plan: "Solo puedes tomar los cursos gratis"}, 
{tipo: "Basic", plan: "Puedes tomar casi todos los cursos de Platzi durante un mes"}, 
{tipo: "Expert", plan: "Puedes tomar casi todos los cursos de Platzi durante un año"}, 
{tipo: "ExpertPlus", plan: "Tú y alguien más puede tomar TODOS los cursos de Platzi durante un año"}];

for(suscripcion of suscripciones) {
  if(suscripcion.tipo == tipoDeSuscripcion) {
    console.log(suscripcion.plan);
  }
}

Ciclos
1️⃣
Los ciclos nos permiten repetir la ejecución de un código varias veces.
En JavaScript existen los ciclos “for”, los “while”, los “do…while”, los “for…in” y los “for…of”.
Un ciclo infinito sucede cuando la ejecución del código se repite sin parar. Son un problema porque pueden romper el programa o navegador y congelar tu computadora.
Puedes mezclar ciclos y condicionales ya sea, que si se cumple una condición se ejecute un ciclo ó que dentro de un ciclo haya un condicional.
2️⃣

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️⃣

function cuantoEs() {
  let respuesta = prompt("¿Cuánto es 2 + 2?");
  if(respuesta == "4") {
    console.log("¡Felicitaciones, acertaste!");
  } else {
    console.log("Fallaste, vuelve a intentar");
    cuantoEs();
  }
}
cuantoEs();

Listas
1️⃣
Un array es una colección de elementos. Estos elementos pueden ser de cualquier tipo de dato.
Un objeto es una colección de propiedades. Estas propiedades pueden ser de cualquier tipo de dato.
Los objetos se utilizan para representar objetos de la vida real, con sus diferentes características. Los arrays se usan para hacer listas de objetos o elementos.
Sí, puedes mezclar arrays con objetos y objetos con arrays también.
2️⃣

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

3️⃣

function elementosArray(array) {
  array.forEach(elemento => console.log(elemento));
}

4️⃣

function elementosObjeto(objeto) {
  for(elemento in objeto) {
    console.log(elemento);
  }
}

Funciones
1️⃣ Responde las siguientes preguntas en la sección de comentarios:
¿Qué es una función? es un conjunto de sentencias que podemos utilizar para generar ciertas acciones
¿Cuándo me sirve usar una función en mi código? cuando quiero ejecutar un procedimiento o una tarea
¿Cuál es la diferencia entre parámetros y argumentos de una función? los parametros son los nombres definidos en la funcion y los argumentos son los valores que le damos en 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 + “.”);

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

Una variable es un espacio de memoria que guarda un valor de diferentes tipos.
Declarar la variable es definir el tipo de valor que guardará la variable, inicializarla es darle un valor inicial con el cual trabajará el programa.
Sumar números nos arrojará como resultado la adición de los valores, concatenar strings es unir varias cadenas de texto en una sola.
El operador es “+”

Nombre: String (Cadena de caracteres)
Apellido: String (Cadena de caracteres)
Nombre de usuario en platzi: String (Cadena de caracteres)
Edad: Number (numero entero)
Correo electrónico: String (Cadena de caracteres)
Mayor de edad: Boolean (true or false)
Dinero ahorrado: Number (Numeros enteros o flotantes)
Deudas: Number (Numeros enteros o flotantes)

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?
Las variables son espacios de memoria donde almacenamos informacion.

¿Cuál es la diferencia entre declarar e inicializar una variable?
Declarar una variable es solo darle nombre, inicializarla es asignarle un valor, sea primitivo o de tipo objeto.

¿Cuál es la diferencia entre sumar números y concatenar strings?
Los valores seran tratados como nosotros los determinemos. Si escribimos numeros entre comillas los estamos tratando como strings. Si a estos los sumamos con el operador “+” se concatenaran como
strings.

¿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

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

const nombre = "Xavier"; //String
const apellido = "Lopez"; //String
const usuario = "xaviLo"; //String
const edad = 24; //Integer
const email = "[email protected]"; //String
const mayoriaEdad = true;
const ahorros = 1000.20; //Float
const deudas = -200.50; //Float

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)
console.log(nombre + " " + apellido);
console.log(ahorros + deudas);

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

¿Qué es una función?
Es una instrucción para realizar una tarea sin escribirla de nuevo.

¿Cuándo me sirve usar una función en mi código?
Cuando queremos repetir una actividad sin necesidad de volverla a escribir.

¿Cuál es la diferencia entre parámetros y argumentos de una función?
Los parámetros son los datos que tomará del entorno nuestra función (lo que está dentro de sus paréntesis); mientras que los argumentos son los valores que nosotros determinamos a la hora de
llamar la función (lo que ubicaremos dentro de los paréntesis al momento de llamar la función para ejecutar una tarea).

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 introduction (a, b, c) {
    const completeName = a + " " + b;
    return "Mi nombre es " + completeName + ", pero prefiero que me digas " + c + "."
}

introduction("Juan David", "Castro Gallego", "juandc");

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

¿Qué es un condicional?
Es una bifurcación de tareas. Se valida una sentencia, en caso de verdadera o falsa se ejecuta una tarea según la veracidad o falsedad de la misma… En otras palabras, una decisión.

¿Qué tipos de condicionales existen en JavaScript y cuáles son sus diferencias?
Existen 3 tipos de condicionales:
1° If… else:
Se valida la sentencia en un solo caso; en caso de ser verdadera se ejecuta un bloque de código, en caso de ser falsa otro bloque.

2° If …else if:
Se valida la sentencia en más de un caso; se ejecutará un bloque de código según la validez de cada caso.

3° Switch case:
Se valida la sentencia en múltiples casos; los cuales se agrupan en un switch, siendo una forma más organizada de juntar varios “…else if”; se evalúa en cada “case” una sentencia y en caso
de ser verdadera se ejecuta su bloque de código sin ejecutar los demás (esto gracias al “break” al final de cada “case”).

¿Puedo combinar funciones y condicionales?
Sí se pueden combinar. Ej:

	function caminar(a) {
	    console.log( "camina a la " + a);
	}
	
	const sentido = 2;
	const direccion;

	switch (sentido){

	    case 1:
	    direccion = "arriba"
	    caminar(direccion)
	    break;

	    case 2:
	    direccion = "derecha";
	    caminar(direccion);
	    break;

	    case 3:
	    direccion = "abajo";
	    caminar(direccion);

	    default:
	    direccion = "izquierda";
	    caminar(direccion);
	}

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;
}
.
R:

	//solo con if else:

	if (tipoDeSuscripcion == "Basic") {
	    console.log("Puedes tomar casi todos los cursos de Platzi durante un mes");
	} else {
	    console.log("Puede tomar solo los cursos gratis o acceder a casi todos los cursos de Platzi durante un annio")
	}

	//solo else if:
	if (tipoDeSuscripcion == "Basic") {
	    console.log("Puedes tomar casi todos los cursos de Platzi durante un mes");
	} else if (tipoDeSuscripcion == "Free") {
	    console.log("Solo puedes tomar los cursos gratis");
	} else if (tipoDeSuscripcion == "Expert") {
	    console.log("Puedes tomar casi todos los cursos de Platzi durante un annio");
	} else  {
	    console.log("Tu y alguien mas pueden tomar TODOS los cursos de Platzi durante un annio");
	}

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 options = [
	    {
		type: "Free",
		description: "Solo puedes tomar los cursos gratis"
	    },
	    {
		type: "Basic",
		description: "Puedes tomar casi todos los cursos de Platzi durante un mes"
	    },
	    {
		type: "Expert",
		description: "Puedes tomar casi todos los cursos de Platzi durante un annio" 
	    },
	    {
		type: "ExpertPlus",
		description: "Tu y alguien mas pueden tomar TODOS los cursos de Platzi durante un annio"
	    }
	]

	const whichMembership = options.map( function(membership) {
	    if (membership.type == "Basic") {
		return membership.description;
	    }
	})

	console.log(whichMembership);

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

¿Qué es un ciclo?
Es una tarea que se repite mientras se cumpla una condición.

¿Qué tipos de ciclos existen en JavaScript?
Existen 3 tipos de ciclos en Javascript:
1° For:
Aquí se inicializa la variable iteradora con una condición de partida, las condiciones para finalizar el ciclo y como cambiará la variable iteradora en cada vuelta del ciclo.
Ej:

	const anyArray = ["maria", "pedro", "laura", "jose"];
	
	for (var i = 0; i < anyArray.length; i++) {
		console.log("Hola " + anyArray[j])
	}

2° While:
En este ciclo se establece una sentencia, la cual se debe mantener como verdadera para que la tarea dentro del ciclo se siga ejecutando; en caso de que la sentencia deje de ser verdadera se
detendrá la ejecución de la tarea dentro del ciclo.
Ej:
const anyArray = [“maria”, “pedro”, “laura”, “jose”];
const j = 0;

while (j < anyArray.length) {
	console.log("Hola " + anyArray[j])
	j += 1;
}

3° Do… While:
Este tipo de ciclo es idéntico al while a excepción que se indica realizar la tarea propuesta al menos una vez, para después validar la sentencia y ahí sí ejecutar la tarea nuevamente en caso
de ser verdadera.
Ej:

	const anyArray = ["maria", "pedro", "laura", "jose"];
	const j = 0;
	
	do {
		console.log("Hola " + anyArray[j])
		j += 1;
		
	} while(j < anyArray.length)

¿Qué es un ciclo infinito y por qué es un problema?
Un ciclo infinito es un ciclo que no detiene la tarea que tiene programada bajo ninguna condición; esto causa que al ejecutarse se sature la memoria de la computadora al no detenerse el ciclo.

¿Puedo mezclar ciclos y condicionales?
Sí se puede, no son instrucciones mutuamente excluyentes.
Ej:

const numberArray = [1, 2, 3, 4, 5, 6];

for (var j = 0; j < numberArray.length; j++) {
    if (numberArray[j] % 2) {
	console.log("It's odd");
    } else {
	console.log("It's even")
    }
}

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);
}
//R:

let i = 0;

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

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

while (i >= 2) {
    console.log("El valor de i es: " + 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.

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

	let number;
    do {
        number = prompt("Cuanto es 2 + 2?");
        if (number ==  4) {
            console.log("Felicitaciones");
        } else {
            console.log("volvamos a intentarlo")
        }
    } while (number != 4)

Listas
1️⃣ Responde las siguientes preguntas en la sección de comentarios:
.
¿Qué es un array?
Es una variable tipo objeto que almacena varias variables de tipos iguales o distintos. Su sintaxis es con corchetes.
.
¿Qué es un objeto?
Es una variable tipo objeto que contiene atributos y valores, los cuales sirven para emular elementos de la realidad. Su sintaxis es con llaves.
.
¿Cuándo es mejor usar objetos o arrays?
Cuando queremos almacenar valores en formato de lista podemos usar arrays, y cuando queremos almacenar varios atributos o caracteristicas de un elemento podemos construir un objeto.
.
¿Puedo mezclar arrays con objetos o incluso objetos con arrays?
Si podemos mezclar arrays con objetos, formando arrays de objetos por ejemplo:
.

const autos = [
{modelo: "Corolla",
marca: "Toyota",
annio: 2020},

{modelo: "X",
marca: "Tesla",
annio:2019},

{modelo: "Explorer",
marca: "Ford",
annio: 2016}
]

.
Tambien podemos hacer un objeto con arrays:
.

const mercado = {
	vegetales: ["zanahoria", "lechuga", "tomate", "repollo"],
	carnes: ["pollo", "chuleta de cerdo", "costillas de res"],
	carbohidratos: ["arroz", "pasta", "harina de maiz"]
}

console.log(mercado.vegetales[0] + " " + mercado.vegetales[2]);

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

function readFirst (array) {
    return array[0];
}

const list = ["a", "b", "c", "d"];

readFirst(list);

.
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 oneByOne (array) {
    let j = 0;
    while (j < 4) {
        console.log(array[j]);
        j += 1;
    }    
}

oneByOne(list);

.
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).
.


// array de objetos donde se va recorrer y extraer los valores de los atributos
const listOfArtifacts = [
    {
    name: "FPV",
    model: "K-3.7",
    type: "drone",
    year: 2020
    },

    {name: "JGT",
    model: "98-TF",
    type: "UAV",
    year: 2014},

    {name: "NBP",
    model: "BD-9/5",
    type: "Nano-key",
    year: 2024},

    {name: "JN-8",
    model: "4-M3",
    type: "Reflective shield",
    year: 2021}
]

// función referente al objeto cuando se itere con el método map mas abajo
function elementDetails (element) {
    return `This is a ${element.name} ${element.type}, model ${element.model} ${element.year}`;
}

// método map para recorrer el array de objetos, el cual va a imprimir uno a uno los elementos del objeto, siendo estos parte de un nuevo array.
const newArtifacts = listOfArtifacts.map( function(artifact) {
        console.log(elementDetails(artifact));
})

  • Variables y Operadores

      • Son datos que cambian de valor y sirven para almacenar datos que van a cambiar a lo largo de la ejecución del programa.
      • se le da un valor a la variable
      • se suman números aritmeticamente y en la otra se unen palabras.
      • el signo de suma +
    1. Parte 2 y 3

      let name = "Martín" ;//string
      
    2. Parte 4

      let fullName = `${name} ${apellido};`
      console.log(fullName); // Martín Gutiérrez
      realMoney = moneySaved - debt;
      console.log(`El dinero actual es: $ ${realMoney}`);
      
  • Funciones

    1. Parte 1

      • es una relación que puede recibir o no valores de entrada y da un resultado.
      • cuando se puede reutilizar código.
      • de donde es llamado si se inicializa son parámetros y si es desde la función son sus argumentos.
    2. Parte 2

      const completeName = (name,lastname) => name + lastname;
      console.log(`Mi nombre es ${completeName('Juan David','Castro Gallego')}, pero prefiero que me digas Juandc`).
      
  • Condicionales

    1. Responde las siguientes preguntas

      • es una decisión que responde a un true o false
      • if, else, else if,switch
      • si
    2. Replica el comportamiento del siguiente código

      const tipoDeSuscripcion = "Basic";
      if( tipoDeSuscripcion == "Free")
      {
      		console.log("Solo puedes tomar los cursos gratis");
      }
      	else if (ipoDeSuscripcion == "Basic")
      {
      		console.log("Puedes tomar casi todos los cursos de Platzi durante un mes");
      }
      	else if (ipoDeSuscripcion == "Expert")
      {
      		console.log("Puedes tomar casi todos los cursos de Platzi durante un año");
      	}
      else if (ipoDeSuscripcion == "ExpertPlus")
      {
      		console.log("Tú y alguien más pueden tomar TODOS los cursos de Platzi durante un año");
      }
      else
      {
      		console.log("Te equivocaste");
      }
      
    3. Replica el comportamiento de tu condicional anterior

const tiposDeSuscripciones = ["Free","Basic","Expert","ExpertPlus"];
const tipoDeSuscripcion = "Basic";
tiposDeSuscripciones.forEach(type => )

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 datos, sean del tipo que sea (eso en JavaScript que tenemos tipado dinámico).

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

Al declarar la variable estas reservando la memoria para ella, pero al inicializar estás guardando data en ella.

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

Sumar números es la adición de variables de tipo de dato entero o flotante.

Concatenar es unir dos variables de tipo string una tras otra.

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

El operador de ‘+’

  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 (int)
  • Correo electrónico : String
  • Mayor de edad : Boolean
  • Dinero ahorrado : Number (float)
  • Deudas : Number (float)
  1. Traduce a código JavaScript las variables del ejemplo anterior y deja tu código en los comentarios.
let nombre = "Oscar";
let apellido = "Bucio"; 
let usuario = "Dany0343";
let edad = 21;
let correo = "[email protected]";
let mayorEdad = true;
let ahorrado = 39939294329;
let deudas = 0;
  1. 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)

console.log(`El nombre es: ${nombre} ${apellido}`); // Nombre completo
console.log(`El dinero real es: ${ahorrado - deudas}`); // Dinero real

Funciones

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

Una función es un segmento de código que nos ayuda a reutilizar nuestro código y utilizarlo cada vez que lo necesitemos sin escribirlo una y otra vez

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

Cuando queremos reutilizar el mismo código varias veces, además que podemos tener mejor orden en nuestro programa.

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

Parámetros son las variables que recibe una función y se pueden utilizar dentro de la función y argumentos son las variables que se pasan a la función de forma externa.

  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:
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 + ".");

resultado

function fullName (name, lastname, nickname) {
    return `Mi nombre es: ${name + lastname}, pero prefiero que me digas ${nickname}.`;
}
const name = prompt("Introduce tu nombre");
const lastname = prompt("Introduce tus apellidos");
const nickname = prompt("Introduce tu nickname");

name = fullName(name,lastname,nickname);
console.log(name);

Condicionales

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

Es una estructura computacional que nos permite acceder a distintos bloques de código según el resultado lógico que arroje. Si es true pasa al primer bloque y si es false se va directamente al else

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

Existe el if, if else, else if y el operador ternario.

El if solo evalúa la condición si es true se ejecuta el bloque de código pero si no lo es solo lo pasa.

Con el if else es lo mismo solo que si da como resultado false entonces se pasa directamente al bloque de código del else.

Con el else if se revisa una condición más en el else, generalmente lleva un else final por si ninguna condición dió true.

El operador ternario es un if else pero adaptado a una sintaxis corta con ‘?’ y ‘:’

  • ¿Puedo combinar funciones y condicionales?

Claro que si, por ejemplo si tienes un if que se cumple se ejecuta una función y también lo contrario si se ejecuta puedes tener una función en el else.

  1. 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;
}

replica

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 === "Expert") {
    console.log("Tú y alguien más pueden tomar TODOS los cursos de Platzi durante un año");
}
else {
    console.log("No tienes ningun tipo de suscripción, wow");
}
  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");
}
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") {
    console.log("Tú y alguien más pueden tomar TODOS los cursos de Platzi durante un año");
}

Reto extra

let userSuscripton = 'Expert';
let suscriptions = ["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"];

suscriptions.forEach(element => {
    if(userSuscripton == element) {
        let index = suscriptions.indexOf(element);
        console.log(`Tu tipo de suscripción es: ${userSuscripton}. ${infoSuscripción[index]}`);
    }
});

Ciclos

  1. Responde las siguientes preguntas en la sección de comentarios:
  • ¿Qué es un ciclo?

Es una estructura iterativa que nos permite repetir un segmento de código un numero determinado de veces

  • ¿Qué tipos de ciclos existen en JavaScript?

Ciclo for, while, do while, forEach, for of, for in

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

Es un ciclo que no tiene determinado cuando terminará debido a un error de planteamiento, peligroso ya que puede utilizar nuestra memoria hasta llenarla y tronar el programa.

  • ¿Puedo mezclar ciclos y condicionales?

Por supuesto, dependiendo una condición en un if se puede utilizar un ciclo y de igual forma si no pasa, con un else.

  1. 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--;
}
  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.
    Pista: puedes usar la función prompt de JavaScript.
while(true){
    let response = parseInt(prompt("Cuanto es 2 + 2"));

    if(response === 4) {
        console.log("Correcto!");
        break
    }
    else {
        console.log("Intentalo de nuevo");
    }
}

Listas

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

Es una colección de espacios de memoria donde se pueden almacenar datos de forma seguida.

  • ¿Qué es un objeto?

Un objeto es una estructura de datos donde los datos se almacenen de forma “llave-valor”.

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

Dependiendo lo que se desee hacer, si se tienen datos enlazados a algún nombre o una “llave” sería mejor usar objetos pero si solo son datos entonces arreglos

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

Si se puede, de ambas formas, arreglos en objetos y objetos en arrays-

  1. Crea una función que pueda recibir cualquier array como parámetro e imprima su primer elemento.
let arr = [1,2,3,4,5];
function myFun(arr) {
    console.log(`El primer elemento es: ${arr[0]}`);
}
myFun(arr);
  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)
let arr = [1,2,3,4,5];
function myFun(arr) {
    arr.forEach(element => {
        console.log(element)
    });
}
myFun(arr);
  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).
let obj = {
    nombre: "Oscar",
    edad: 21,
    escuela: "IPN",
}
function myFun(obj) {
    for(let element in obj) {
        console.log(element)
    }
}
myFun(obj);

Ejercicio 2
let nombre= "Luis"
let apellido="Gonzales"
let nombreUsPlatzi="luiG"
let edad = 44
let email="[email protected]"
let mayorDeEdad= true
let dineroAhorrado= 500
let deudas= 280

let nombreCompleto= Nombre Completo ${nombre} ${apellido}
console.log(nombreCompleto)

let dineroReal = 'Dinero real ’ +[dineroAhorrado-deudas]
console.log(dineroReal)
Nombre Completo Luis Gonzales
Dinero real 220

1️⃣ Responde las siguientes preguntas en la sección de comentarios:
¿Qué es una variable y para qué sirve? es la representación de algún lugar en la memoria que vamos a reservar para poder guardar un valor.
¿Cuál es la diferencia entre declarar e inicializar una variable? declarar es asignar un nombre a la variable e inicializar es darle valores a esa variable
¿Cuál es la diferencia entre sumar números y concatenar strings? sumar números da como resultado otro número producto de una operación matematica y concatenar strings es la unión de caracteres
¿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 (texto - tipo string)
Apellido (texto - tipo string)
Nombre de usuario en Platzi (texto - tipo string)
Edad (numero - tipo number)
Correo electrónico (texto - tipo string)
Mayor de edad (objeto - tipo boolean)
Dinero ahorrado (numero - tipo undefined)
Deudas (numero - tipo undefined)
3️⃣ Traduce a código JavaScript las variables del ejemplo anterior y deja tu código en los comentarios.
var nombre = “Johan”;
var apellido = “Moncayo”;
var usuario = “johannmonc”;
var edad = 44;
var correo = “[email protected]”;
edad >18;
var salario = 1000000;
var dineroAhorro = 600000;
var deudas = salario - dineroAhorro;
4️⃣ Calcula e imprime las siguientes variables a partir de las variables del ejemplo anterior:
Nombre completo (nombre y apellido)
var nombre = “Johan”;
var apellido = “Moncayo”;
function nombreCompleto (){
console.log(nombre + " " + apellido);
};
Dinero real (dinero ahorrado menos deudas)
var salario = 1000000;
var deudas = 400000;
function dineroReal (){
console.log(salario-deudas);
};

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 representación de un espacio en memoria y sirve para almacenar datos

  • ¿Cuál es la diferencia entre declarar e inicializar una variable?
    Declarar una variable es asignarle un nombre para crearle un espacio en memoria, inicializar la variable es asignarle un valor o igualarla a algo

  • ¿Cuál es la diferencia entre sumar números y concatenar strings?
    Sumar números es hacer una operación matemática, concatenar strings es juntar dos cadenas de texto para formar una cadena de texto

  • ¿Cuál operador me permite sumar o concatenar?
    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: 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= 'lalo';
var apellido= 'landa';
var usuario= 'pickles';
var edad= 24;
var correo= '[email protected]'
var mayorEdad= true;
var ahorro= 3;
var deudas= 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)

var completo = nombre + ' ' + apellido;
console.log(completo);


var dineroReal = 'su dinero real es ' + (ahorro - deudas) + 'pesos';
console.log(real);

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

  • ¿Qué es una función?
    Una función es una tarea programada por el usuario, se utiliza para reutilizar código

  • ¿Cuándo me sirve usar una función en mi código?
    Cuando debo hacer una tarea en repetidas ocasiones

  • ¿Cuál es la diferencia entre parámetros y argumentos de una función?
    Los parámetros son variables locales declaradas en el momento en que se construye la función. Los argumentos son los datos que le pasamos como parámetro a la función en el momento en que llamamos 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 + “.”);

function presentation (n,l,nick) {
    console.log('Mi nombre es ' + n + " " + l + ", pero prefiero que me digas " + nick + ".");
}

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

  • ¿Qué es un condicional?
    Es un algoritmo, en que definimos instrucciones que darán un resultado de acuerdo a las condiciones que nosotros asignamos

  • ¿Qué tipos de condicionales existen en JavaScript y cuáles son sus diferencias?
    If, en que si ocurre una condición se ejecuta la instrucción
    Else if, en que si no ocurre la condición anterior, se define otra condición
    Else, que si no ocurren las condiciones definidas anteriormente, se ejecuta una instrucción
    condicional ternario: una forma de sintaxis para las condicionales en que se definen las instrucciones si se cumple la condición y si no se cumplen
    Switch case: tipo de condicional en que se definen casos y una instrucción específica para cada uno de los casos

  • ¿Puedo combinar funciones y condicionales?
    Si, por ejemplo se pueden crear condicionales dentro de los bloques de código de la funció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;
}

 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 omar casi todos los cursos de platzi durante un año");
} else if (tipoDeSuscripcion === "expertPlus") {
    console.log('tu y alguien mas 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. 😏

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

  • ¿Qué es un ciclo?
    Es una tarea que se ejecuta repetidas veces hasta que se deja de cumplir una 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 un ciclo que se repite indefinidamente porque no se ha definido bien la condición que se tiene que dar para el ciclo se ejecute. Es un problema porque un ciclo infinito puede estropear todos los procesos de lo que se intenta ejecutar, he incluso teniendo que interrumpir los procesos forzosamente a través del sistema

  • ¿Puedo mezclar ciclos y condicionales?
    Si, se puede por ejemplo tener una condicional, que de cumplirse genere un ciclo, por ejemplo, un caso en que si tengo una lista con cierta cantidad de ítems, me imprima en la consola dicha lista, recorriendo la lista e iterando por cada item.

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);
}

RESPUESTA:
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.
💡 Pista: puedes usar la función prompt de JavaScript.

var respuestas;
do {respuestas = prompt('cuanto es dos mas dos')} while (respuestas != 4);

alert('felicitaciones');

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

  • ¿Qué es un array?
    Es un dato de tipo objeto que consiste en una lista ordenada de items

  • ¿Qué es un objeto?
    Es un tipo de dato que consiste en un ‘objeto’ que tiene propiedades y valores para cada propiedad

  • ¿Cuándo es mejor usar objetos o arrays?
    Es mejor usar objetos cuando se tiene una lista descriptiva de cierto objeto, por ejemplo autos, los cuales suelen tener modelos, año de fabricación, tipo de combustible etc… los arrays son buenos cuando se tiene una lista de valores de una sola propiedad, por ejemplo en un salón sería un array para estaturas, otro para nombres, otro para edad

  • ¿Puedo mezclar arrays con objetos o incluso objetos con arrays?
    Si, se pueden mezclar objetos con arrays, cuando se tiene un objeto que tiene una propiedad que puede tener muchos valores, por ejemplo un objeto de tipo “bebida isotónica”, tiene una propiedad color, propiedad cantidad, propiedad sabor, y podría tener una propiedad vitaminas, que tiene multiples valores (b12, b6, b3) cuyos valores pueden estar organizados en un array. Por otra parte se pueden crear arrays cuyos índices sean objetos

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

function imprimirPrimerElemento (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 imprimirElementos(array) {
    for (var 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 imprimirElementos (objeto) {
    for (var property in objeto) {
        console.log(`${property}: ${objeto[property]}`);
    }
}

¿Qué es una función?
Es un fragmento de codigo que lo declaramos una vez y lo vamos a poder reusar la veces necesarias
¿Cuándo me sirve usar una función en mi código?
Cuando veamos la necesidad de evitar estar escribiendo el mismo código una y otra repetirlo
¿Cuál es la diferencia entre parámetros y argumentos de una función?
Parametros: Son las variables(parametros) en el cuerpo de la funcion
Argumentos : Son los valores(argeumetos) que les pasamos al invocar la funcion

Funciones ejercicio 2
function ejercicio(name, lastname, nickname){
console.log(Mi nombre es: ${name} ${lastname} pero prefiero me digas ${nickname})
}
ejercicio(“Pedro”,“Sorin Acosta”, “Sori”)
Mi nombre es: Pedro Sorin Acosta pero prefiero me digas Sori

-Una variable es un espacio en memoria que guardamos con un nombre para volver a utilizarla en el futuro

-inicializar es cuando le asignamos un valor a la variable y declarar cuando solo se pasa la variable pero sin decir que tipo de dato tendrá

-que los strings se unen en texto y los números se sumarian

-+

Variables y operaciones

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

  • ¿Qué es una variable y para qué sirve?
    • Representación en memoria que nosotros vamos a reservar para guardar un valor. En JS se utiliza la palabra reservada “var”.
  • ¿Cuál es la diferencia entre declarar e inicializar una variable?
    • Declarar la variable consiste en reservar un espacio en memoria con un nombre específico y usando la palabra reservada “var”.
    • Mientras que inicializar consiste en guardar un valor dentro del esparcio reservado.
  • ¿Cuál es la diferencia entre sumar números y concatenar strings?
    • Para juntos se usa el mismo signo “+”, sin embargo, cuando el valor almacenado en la variable es númerica los valores realizan una operación aritmetica, sin embargo, cuando el valor de la variable es un cáracter se comcatenan los valores. por ejemplo, 2 + ‘2’ es igual a ‘22’ mientras 2 + 2 es 4.
  • ¿Cuál operador me permite sumar o concatenar?
    • 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 → Número (Entero)
  • Correo electrónico → String
  • Mayor de edad → Boolean
  • Dinero ahorrado → Número (Float)
  • Deudas → Número (Float)

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

var name;
var lastname;
var user_platzi_name;
var age;
var email;
var is_adult;
var save_money;
var debt_money;

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

  • Nombre completo (nombre y apellido)
var name = 'Diego';
var lastname = 'Herrera';
console.log('Mi nombre es ' + name + ' ' + lastname);
  • Dinero real (dinero ahorrado menos deudas)
var save_money = 1000;
var debt_money = 500;
console.log(save_money - debt_money);

Funciones

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

  • ¿Qué es una función?
    • Conjunto de sentencias que usaremos para generar acciones entre los valores almacenados por las variables.
  • ¿Cuándo me sirve usar una función en mi código?
    • Cuando teng o un proceso dentro del algoritmo que puede ser repetitivo y quiero evitar generar duplicidad en el código
  • ¿Cuál es la diferencia entre parámetros y argumentos de una función?
    • los argumentos son los valores que se asignan a los parámetros de una función al momento de llamar 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 = "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 point_2_functions(name, last_name, nick_name){
	var complete_name = name + ' ' + last_name
	console.log("Mi nombre es " + complete_name+ ", pero prefiero que me digas " + nick_name+ ".");
}

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

Condicionales

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

  • ¿Qué es un condicional?

    • Reglas que nos permiten aplicar una lógica determinada.
  • ¿Qué tipos de condicionales existen en JavaScript y cuáles son sus diferencias?

    • if, else, else if, switch
  • ¿Puedo combinar funciones y condicionales?

    • Sï se pueden combinar. Pueden existir funciones dentro de condicionales o condicionales dentro de funciones
    // Ejemplo
    function mi_function(a, b){
    	if(a == b){
            return true;
        } else {
            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;
}

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 {
	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. 😏

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("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 consiste en un código que se puede ejecutar repetitivamente, y puede ejecutarse según las condiciones establecidas por el usuario.
  • ¿Qué tipos de ciclos existen en JavaScript?
//for
var estudiantes = ["Juan", "Lina", "Maria", "Sergio", "Rosa", "Daniel"];

function saludarAmigosEsteban(amigo){
	console.log(`Hola, ${amigo}, tú eres el mejor amigo de Esteban`);
}

for (var i = 0; i < estudiantes.length; i++){
	saludarAmigosEsteban(estudiantes[i]);
}

//for of: Recorre los valores de un objeto
for (var estudiante of estudiantes){
	saludarAmigosEsteban(estudiante);
}

//for in: Recorre los indices de un objeto
for (var estudiante in estudiantes){
	saludarAmigosEsteban(estudiante);
}

//while
while(estudiantes.length > 0){
	var estudiante = estudiantes.shift();
	saludarAmigosEsteban(estudiante);
}

  • ¿Qué es un ciclo infinito y por qué es un problema?
    • Cuando las sentencias lógicas no se cumplen y el algoritmo se ejecuta de forma infinita, puede ocupar los recursos del computador indefinidamente.
  • ¿Puedo mezclar ciclos y condicionales?
    • Sí, es posible realizar ciclos que contengan condicionales o viceversa.

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.

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

let testSuma;

testSuma = prompt('¿Cuánto es 2 + 2?');

if(testSuma == 4){
	alert('Excelente');
}
else {
	alert('Intenta de nuevo, digitaste mal la respuesta')
}

Listas

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

  • ¿Qué es un array?

    • Estructura de datos de tipo de objeto, puede guardar diferentes tipos de valores o otras estructuras de datos.
  • ¿Qué es un objeto?

    • Está compuesto por propiedades
    • Combinación entre palabras claves y valores
    • Llevar un objeto físico al paradigma de objetos en JavaScript
    • Pueden tener métodos de objeto
    • Para automatizar se pueden crear funciones constructoras
    var miAuto = {
    	marca: "Toyota",
    	modelo: "Corolla",
    	annio: "2020",
    	detalleAuto: function() {
    		console.log(`Auto ${this.modelo} ${this.annio}`);
    	}
    };
    
    // Función Constructora
    function auto(marca, modelo, annio){
    	this.marca = marca;
    	this.modelo = modelo;
    	this.annio = annio;
    }
    
  • ¿Cuándo es mejor usar objetos o arrays?

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

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}
]

// método filter
var articulosFiltrados = articulos.filter(function(articulo){
	return articulo.costo <= 500
});

// método map
var articulosNombres = articulos.map(function(articulo){
	return articulo.nombre
});

//método find
var articulosEncontrados = articulos.find(function(articulo){
	return articulo.nombre === "Laptop"
});

//método forEach
articulos.forEach(function(articulo){
	console.log(articulo.nombre);
});

//método some
var articulosBaratos = articulos.some(function(articulo){
	return articulo.costo <= 700;
});

// método push
articulos.push({nombre:'mouse', costo: 100})

//método shift 
articulos.shift();

//método pop
articulos.pop();

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

function cualquierRecepcion(arrayEnviado){
	console.log(arrayEnviado[0]);
};

var array = [15, 14, 13];

cualquierRecepcion(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).

function cualquierRecepcion(arrayEnviado){
	arrayEnviado.forEach(function(articulo){
		console.log(articulo);
	});
};

var array = [15, 14, 13];

cualquierRecepcion(array);

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 cualquierRecepcion(objectReceipt){
	console.log(objectReceipt.nombre);
	console.log(objectReceipt.apellido );
	console.log(objectReceipt.edad );
};

var objectTest = {nombre: "Diego", apellido: "Herrera", edad: "24"};

cualquierRecepcion(objectTest);

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 Solucion:

<const name = "Erika";
const lastName = "Aviles";
const nickName = "Eka";

function NombreCompleto(name, lastName, nickName) {
    const completeName = name + " "+ lastName;
    return console.log("Mi nombre es: " + completeName + ", pero prefiero que me digas " + nickName);
}

NombreCompleto(name, lastName, nickName);

//Mi nombre es: Erika Aviles, pero prefiero que me digas Eka> 

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. 😏

Se logró jeje. Se aceptan sugerencias. 😄

let elegida = "Experts";

var Suscription = [
    { tipo: "Free", info: "solo puedes tomar los cursos gratis" },
    { tipo: "Basic", info: "puedes tomar casi todos los cursos de Platzi durante un mes" },
    { tipo: "Experts", info: "puedes tomar casi todos los cursos de Platzi durante un año" },
    { tipo: "Expert Plus", info: "tú y alguien más pueden tomar TODOS los cursos de Platzi durante un año" }
]

for (let i = 0; i < Suscription.length; i++) {

    if (Suscription[i].tipo == elegida) {
        console.log(Suscription[i])
    }
}

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

  • ¿Qué es una variable y para qué sirve?
    R: Una variable es un espacio de memoria que sirve para guardar información.
    .

  • ¿Cuál es la diferencia entre declarar e inicializar una variable?
    R: La diferencia consiste en que al declarar una variable solo se asigna el nombre que tendrá, pero no cuenta con ningún valor, y para que esta variable tenga un valor se tiene que inicializar.
    .

  • ¿Cuál es la diferencia entre sumar números y concatenar strings?
    R: La diferencia es que al sumar un número se aumenta su valor como sumar 1 + 1 = 2, en cambio al concatenar strings se une la información que tiene.
    .

  • ¿Cuál es la diferencia entre sumar números y concatenar strings?
    R: El signo +
    .
    .

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

String

Nombre
Apellido
Nombre de usuario en Platzi
Correo electrónico

Numérico

Edad
Dinero ahorrado
Deudas

Booleano

Mayor de edad

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

conts Nombre = "Pedro";
conts Apellido = "Sánchez";
var Nombre de usuario en Platzi = "Pedrin25";
var Edad = 25;
var Correo electrónico ="pedrin [email protected]";
var MayorDeEdad = false;
var DineroAhorrado = 150000;
var Deudas = 25000;

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

  • Nombre completo (nombre y apellido)
const Nombre = "Pedro";
const Apellido = "Sánchez"; 
var NombreCompleto  = `${Nombre} ${Apellido}`;
console.log(NombreCompleto);
  • Dinero real (dinero ahorrado menos deudas)
var DineroAhorrado = 5000;
var deudas = 1750; 
var 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 un bloque de código que puede ser utilizado para hacer operaciones que de manera opcional retornen valores a partir de parámetros de entrada en caso de ser necesario.

  • ¿Cuándo me sirve usar una función en mi código?
    R: Cuando una sección del código es repetida múltiples veces y solo cambia los parámetros utilizados

  • ¿Cuál es la diferencia entre parámetros y argumentos de una función?
    R: Los parámetros son aquellos datos que están definidos dentro de una función, en cambio los argumentos son aquellos datos fuera 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 + ".");

R:

function presentation (name, lastname, nickname ){
	var presentacion = "Mi nombre es " + name + " " +lastname + ", pero prefiero que me digas " + nickname + ".";
	return presentacion;
}
console.log(presentation("Jose", "Viveros", "lichkal"));

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

  • ¿Qué es una condicional?
    R: Es una sentencia de código verifica a partir de una comparación de valores si algo es cierto o no para poder realizar un conjunto de instrucciones

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

  1. If, else if y else
  2. Switch case
  • ¿Puedo combinar funciones y condicionales?
    R: Si es posible
    .
    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;
}

R:

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).
R: no soy tan experto
.

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

  • ¿Qué es un ciclo?
    R: Es una parte del código que se replica unas veces previamente establecidas o indefinidamente hasta que algo rompa el ciclo

  • ¿Qué tipos de ciclos existen en JavaScript?
    R:

  1. R: For
  2. For of
  3. For in
  4. while
  5. Do while
  • ¿Qué es un ciclo infinito y por qué es un problema?
    R: Un ciclo infinito es cuando un ciclo se repite infinitamente y no hay nada que lo pueda detener. Es un problema debido a que las repeticiones constantes pueden causar problemas en el rendimiento de la computadora por el consumo de memoria y posiblemente causar que se congele o reinicie.

  • ¿Puedo mezclar ciclos y condicionales?
    R: 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);
}


R:

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);
}

R:

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.
R:

let answer;
do{
  answer= prompt("Cuanto es 2 + 2");
}while(answer != 2);

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

  • ¿Qué es un array?
    R: Un arrays es un conjunto de elementos que están dentro de una variable, y para acceder a cada elemento es necesario ubicar su posición iniciando con la posición 0

  • ¿Qué es un objeto?
    R: Un objeto es una colección de un conjunto de elementos que puede ser variables de diferentes tipos ya sea enteros, cadenas de texto, numérico, etc.

  • ¿Cuándo es mejor usar objetos o arrays?
    R:En el caso de un array es mejor utilizarlo cuando se tiene un conjunto de valores del mismo tipo, y un objeto es mejor utilizarlo cuando se requiere almacenar información que sea de diferentes tipos como por ejemplo los datos de un usuario, en donde se requiere almacenar el nombre de forma de cadena de texto, la edad con un tipo de dato numérico, etc.

  • ¿Puedo mezclar arrays con objetos o incluso objetos con arrays?
    R: Si se puede, puede ser necesario almacenar arrays dentro de un objeto o viceversa, en donde sea necesario tener un array de objetos.
    .

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

let vegetales = ['Repollo', 'Nabo', 'Rábano', 'Zanahoria']
function FirstElement (array) {
    console.log(array[0]);
}
FirstElement(vegetales);

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 vegetales = ['Repollo', 'Nabo', 'Rábano', 'Zanahoria']
function imprimirArray (array) {
    for(let i = 0; i < array.length;i++){
        console.log(array[i]);
    }
}
imprimirArray(vegetales);

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 producto = {
  nombre: 'manzana',
  categoria: 'frutas',
  precio: 1.99
}
function imprimirObjeto (objeto) {
    Object.values(objeto).forEach(parametro => console.log(parametro))
}
imprimirObjeto(producto);

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 nos permite guardar información.

  • ¿Cuál es la diferencia entre declarar e inicializar una variable?
    la diferencia consiste en que cuando declaramos una variable solo le ponemos un nombre a esa variable ejemplo var datos;
    y la inicialización es poner que tipo que tipo de dato tiene esa variable y de esta manera poder y saber utilizarla ejemplo var datos = “cedula”;.

  • ¿Cuál es la diferencia entre sumar números y concatenar strings?
    la diferencia es que cuando sumamos números estamos operando dos valores enteros y cuando concatenamos estamos usando este mismo signo de operación per acompañado de las comillas para hacer una uniòn.

  • ¿Cuál operador me permite sumar o concatenar?
    el signo +(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 "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)

// 💡 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 = [
{suscr:“Free”, tag:“Solo puedes tomar los cursos gratis”},
{suscr:“Basic”, tag:“Puedes tomar casi todos los cursos de Platzi durante un mes”},
{suscr:“Expert”, tag:“Puedes tomar casi todos los cursos de Platzi durante un año”},
{suscr:“ExpertPlus”, tag:“Tú y alguien más pueden tomar TODOS los cursos de Platzi durante un año”},
]

var msgTipoSuscripcion = suscripciones.find(function (suscripcion) {
if (suscripcion.suscr === “Basic”) {
console.log(suscripcion.tag);
return suscripcion.suscr;
}
});

Test de JavaScript 🧠

Variables y operaciones

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

  1. ¿Qué es una variable y para qué sirve?
    Una variable la podemos entender como una representación de algún lugar en memoria, que vamos a reservar para poder guardar un valor y ese valor pueda tener tipos diferentes como por ejemplo Valores Primitivos o Tipo Objetos.

  2. ¿Cuál es la diferencia entre declarar e inicializar una variable?
    DECLARAR una variable es como asignarle un nombre a ese espacio que reservamos en memoria por ejemplo:
    Podemos usar la palabra reservada var, let, const ya que es una representacion del lugar donde vamos a guardar valor.

             <!-- Declarando una variable -->
             var nombre
    

Inicializar es cuando le asignamos un valor a la variable ya declarada, sea un tipo string, númerico, boolean o hasta una funcion. ejemplo:

            var nombre = "Marcos";
  1. ¿Cuál es la diferencia entre sumar números y concatenar strings?
    Podemos usar el operador aritméticos + para poder sumar dos valores de tipo númerico pero tambien sirve para concatenar stings.

             <!-- Declarando Valores númericos -->
             var a = 2;
             var b = 3;
             resultado = a + b
    
             console.log(resultado)// 5
    
             <!-- Declarando Valores string -->
             var nombre = "Jose"
             var apellido = "Mendez"
    
             console.log(nombre + apellido)//JoseMendez
    
  2. ¿Cuál operador me permite sumar o concatenar?
    Operador aritmetico +.

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

Nombre = string
Apellido = string
Nombre de usuario = string
Edad = númerico
Correo = 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 = "Maria";
let Apellido = "Vera";
let Nombre de usuario = "Mari";
let Edad = 18;
let Correo = "[email protected]";
let Mayor de edad = true;
let Dinero ahorrado = 1200;
let Deudas = 100;

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

let Nombre = "Maria";
let Apellido = "Vera";

let Ahorro = 1200;
let Deuda = 100;
let DineroReal = Ahorro - Deuda;

console.log(Nombre + " " +Apellido) // Maria Vera
console.log(DineroReal) // 1100

Funciones

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

  1. ¿Qué es una función?
    Las funciones son como un conjuntos de sentencias que podemos utilizar para generar ciertas acciones con los valores que ya guardamos antes en las variables.
    Hay dos tipos de funciones:

    1. Funciones Declarativas

        function Hola(){
           console.log("Hello world");
       }
      
       Hola() //Hello world
      
    2. Funciones de Expresión

       var resta = function(a, b){
           return a - b;
       }
      
       resta(12, 5) //7
      
  2. ¿Cuándo me sirve usar una función en mi código?
    Como yo lo tengo entendido una función lo podemos reutilizar varias veces para no estar repitiendo codigo. Ejemplo:

         function suma(a, b){
             return a + b;
         }
    
         suma(1,7)
         //8
    
  3. ¿Cuál es la diferencia entre parámetros y argumentos de una función?
    Bueno los parámetros son la lista de variables que ponemos cuando se define una función, por ejemplo, en la siguiente función tenemos dos parámetros a y b:

         function sum(a, b) {
             return a + b;
         }
    

Los argumentos son los valores que se pasan a la función cuando ésta es invocada, de esta manera, en el siguiente ejemplo tendríamos que 7, 4 son los argumentos de nuestra invocación a la función:

        suma(7,4);

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 persona(name, lastname, nickname){
            const completeName = name + " " +lastname;

            console.log(`Mi nombre completo es ${completeName} pero prefiero que me digan ${nickname}`)
        }

        // Llamando a la función
        persona("Maria","Jimenez","marije")

Condicionales

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

  1. ¿Qué es un condicional?
    Una expresión que puede ser evaluada como verdadera o falsa. if-else, la sintaxis seria de esta manera:

             if (condición){
                 sentencia1
             }else{
                 sentencia2
             }
    
  2. ¿Qué tipos de condicionales existen en JavaScript y cuáles son sus diferencias?
    Hay 3 tipos de estructuras de control condicional

    • de condición simple, la estructura if.
    • bicondicional, la estructura if-else.
    • de condición múltiple, la estructura switch-case.
  3. ¿Puedo combinar funciones y condicionales?
    Sí, las funciones pueden encapsular cualquier bloque de código incluidas condicionales.

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

    const tipoDeSuscripcion = "ExpertPlus";

    if(tipoDeSuscripcion == "Free"){
        console.log("Solo puedes tomar los cursos gratis");
    }else if(tipoDeSuscripcion == "Basic"){
        console.log ("Puedes tomar todos los cursos de Platzi durante un mes");
    }else if(tipoDeSuscripcion == "Expert"){
        console.log("Puedes tomar todos los cursos de Platzi durante un año");
    }else if(tipoDeSuscripcion == "ExpertPlus"){
        console.log("Tú y alguien mas pueden tomar todos los cursos de Platzi durante un año");
    }else{
        console.log("no tienes 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).

    const tipoDeSuscripcion = "Basic"

    if (tipoDeSuscripcion == "free") {
        console.log("Puedes tomar los cursos gratis")
    }
    if (tipoDeSuscripcion == "Basic") {
        console.log("Puedes tomar todos los cursos de Platzi durante un mes")
    }
    if (tipoDeSuscripcion == "Expert") {
        console.log("Puedes tomar todos los cursos de Platzi durante un año");
    }

    if (tipoDeSuscripcion == "ExpertPlus") {
        console.log("Tú y alguien mas 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 tipoDeSuscripcion = {
        Free: "Puedes tomar los cursos gratis",
        Basic: "Puedes tomar todos los cursos de Platzi durante un mes",
        Expert: "Puedes tomar todos los cursos de Platzi durante un año",
        ExpertPlus: "Tú y alguien mas pueden tomar todos los cursos de Platzi durante un año",

    }

    const suscripcion = "Expert";

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

Ciclos

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

  1. ¿Qué es un ciclo?
    el ciclo es una manera rápida y sencilla de poder hacer que una tarea pueda repetirse de tal forma que ya no lo hariamos manuealmente.

  2. ¿Qué tipos de ciclos existen en JavaScript?
    Segun lo que yo aprendí hasta el momento, tego el conocimiento de que existen estos Loops/ciclos:

    • ciclo For
    • ciclo For…of
    • ciclo while
  3. ¿Qué es un ciclo infinito y por qué es un problema?
    Un bucle infinito es una condición que hace que un programa de computadora continúe ejecutando un comando sin fin.
    Por lo general, esto se debe a una de estas tres causas:

    • el programa no tiene una condición de finalización.
    • la condición de finalización del programa es inalcanzable.
    • un comando de repetición hace que un programa se reinicie continuamente.

    La mayoría de las veces, un bucle infinito hará que una computadora se ralentice drásticamente o incluso se bloquee.

  4. ¿Puedo mezclar ciclos y condicionales?
    Sí, podemos condicionar un ciclo para que se repita todas las veces hasta que se cumplan la condición. Ejemplo

     let saludar = ["Como estas?"];
    
     for (let index = 0; index < saludar.length; index++) {
         if (saludar == "Hola!") {
             console.log("Te esta saludando");
         } else {
             console.log("Eso no es un saludo!🙄");
         }
     }
    

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 u =10;
    while (u >= 2) {
        u--;
        console.log("El valor de u es: " + u);
    }

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 suma() {
        let respuesta = true;

        while (respuesta) {
            let digito = prompt("¿Cuanto es 2+2?");
            if (digito == 4) {
                alert('Eres un crack 😎');
                respuesta = false;
            } else {
                alert("Lo siento :( intentalo otra vez");
            }
        }
    }
    suma()

Listas

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

  1. ¿Qué es un array?
    es una estructura de datos y tipo objeto porque es un valor que va a guardar mas valores adentro, estos valores pueden ser:
  • String
  • Numerico
  • Objeto
  • incluso puede haber arrays dentro de un array.
  1. ¿Qué es un objeto?
    Es una colección de datos relacionados y/o funcionalidad que generalmente consta de algunas variables y funciones, que se denominan propiedades y metodos cuando estan dentro de objetos.

  2. ¿Cuándo es mejor usar objetos o arrays?
    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.

un array también se puede considerar como un objeto y tiene la mayoría de las funcionalidades del objeto. Tiene algunas características adicionales como: length, pop(), slice(), etc.

  1. ¿Puedo mezclar arrays con objetos o incluso objetos con arrays?
    Si. Este sera un array que su contenido no van a ser Strings, ni números. Su contenido de los arrays seran objetos. Ejemplo:

     var articulos = [
         {nombre: "Bicicle", costo: 800},
         {nombre: "Licuadora", costo: 1500},
     ]
    

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

    let array = [1,2,3,4]

    function ShowMeArray(lista) {
        console.log(lista[0]);
    }

    ShowMeArray(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).

    var frutas = ["Cereza", "Platano", "Mango", "Manzana"];

    function ShowMeArray(lista) {
        for (let index = 0; index < lista.length; index++) {
            const element = lista[index];
            console.log(element);
        }
    }
    ShowMeArray(frutas);

        // Otra manera
    function readArray(array) {
        array.map(function (show) {
            console.log(show);
        })
    }
    readArray(frutas);

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 articulos = {
        name : "Jose Luis",
        age: 18,
        nationality: "Peruvian"
    }

    function ShowMeObject(objeto) {
        return Object.entries(objeto).map(function (element) {
            console.log(element);
        });
    }

    ShowMeObject(articulos);
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("Elija una opción correcta!");
} ;
function presentation(name, lastname, nickname) {
	const completename = name + lastname;
	console.log(`Mi nombre es ${completename}, pero prefiero que me digas ${nickname}`);
}

una variable es un espacio en memoria que nos permite almacenar ingormacion, en javascript tenemoss 3 formass de alm almacenar: var, let y const

declarar una variablbe es nombrarla, pero no otorgarle valor, e inicializar es asignarle un valor a la variable

sumar numeros es una operacion matematica, añadir un valor y concatenar strings es juntar dos cadenas de texto

nombre string
apellido string
usr platzi string
edad int, number
correo electronico string
mayor: boolean
dinero ahorrado: number
deudas: number

const nombre = ‘ricardo’;
const apellido = ‘martinez’;
let usrPlatzi = ‘richyhoopd’;
let edad = 17;
let mayor = false;
let dineroAhorro = 123;
let deudas = 0;

const nCompleto = nombre + apellido;
let dineroReal = dineroAhorro - deudas;

console.log(nCompleto);
console.log(dineroReal);

una funcion nos permite guardar y ejecutar bloques de codigo de forma mas estructurada y organizada.

cuando tendre un accion repetitiva

no se explicarlo

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 miNombre(name,lastname,nickname){
  var completeName = name + lastname;
  console.log("Mi nombre es " + completeName + ", pero prefiero que me digas " + nickname + ".");
}

miNombre("Juan David"," Castro gallego","juandc");

¿Qué es un condicional?
un condicional es una secuensa de pasos que dependiendo si una condicion es veradera o falsa tomara caminos diferentes
¿Qué tipos de condicionales existen en JavaScript y cuáles son sus diferencias?
IF-ELSE
WHILE
FOR
¿Puedo combinar funciones y condicionales?
si se puede

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");
}

/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 myHome(home) {
    home = {
      color : 'yellow',
      ubication : 'USA',
      price : 20000
    }
  console.log(home.price  + "\n" + home.color + "\n" + home.ubication);
 };

 myHome();

1️⃣ Responde las siguientes preguntas en la sección de comentarios:
¿Qué es una variable y para qué sirve?
es guardar un valor en la Ram para usarlo mas tarde.
¿Cuál es la diferencia entre declarar e inicializar una variable?
al declarar se crea una variable con un nombre, al inicializar es cuando se le da un valor interno
¿Cuál es la diferencia entre sumar números y concatenar strings? los numero se suman como en matemáticas 1+1=2. el string es texto. ¨1¨+¨1¨= 11
¿Cuál operador me permite sumar o concatenar?
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.

<let nombre = "pablito"
let apellido = "clavito"
let nombreDeUsuarioEnPlatzi ="pablitoClavito123XD"
let Edad = 27
let CorreoElectrónico = "[email protected]"
let MayorEdad = true
let DineroAhorrado =1000
let Deudas = 0> 

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

<var NombreCompleto= nombre + " " + apellido     //no olvidemos darle el espacio entre el nombre y el apellido
var dineroReal = DineroAhorrado-Deudas> 

Funciones
1️⃣ Responde las siguientes preguntas en la sección de comentarios:
función: es como un minicodigo que se ejecuta solo cuando lo llamas. es bastante útil cuando quieren hacer loops o reaccionar frente a una acción.
¿Cuál es la diferencia entre parámetros y argumentos de una función?
los parametros son los requerimientos que aparecen en la definición de una función
los argumentos son los valores que le pasamos 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:

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

persona("pipe","marti","pipelocust")> 

Condicionales
1️⃣ Responde las siguientes preguntas en la sección de comentarios:
¿Qué es un condicional?
que se genera una acción cuando se cumpla una condición
¿Qué tipos de condicionales existen en JavaScript y cuáles son sus diferencias?
de momento me se el if, else if, else y switch
¿Puedo combinar funciones y condicionales?
claro, puedes llamar funciones si se cumple una condición o poner condicionales dentro de una función
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(“no estas en platzi”)}

Ciclos
1️⃣ Responde las siguientes preguntas en la sección de comentarios:
¿Qué es un ciclo?
una acción que sucede en loop varias veces
¿Qué tipos de ciclos existen en JavaScript?
for, while
¿Qué es un ciclo infinito y por qué es un problema?
es un ciclo que no se autocompleta porque no altera el detonante de la manera adecuada. Corre infinitamente hasta romper el PC o el programa.
¿Puedo mezclar ciclos y condicionales?
si se puede, en ambos sentidos. un condicional que active un ciclo o un ciclo con un condicional adentro
2️⃣ Replica el comportamiento de los siguientes ciclos for utilizando ciclos while:

<var 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.

eso si, toca correrlo en html

<var pregunta = prompt("cuanto es 2+2?");

if (pregunta == 4) {
  alert("tu si sabes");
}else{
    alert("wtf bro")
}> 

Listas
1️⃣ Responde las siguientes preguntas en la sección de comentarios:
¿Qué es un array?
conjunto de datos u objetos
¿Qué es un objeto?
una variable o constante con varios valores adentro, separados por categorías
¿Cuándo es mejor usar objetos o arrays?
si trabajo con muchos valores es mejor arrays. si una variable tiene varias caracteristicas, es mejor objetos
¿Puedo mezclar arrays con objetos o incluso objetos con arrays?
si he metido objetos dentro de arrays. nunca me hetido arrays dentro de objetos, pero posiblemente se pueda. con el tiempo me daré cuenta

2️⃣ Crea una función que pueda recibir cualquier array como parámetro e imprima su primer elemento.
let myArray = [‘paca’, ‘peque’, ‘piqui’, ‘poco’, ‘pucu’];
function leer(array){
console.log(array[0])
}
leer(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 = [‘paca’, ‘peque’, ‘piqui’, ‘poco’, ‘pucu’,];
function leer(array){
for(i=0;i<myArray.length;i++){
console.log(array[i])
}
}
leer(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).

me funciono, no se como ni porque, pero funcionó

<let team = {
    pokemon1: 'charmander',
    pokemon2: 'bulbasur',
    pokemon3: 'pikachu',
    pokemon4: 'salamander',
    pokemon5: 'mew'
}
function leerTeam(obj){
    for(let i in obj){
        console.log(obj[i])
    }
}
leerTeam(team)
> 

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 es un espacio reservado en memoria que puede contener información o que puede estar vacía, en las variables podemos almacenar información como una cadena de texto, un número, una función, un objeto, etc.
  • ¿Cuál es la diferencia entre declarar e inicializar una variable?
    Declarar una variable significa la creación de esta, pero sin asignarle ningún valor en específico, es crear una cajita vacía la cual se puede llenar más adelante.
    Inicializar una variable significa asignarle un valor a la variable creada.
  • ¿Cuál es la diferencia entre sumar números y concatenar strings?
    Sumar números es una operación matemática que dará como resultado la suma de los dos números.
    Concatenar strings es la unión de cadenas de texto.
  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.
let Nombre = “Juan”
let Apellido = “Perez”
let nombreDeUsuarioEnPlatzi “Juanperez”
let Edad = 20
let correoElectrónico = "[email protected]"
let mayorDeEdad = true
let dineroAhorrado = 1000
let Deudas = 100 
  1. 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?

    Una función es un bloque de código que generalmente nos retorna un resultado, este bloque de código puede ser llamado y ejecutado desde cualquier parte de nuestra aplicación es decir es reutilizable

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

    Cade vez que una operación sea repetitiva podemos crear una función.

  • ¿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 y los argumentos son los valores asignados a los parámetros

  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) {
	return `Mi nombre completo es ${name} ${lastName}, pero prefiero que me digas ${nickname}.`
} 

saludo("Juan", "Perez", "Juanpe")

Condicionales

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

    Es una expresión que nos permite evaluar o comparar uno o más datos dándonos como resultado dos posibles estados verdadero o falso

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

    • If…else
    • Switch

    El condicional if nos permite evaluar distintas variables en cambio switch todos los casos se evalúan con la misma variable

  • ¿Puedo combinar funciones y condicionales?

    Si, una función es un bloque de código que puede contener condicionales, ciclos, más funciones, variables, etc.

  1. 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");
}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");
};
  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 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',
}

const suscripcion = (tipo) => {
  for(let item in tipoSuscripcion) {
    if(item === tipo) return tipoSuscripcion[item]
  }
}

suscripcion("basic")

Ciclos

  1. Responde las siguientes preguntas en la sección de comentarios:
  • ¿Qué es un ciclo?

    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

  • ¿Qué tipos de ciclos existen en JavaScript?

    • for
    • while
    • do while
    • for…in
    • for…of
    • map
    • foreach
  • ¿Qué es un ciclo infinito y por qué es un problema?

    Un ciclo infinito es cuando no se le pasa una condicion a nuestro ciclo para que este se detenga

  • ¿Puedo mezclar ciclos y condicionales?
    Si, puedo incluso hacer un ciclo dentro de otro ciclo

  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++;
}

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.
const respuesta = parseInt(prompt("¿Cuanto es 2 + 2?"));
if(respuesta === 4) {
	console.log("Felicitaciones, la respuesta es correcta")
} else {
  console.log("Incorrecto, la suma es igual a 4")
} 

Listas

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

    Un array es una lista de elementos almacenados de forma consecutiva en memoria donde el tamaño de array sera el numero total de elementos que este tenga

  • ¿Qué es un objeto?

    Un objeto es una coleccion de propiedades donde cada propiedad esta definida por un nombre y un valor, el valor de una propiedad puede ser una funcion, en ese caso la propiedad pasa a ser conocida como un metodo

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

    Si almacenaremos multiples valores de una sola variable lo mejor es usar arrays, mientras que con un objeto podemos almacenar múltiples variables con sus valores

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

    Si, de hecho muchas veces se usan arrays de objetos

  1. Crea una función que pueda recibir cualquier array como parámetro e imprima su primer elemento.
function first(array) {
  return console.log(array[0])
}

first(["Juan", "Pedro"])
  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 first(array) {
  return array.map(item => item)
}

first(["Juan", "Pedro"])
  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 first(array) {
  for(let value in array) {
    console.log(array[value])
  }
}

first({name: "Juan", lastName: "Perez"})

Test de JavaScript

Realizando las pruebas de JavaScript, sujeto a critica

Variables

  • ¿Que es una variable y para que sirve?
    Una variable es un espacio de memoria, la cual puede ser ocupada para el almacenamiento de informacion y posterior uso de esta
  • ¿Cual es la diferencia entre declarar e inicializar una variable?
    Una declaracion, como su nombre lo dice, es la declaracion de una variable;ante este caso podemos decir que una declaracion de variable es
    asignacion el tipo de variable (let,cosnt,var) y nombre de la variable, mientras que una inicializacion es la asignacion de un valor a una variable y el posterior llamado de esta
  • ¿Cuál es la diferencia entre sumar números y concatenar strings?
    Sumar es la sumatoria entre dos valores numericos y concatenar es la union entre dos valores strings
  • ¿Cuál operador me permite sumar o concatenar?
    el signo +

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

  • Nombre => String
  • Apellido => String
  • Nombre Platzi => String
  • Edad => Number
  • Correo Electronico => String
  • Mayor de edad=> Bolean
  • Dinero Ahorrado => Number
  • Deudad => Number

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

 let Nombre = 'Alejandro';//String
 let Apellido = 'Perez';//String
 let NombrePlatzi = 'Style';//String
 let Edad = 23;//Number
 let Correo = '[email protected]';//String
 let Mayor = true;//Bolean
 let DineroAhorrado = 300000;//Number
 let Deudad = 12000;//Number

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

//Nombre completo
let NombreCompleto= Nombre + Apellido
//Dinero Real
let DineroReal = DineroAhorrado - Deudad

Funciones

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

  • ¿Qué es una función?
    Una funcion es un conjunto de instruccion que puede recibir valores desde fuera de estas funciones
  • ¿Cuándo me sirve usar una función en mi código?
    Una funcion se ocupa casi siempre, pero no tengo la respuesta en si
  • ¿Cuál es la diferencia entre parámetros y argumentos de una función?
    La verdad no lo s

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 codigo

const NombreFuncion =(name,lastname)=>{
const completeName = name + lastname;
const nickname = "juandc";
return console.log("Mi nombre es " + completeName + ", pero prefiero que me digas " + nickname + ".");
}
NombreFuncion(Juan,Castro);

Condicionales

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

  • ¿Qué es un condicional?
    Es una variable con paremetros asignados que recibe variables y si estas, variables, no cumplen con los parametros se les da una respuesta en false y si es cumplen con los parametros se les da una respuesta en true
  • ¿Qué tipos de condicionales existen en JavaScript y cuáles son sus diferencias?
    Existen=> if, switch, for y while los mostrare a modo ejemplo ya que no se como describirlos
let edad = 23;

if (edad > 18){
console.log("eres mayor de edad en Chile")
}else{
console.log("eres menor de edad en Chile")
}

/*En caso de Switch*/
switch (edad)
case 20: console.log("tienes 20 años") break;
case 21: console.log("tienes 21 años") break;
case 22: console.log("tienes 22 años") break;
case 23: console.log("tienes 23 años") break;
default:
console.log("Lo lamento tu edad no esta en mi base de datos");
/*En caso de for*/
for (edad i=0 <9;i++){
    n +=i;
    mifuncion(n)
}
/*En caso de while*/
edad = 0;
while (edad <3){
    edad ++;
    x +=edad;

}


  • ¿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 codigo

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("Lo lamentamos debes estar registrado para ver el curso")
            }
            
        }
    }
}

/*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("Lo lamentamos debes estar registrado para ver el curso")
}

Ciclos

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

  • ¿Qué es un ciclo?
    Un ciclo es una repeticion asignando
  • ¿Qué tipos de ciclos existen en JavaScript?
    no los tengo claro, pero creo que un tipo de ciclo puede ser For
  • ¿Qué es un ciclo infinito y por qué es un problema?
    el tipo ciclo infinito es aquel que no tiene un fin y es un problema ya que al no tener fin esta en constante y sin freno de crecimiento
  • ¿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);
}

mi codigo

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

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.

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <main>
        <label for="">El valor de 2 + 2 es igual a: </label>
        <input type="number" placeholder="Ingrese el resultado" id="total" value="2">
        <button onclick="Comprobar()">Comprobar</button>
        <script>
        
        const Comprobar=()=>{
       numerototal = document.getElementById("total").value;
        if (numerototal = 4){
            alert("felicidades es la respuesta correcta")
        }else if(numerototal < 4||numerototal>4){
            alert("Vuelve a intentarlo")
        }
        else{
            alert("Ingresa un valor")
        };
        } 
        </script>
        
    </main>
</body>
</html>

Listas

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

  • ¿Qué es un array?
    Es un listado de datos almacenados en una variable
  • ¿Qué es un objeto?
    no lo se
  • ¿Cuándo es mejor usar objetos o arrays?
    no lo se
  • ¿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 curso = [
    "hola",
    "Como estas",
    "Vamos que puedes"
]

const imprimir = ()=>{
    console.log(curso[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 curso = [
    "hola",
    "Como estas",
    "Vamos que puedes"
]
for (i=0; i++; i<=curso.length){
    console.log(curso[0])
}

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).

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

  • Es un pedazo de memoria en el cual guardamos un tipo de dato, sirve para darle valor ya sea
    string, numerico, booleano.

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

  • Cuando declaramos una variable esta no tiene ningun valor asignado, sin embargo
    cuando inicializamos una vairable esta si se le asigna un valor.

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

  • La deferencia esta en el tipo de datos, cuando sumamos una
    cadena de caracteres, eso quiere decir que se unen los mismos en una sola oracion
    y los numericos literalmente se suman como sabemos.

¿Cuál operador me permite sumar o concatenar?
el signo de “+”

  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.
const nombre = "raycris";
const apellido = "Maldonado";
const userName = "raycrismaldonado";
const edad = 24;
const email = "[email protected]"
const mayorDeEdad = true;
const saving = 30000;
const loans = 0;
  1. Calcula e imprime las siguientes variables a partir de las variables del ejemplo anterior:
    Nombre compconsto (nombre y apellido)
    Dinero real (dinero ahorrado menos deudas)
console.log(`Mi nombre compconsto: ${nombre} ${apellido}`)
const realMoney = saving - loans;
console.log(`Dinero real: ${realMoney}`)
  1. Responde las siguientes preguntas en la sección de comentarios:
    ¿Qué es una función?
  • Es donde encapsulamos un bloque de codigo para realizar una determinada accion

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

  • Para tener el codigo mas modularizado y organizado

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

  • Los parametros es cuando se los enviamos a una funcion y
    cuando llamamos argumentos nos referimos a las variables que les enviamos a una funcion.
  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
const name = "Juan David";
const lastname = "Castro Gallego";
const completeName = name + lastname;
const nickname = "juandc";

const whatsMyName = (completeName, nickname) => {
	console.log("Mi nombre es " + completeName + ", pero prefiero que me digas " + nickname + ".");
}

whatsMyName(completeName, nickname);
  1. Responde las siguientes preguntas en la sección de comentarios:
    ¿Qué es un condicional?
  • Los condicionales es una forma de preguntar o hacer el codigo tome una decision si ocurre un evento.

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

  • if, else y else if

¿Puedo combinar funciones y condicionales?

  • Si, se pueden combinar sin problemas
  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 (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";
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");
}

9.1. 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.

array = [
  {
    name: "basic",
    message: "Puedes tomar casi todos los cursos de Platzi durante un mes",
  },
  {
    name: "free",
    message: "Solo puedes tomar los cursos gratis",
  },
  {
    name: "Expert",
    message: "Puedes tomar casi todos los cursos de Platzi durante un año",
  },
  {
    name: "ExpertPlus",
    message:
      "Tú y alguien más pueden tomar TODOS los cursos de Platzi durante un año",
  },
];

array.map((item) => {
  if (item.name == "basic") {
    console.log(item.message);
  }
});
  1. Responde las siguientes preguntas en la sección de comentarios:
    ¿Qué es un ciclo?
  • son funciones del lenguaje que nos permiten realizar tareas repetitivas

¿Qué tipos de ciclos existen en JavaScript?

  • Declaración for.
  • Declaración do… while.
  • Declaración while.
  • Declaración labeled.
  • Declaración break.
  • Declaración continue.
  • Declaración for…in.
  • Declaración for…of.

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

  • Es cuando no ponemos una condicion de cierre o que rompa la condicion del ciclo

¿Puedo mezclar ciclos y condicionales?

  • Si, totalmente permitido
  1. 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);
}

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


- 2.
let j = 10;
while (j >= 2) {
  console.log("El valor de i es: " + j);
  j--
}
  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 pregunta = prompt("¿Cuánto es 2 + 2?");
const respuesta = parseInt(pregunta);

if (respuesta !== 4) {
  console.log("La respuesta no es correcta");
} else {
  console.log("Felicidades la respuesta es correcta");
}
  1. Responde las siguientes preguntas en la sección de comentarios:
    ¿Qué es un array?
  • Es un espacio de memoria en los cuales podemos guardar multiples datos homogeneo

¿Qué es un objeto?

  • tiene una serie de datos almacenados y tareas que realiza con esos datos en el tiempo de ejecución.

¿Cuándo es mejor usar objetos o arrays?

  • dependeniendo del contexto y el problema que queremos resolver.

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

  • Si se puede convinar en un array de objeto y dentro de un objeto puede ver arrays.
  1. Crea una función que pueda recibir cualquier array como parámetro e imprima su primer elemento.
const cars = ["Saab", "Volvo", "BMW"];
const firstName = (array) => {
  console.log(array[0]);
}

firstName(cars)
  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)
const cars = ["Saab", "Volvo", "BMW"];
const firstName = (array) => {
  array.map(item => console.log(item))
}

firstName(cars)
  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)
const producto = {
  nombre: 'manzana',
  categoria: 'frutas',
  precio: 1.99
}

const readObjet = (obj) => {
  for (const iterator in obj) {
    console.log(obj[iterator]);
  }
}

readObjet(producto)

por el momento no se como mejorarlo ya después lo arreglare se que tiene fallos pero es lo mejor que por ahora puedo pensar solo funciona de dos intentos XD aunque debería ser hasta que uno responda correctamente pero bueno, acepto criticas constructivas

let question = prompt("cuanto es el resultado de 2 + 2 "); 
 let add = 2 + 2;
 if (question == add) {
  document.write("felicidades el resultado es correcto");
  }else if (question != add){
    prompt("cuanto es el resultado de 2 + 2");
  };

💡 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 suscriptionPlans = [
{Plan: “Free”, Text: “Solo puedes tomar los cursos gratis”},
{Plan: “Basic”, Text: “Puedes tomar casi todos los cursos de Platzi durante un mes”},
{Plan: “Expert”, Text: “Puedes tomar casi todos los cursos de Platzi durante un año”},
{Plan: “ExpertPlus”, Text: “Tú y alguien más pueden tomar TODOS los cursos de Platzi durante un año”}
];

function evaluatePlan(userSuscription) {
suscriptionPlans.find(function(suscription) {
if(suscription.Plan === userSuscription) {
console.log(suscription.Text)
}
})
};

evaluatePlan(“Expert”);

Test de JavaScript 💛

Aquí mi GitHub 🐙 🐱

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 y sirve para guardar valores para su uso futuro.

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

    Al declarar una variable sólo se crea, por ejemplo al escribir let miVariable es declarada y ya existe dentro del código, vacía, aunque existe.

    Mientras que inicializarse es al darle un valor, algo a guardar, como un número, una cadena de texto, etc.

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

    La diferencia radica en que los números se unen y forman un valor y caracteres nuevos, mientras que al concatenar strings siguen siendo los mismos caracteres originales sólo unidos entre ellos.

  • ¿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 = 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 name = ‘Emilio’
  • let lastName = ‘Sánchez’
  • let platziUserName = ‘emlez’
  • let age = 26
  • let email = ‘[email protected]
  • let legalAge = true
  • let savings = 10000
  • let debt = 100

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

  • Nombre completo (nombre y apellido)

    let name = "Emilio";
    let lastName = "Sánchez";
    
    console.log(`My full name is ${name} ${lastName}.`);
    
  • Dinero real (dinero ahorrado menos deudas)

    let savings = 10000;
    let debt = 100;
    
    console.log(`I currently have $${savings - debt} USD.`);
    

Funciones

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

  • ¿Qué es una función?

    Una función es una serie de pasos o instrucciones que la computadora debe seguir; ya sean cálculos, concatenación de cadenas de textos, imprimir un valor, etc.

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

    Para reutilizar el código dentro de una función tantas veces como quieras, sólo con invocar a la función; por ejemplo: function printSomething() {console.log("Something")};

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

    Los parámetros son los datos necesarios para que la función se ejecute correctamente, mientras que los argumentos son los valores que se envían con la función al invocarla.

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 + ".");
let name, lastname, nickname;

function myNameIs(name, lastName, nickname) {
	let completeName = `${name} ${lastName}`
	console.log(`Mi nombre es ${completeName}, pero prefiero que me digas ${nickname}.`);
};

myNameIs("Emilio", "Sánchez", "emlez");

Condicionales

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

  • ¿Qué es un condicional?

    Es una instrucción que sólo se ejecuta si se cumplen con las condiciones establecidas.

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

    1. If-else: Se trata de la condicional más común, si se cumple con una condición, ejecuta lo siguiente, y sino, ejecuta esto otro.
    2. Switch-case: Sólo pasa una expresión como parámetro a la condicional, y busca entre todos sus posibles casos hasta que el valor de esta expresión sea encontrado, y ejecuta el código asignado a ése valor de la expresión.
  • ¿Puedo combinar funciones y condicionales?

    Pero por su pollo que sí, de hecho será lo más común en el código de un programa, por ejemplo en un videojuego, al tener vidas, se te permite seguir jugando, como si se ejecutara la función keepPlaying();, mientras que al quedarte sin vidas, deberá ejecutarse otra función gameOver();, por lo que al usar condicionales para ejecutar una u otra función dependiendo de tu número de vidas, será posible que el código del juego se ejecute correctamente.

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).

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. 😏

const subscriptionType = ['Free', 'Basic', 'Expert', 'ExpertPlus'];

function checkSubscription(input) {
	if (subscriptionType.includes(input)) {
		console.log(`Tu suscripción es ${input}`);
	} else {
		console.log('No cuentas con una suscripción :c');
	}
}

checkSubscription('Basic');

Ciclos

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

  • ¿Qué es un ciclo?

    Un ciclo es una función que se ejecutará mientras una condición sea verdadera.

  • ¿Qué tipos de ciclos existen en JavaScript?

    1. For.
    2. Do…While.
    3. While.
  • ¿Qué es un ciclo infinito y por qué es un problema?

    Un ciclo infinito es aquel que se ejecuta sin parar, ya que nunca se cumple la condición para que se termine su ejecución. El problema con ello es que seguirá ejecutándose sin salir del ciclo y no continuará con el resto del código, además de utilizar todos los recursos de la computadora hasta que no pueda correr más, o se fuerce su salida de la ejecución, o como suele pasar en navegadores actuales, se presenta un error diciendo que tuvo que detener la ejecución del código previniendo que corriera sin detenerse.

  • ¿Puedo mezclar ciclos y condicionales?

    Sí, es común anidar ciclos en condicionales y viceversa, ya que así puede seguirse cierta ejecución de código.

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 num = 0;
while (num < 5) {
	console.log(`El valor de num es: ${num}.`);
	num++;
}

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

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 = prompt("What's 2+2?");

if (Number(question) === 4) {
  alert("Wow! You're a genius!");
} else {
	alert("At least you're pretty!");
}

Listas

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

  • ¿Qué es un array?

    Es un objeto en el que puedes contener cualquier tipo de datos (string, number, incluso más objetos o arrays), lo que hace muy poderoso a un array en JS son los métodos, que permiten interactuar con el contenido de un array, mutándolo de tantas maneras.

  • ¿Qué es un objeto?

    Es un contenedor para distintos tipos de datos en JS, esencialmente un array es de tipo objeto, aunque lo que hace distinto a un objeto es la capacidad de darle propiedades al mismo y darle más información a un solo objeto para su futura referencia.

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

    Es mejor usar objetos cuando se requieren de estas propiedades, y un array cuando se requiere mucha movilidad entre varios tipos de datos.

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

    Sí es posible, y de hecho muchas veces se verá esto, ya que puedes tener un array de objetos, lo que te permite editar todos los objetos del array con la facilidad de los métodos, y aún así aprovechar datos a detalle como lo permiten las propiedades de un objeto.

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

let newArray = prompt("Provide an array, separated by commas:");

let array = newArray.split(",");
if (array.length === 0) {
  console.log("Array is empty");
} else {
  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).

let newArray = prompt("Provide an array, separated by commas:");

let array = newArray.split(",");
if (array.length === 0) {
  console.log("Array is empty");
} else {
  array.forEach(function(element) {
    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).

let printOneByOneInObject = (obj) => {
  if (obj.length === 0) {
    console.log("Object is empty");
  } else {
    for (let key in obj) {
      console.log(obj[key]);
    }
  }
}

printOneByOneInObject({
  name: "John",
  age: 30,
  city: "New York"
});

He de decir que este último me ayudó GitHub Copilot ya que lo tenía encendido en mi VSCode y no pude evitar ver la solución que me daba, sin duda los objetos en JS son un tema del que necesito estudiar más, y por ello vengo a este curso con muchas ganas de aprender más 💪

Test Javascript

  • ¿Qué es una variable y para qué sirve?
    es un espacio reservado en memoria donde almacenamos información, sirven para guardar cualquier tipo de dato en Js

  • ¿Cuál es la diferencia entre declarar e inicializar una variable?
    al declarar una variable la estoy creando en mi contexto de ejecución, es decir la variable existe indiferente de si tiene un valor o no, al inicializar una variable esta ddebe contener un valor así sea nulo o un dato erroneo.

  • ¿Cuál es la diferencia entre sumar números y concatenar strings?
    al sumar numeros estamos ejecutando una formula matematica sumar, la cual nos dá un nuevo numero de la suma de ambos.
    al concatenar strings, no hay una operación matematica, solamente junta los valores strings de manera literal, mas no los combina.

  • ¿Cuál operador me permite sumar o concatenar?
    para sumar se usa el signo +, para concatenar se puede usar el signo + y la variable por ejemplo:
    var nombre = “joe”;
    var presentacion = " mi nombre es + nombre;

  • 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.

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

let nombre = "joe";
let apellido = "pulgarin";
let userPlatzi = "joe-pulgarin";
let edad = 25;
let correoElectronico = "[email protected]";
let mayorEdad = true;
let dineroAhorrado = 1500000;
let deudas = 0;
  • Calcula e imprime las siguientes variables a partir de las variables del ejemplo anterior:
const fullName = ` ${nombre} ${apellido}`;
const dineroReal = dineroAhorrado - deudas;

console.log(fullName);
console.log(dineroReal);
  • ¿Qué es una función?
    Una función es un conjunto de instrucciones que puede ejecutarse en un determinado momento, y cambiar su logica de acuerdo a los parametros enviados.

  • ¿Cuándo me sirve usar una función en mi código?
    cuando necestiamos realizar acciones similares, reutilizar codigo.

  • ¿Cuál es la diferencia entre parámetros y argumentos de una función?
    los parametros son los nombres que aparecen en la definición de una función
    los argumentos son los valores que le pasamos ( y recibe) a 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 nombre = "Joe";
const apellido = "Pulgarin";
const completeName = nombre + apellido;
const nickname = "Joepulga";

function saludo(completeName, nickname) {

    return `Mi nombre es ${completeName}, pero prefiero que me digas ${nickname}`;
}

saludo(completeName,nickname);

Condicionales

  • ¿Qué es un condicional?

es una instrucción de codigo, basicamente nos permite ejecutar cierta logica dependiendo de la condición ( true o false ) que tengamos en nuestro codigo.
-¿Qué tipos de condicionales existen en JavaScript y cuáles son sus diferencias?

condicionales anidadas:
else If:
condicionales compuestas: cuando la condición está entre un rango de dos numeros.

  • Puedo combinar funciones y condicionales?
    Si, es posible. un ejemplo con el codigo anterior. si el nickname es otro valor, el mensaje cambia

const nombre = "Joe";
const apellido = "Pulgarin";
const completeName = nombre + apellido;

const nickname = "chayanne";
function saludo(completeName, nickname) {

    if(nickname === "joepulga"){
        return `Mi nombre es ${completeName}, pero prefiero que me digas ${nickname}`;
    }else{
        return `Solo dime ${nickname}`;
    } 
}
saludo(completeName,nickname);
  • 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 {
    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).
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
Responde las siguientes preguntas en la sección de comentarios:

  • ¿Qué es un ciclo?
    un ciclo es una estructura que ejecuta un codigo un numero determinado de veces

  • ¿Qué tipos de ciclos existen en JavaScript?
    ciclo for, ciclo while, ciclo for in, ciclo for of.

  • 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 j = 10;
while (j >= 2) {
    console.log("El valor de i 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.
function sumar() {
    let valor = prompt(" cuanto es 2+ 2?");

    if ( valor == 4) {
        console.log("felicitaciones")
    }else {
        return sumar();
    }
}

sumar();
  • ¿Qué es un array?
    es una variable que puede contener muktiples valores.

  • ¿Qué es un objeto?
    es una entidad indepeniente con propiedaes y tipos.

  • ¿Cuándo es mejor usar objetos o arrays?
    Los arrays podemos usarlos cuando guardamos multiples valores de una sola variable, mientras que un objeto puede contener multiples variables con sus valores.

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

  • Crea una función que pueda recibir cualquier array como parámetro e imprima su primer elemento.
let numeros = [1,2,3,4,5,6];
function array1(numeros){
    primerElemento = numeros.shift(0);
    return primerElemento;
}
array1(numeros);
  • 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 numero = [1,2,3,4,5,6];
function array2(numero){
    for (let i = 0; i < numero.length; i ++) {
        const mostrar = numero[i];
        console.log(mostrar)        
    }
}
array2(numero);
  • 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 producto = {
    nombre: 'manzana',
    categoria: 'frutas',
    precio: 1.99
  }   
  console.log(producto);
  function array3(producto){

    for (let clave in producto){
        console.log(producto[clave]);
    }
}
array3(producto);

VARIABLES Y OPERACIONES
1)

¿Qué es una variable y para qué sirve?: Una variable es un espacio reservado en la memoria de la computadora al cual se le asigna un nombre para su identificación y posterior uso en un programa. Sirve para almacenar información necesaria durante la ejecución de un programa computacional dada su capacidad para asumir diferentes valores usando un mismo espacio de memoria.
/
¿Cuál es la diferencia entre declarar e inicializar una variable?: Declarar una variable consiste en asignarle un nombre por el cual se le identificara (en este paso se reserva un espacio de memoria para un tipo de dato especifico según la variable declarada). Al inicializar una variable se le asigna un valor determinado el cual puede ser numérico, string, booleano, etc.
/
¿Cuál es la diferencia entre sumar números y concatenar strings?: Al sumar números se realiza una operación matemática de adición. Al concatenar strings se añade una cadena de texto a otra.
/
¿Cuál operador me permite sumar o concatenar?: El operador “ + ” permite sumar y concatenar.
/
2) y 3)

Nombre (string): var name = “nombre”;
Apellido (string): var lastName = “apellido”;
Nombre De Usuario (string): var userName = “nombre de usuario”; 
Edad (number): var age = 18;
Correo Electronico (string): var email = “correo@correo.com”;
Mayor De Edad (boolean): var adult = true;
DineroAhorrado (number): var savedMoney = 10000;
Deudas (number): var debt = 2000;

4)

Nombre completo:
console.log(“Nombre completo: ” + name + “ ” + lastName);
Dinero real:
console.log("Real money = " + realMoney);

FUNCIONES
1)

¿Qué es una función?: Una función es un bloque de código que realiza una operación determinada.
/
¿Cuándo me sirve una función en mi código?: Una función me sirve cuando necesito realizar acciones u operaciones las cuales serán reutilizadas de manera recurrente en otras secciones de un programa computacional.
/
¿Cuál es la diferencia entre parámetros y argumentos en una función?: Los parámetros son los valores que están definidos en la declaración de la función. Los argumentos son los valores de entrada que se dan a una función para que comience a trabajar, es decir los valores de entrada.
/
2)

let valores = ["Tony", "Stark", "Iron Man"];
function sayHello (lista) {
	const name = lista[0];
	const lastName = lista[1];
	const nickName = lista[2];
	const completeName = name + " " + lastName;
	console.log("Mi nombre es " + completeName + " , pero prefiero que me digas " + nickName + ".");
}
sayHello(valores);

CONDICIONALES
1)

**¿Qué es un condicional?: **Un condicional en programación es un bloque de código el cual evalúa si se cumple o no una determina condición y ejecuta o no una determinada tarea o instrucción basado en el resultado de dicha evaluación.
/
**¿Qué tipo de condicionales existen en JavaScript y cuáles son sus diferencias?: ** En JS existen los condicionales de tipo if else, else if y la sentencia switch. El condicional if else recibe una condición para evaluar y en caso de ser cierta ejecuta el código correspondiente en caso contrario no lo ejecuta. La sentencia switch evalúa casos definidos y cuando se cumplen ejecuta el código correspondiente.
/
¿Puedo combinar funciones y condicionales?: Si, si se puede.
/
2)

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("Que esperas para obtener tu suscripcion?");
}

3)

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

function evaluatePlan(userSuscription) {
    suscriptionPlans.find(function(suscription) {
        if(suscription.Plan === userSuscription) {
            console.log(suscription.Text)
        }
    })
};
evaluatePlan("Expert");

CICLOS
1)

**¿Qué es un ciclo?: **Un ciclo es un bloque de codigo el cual realiza una acción u operación de manera repetida un cierto numero de veces hasta que se cumple una condición determinada o cumple el numero de iteraciones previamente definidas.
/
**¿Qué tipos de ciclos existen en JavaScript?: ** En JS existen los ciclos For, For … of y while.
/
**¿Qué es un ciclo infinito y por qué es un problema?: ** Un ciclo infinito es un ciclo el cual no logra cumplir su condición de finalización, razón por la cual se continuará ejecutando por un tiempo indefinido. Es un problema porque puede llegar a saturar la memoria del computador y dejarlo inutilizable.
/
**¿Puedo mezclar ciclos y condicionales?: **Si.
/
2)

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)

function question(){
    var a = prompt("cuanto es 2 + 2 ?")
    if (a === "4") {
        console.log("Respuesta correcta 2 + 2 = 4")
    } else {
        console.log("Respuesta incorrecta")}
};

LISTAS
1)

**¿Qué es un array?: **Un array es un objeto de tipo lista el cual cuenta con métodos específicos para recorrerlo o modificarlo, puede recibir diferentes tipos de datos y almacenarlos y su longitud no es necesariamente fija.
/
¿Qué es un objeto?: Los objetos en programación son representaciones conceptuales de cualquier cosa. Estas representaciones se logran mediante bloques de código en los cuales se da una estructura la cual permite incorporar: un nombre para la cosa representada (el nombre del objeto), características (que serían las variables declaradas dentro del bloque de código del objeto) y las funciones o métodos que se pueden ejecutar con dicho objeto (que serían las acciones posiblemente realizadas por la cosa representada).
/
¿Cuándo es mejor usar objetos o arrays?: Los arrays son un tipo especifico de objeto y son muy útiles para trabajar con listas. Los objetos en general son mas adecuados cuando se quiere tener una plantilla para modelar algo que existe.
/
¿Puedo mezclar arrays con objetos o incluso objetos con arrays?: Si

2)

function read1(entraceArray){
    console.log(entraceArray[0])
}

3)

function readEveryOne(entraceArray){
    for(let i = 0; i < entraceArray.length; i++){
        console.log(entraceArray[i])}
}

4)

function readObject(objectToRead){
    Object.keys(objectToRead).map(key => {
        console.log("key: " + key + " , value: " + objectToRead[key])
    })
}

Buenas noches ,

A continuación envio mis respuestas a las preguntas planteadas:

Responde las siguientes preguntas en la sección de comentarios:
¿Qué es una variable y para qué sirve?
Respuesta: Es reservar un espacion en memoria
¿Cuál es la diferencia entre declarar e inicializar una variable?
Respuesta: Cuando declaro la variable simplemente reservo el espacio de la misma y le doy un nombre, cuando la inicializo le doy un valor a la variable.
¿Cuál es la diferencia entre sumar números y concatenar strings?
Respuesta:
¿Cuál operador me permite sumar o concatenar?
El operador que me permite 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 - Integer
Correo electrónico - String
Mayor de edad - Boolean
Dinero ahorrado - Integer
Deudas - Integer

Responde las siguientes preguntas en la sección de comentarios:
¿Qué es una función?
Respuesta: Una función es un bloque de código que me permite realizar una tarea.
¿Cuándo me sirve usar una función en mi código?
Respuesta: Cuando deseo realizar una tarea especifica como un cálculo o una validación de información.
¿Cuál es la diferencia entre parámetros y argumentos de una función?
Respuesta:

1️⃣ Responde las siguientes preguntas en la sección de comentarios:
¿Qué es un condicional?
Respuesta: Un condicional es una validación que se hace para saber si una sentencia se cumple o no se cumple.
¿Qué tipos de condicionales existen en JavaScript y cuáles son sus diferencias?
Switch y If , la diferencia es que switch valida excl
¿Puedo combinar funciones y condicionales?
Si se pueden combinar puesto que yo puedo crear una función para ejecutar cierta tarea y allí puedo tener
un condicional para validar uno de los argumentos de entrada de la función.

1️⃣ Responde las siguientes preguntas en la sección de comentarios:
¿Qué es un ciclo?
Respuesta: Un bucle que se repite hasta que se cumpla una condición
¿Qué tipos de ciclos existen en JavaScript?
Respuesta: For , Foreach , While
¿Qué es un ciclo infinito y por qué es un problema?
Respuesta: Es un ciclo que nunca se cumple y se ejecuta de manera infinita.
¿Puedo mezclar ciclos y condicionales?
Respuesta:
Si

1️⃣ Responde las siguientes preguntas en la sección de comentarios:
¿Qué es un array?
Respuesta: Es una colección de elementos
¿Qué es un objeto?
Respuesta: Es la representación de un algo definiendo sus atributos.
¿Cuándo es mejor usar objetos o arrays?
Respuesta:
¿Puedo mezclar arrays con objetos o incluso objetos con arrays?
Respuesta: Puedo Tener arreglos de objetos.

Muchas gracias.

Buenas noches ,

Ejerciicio 1: //Traduce a código JavaScript las variables del ejemplo anterior y deja tu código en los comentarios…

Ejercicion 2: //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)

Ejercicio 3:

//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 name1 = “Juan David”;
const lastname = “Castro Gallego”;
const completeName = name1 + lastname;
const nickname = “juandc”;

//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;
}

Muchas

Buenas noches ,

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. 😏

Muchas gracias.

Buenas noches,

// 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.

/**
*
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).
*
*/

Muchas gracias.

¿Qué es una variable y para qué sirve?
R: Una variable es un espacio que tiene en la memoria un ordenador, y esta sirve para que almacenemos datos en ella.

¿Cuál es la diferencia entre declarar e inicializar una variable?
R: Al inicializar una variable estamos reservando un espacio en la memoria de un ordenador para poder almacenar datos, mientras que al declararla le estamos asignando un nombre que la identifica, siendo esta identificación la que permite que accedamos a ella en la memoria.

¿Cuál es la diferencia entre sumar números y concatenar strings?
R: Al sumar numeros estamos realizando una operación aritmetica, la cual JavaScript por defecto entiende, mientras que al concatenar estamos uniendo caracteres de tipo String.

¿Cuál operador me permite sumar o concatenar?
R: El operador de suma (+) y también el de suma con asignació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

var nombre = "Ángel";
var apellido = "Cordero";
var usuarioPlatzi = "cordevro";
var edad = 21;
var correo = "[email protected]";
var mayorEdad = true;
var dineroAhorrado = 0;
var deuda = 1000000;
var nombre = "Ángel";
var apellido = "Cordero";
var dineroAhorrado = 0;
var deuda = 1000000;
console.log("Nombre y apellido: " + nombre + " " + apellido);
console.log("dinero real: " + dineroAhorrado - deuda);

FUNCIONES
¿Qué es una función?
R: es una herramienta en forma de bloque que sirve para realizar operaciones, ayudando esta a la reutilización de código.
¿Cuándo me sirve usar una función en mi código?
R: Cuando se requiere reutilizar código.
¿Cuál es la diferencia entre parámetros y argumentos de una función?
R: los parametros son los definidos por una función, y los argumentos son los datos que se ingresán al llamar la función.

CONVERTIR FUNCIÓN


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

informacionPersonal("Juan David", "Castro Gallego" ,"JuanDc");

CONDICIONALES
¿Qué es un condicional?
R: como lo dice su nombre, es una condición, en el caso de la programación, es como una regla que debe ser requerida para ser cumplida o no, explicando más a fondo, tiene que ocurrir algo para que suceda otra cosa.
¿Qué tipos de condicionales existen en JavaScript y cuáles son sus diferencias?
R: if-> este es un condicional que se traduce en “si”, quiere decir que si sucede una regla, da lugar o no a un evento por así decirlo.
else-> agregamos el else, que se traduce como un si no, esto sería algo que ocurriría como consecuencia de no suceder lo que estaba en el si.
else-if-> este sucede cuando hay varias condiciones, y queremos seguir utilizando más en caso no se haya cumplido alguna. Sin embargo pueden darse varias condiciones al tiempo.
switch-> es un condicional que permite poner varios casos, sería como en el caso de que suceda una regla, haga x cosa.
¿Puedo combinar funciones y condicionales?
R: Sí
CAMBIANDO CODIGO DE SWITCH A IF, ELSE, ELSE-IF
const tipoDeSuscripcion = “Free”;

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");
}

SOLO IF(?

const tipoDeSuscripcion = "Expert";

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 CONDICIONALES

const suscripcion = "ExpertPlus";
const tipoDeSuscripciones = ["Free", "Basic", "Expert", "ExpertPlus"];
const cursosPorTomar = [
    "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 buscar_suscripcion = tipoDeSuscripciones.indexOf(suscripcion);
const mensaje = cursosPorTomar[buscar_suscripcion];

console.log(mensaje);

BONUS CONDICIONALES CON BUCLES

const sucripcion = "Expert";
const tipoDeSuscripciones = ["Free", "Basic", "Expert", "ExpertPlus"];
const cursosPorTomar = [
    "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 (var i = 0; i < tipoDeSuscripciones.length; i++){
    if (sucripcion === tipoDeSuscripciones[i]){
        console.log(cursosPorTomar[i]);
        var i = 5;
    }
}

CICLOS
¿Qué es un ciclo?
R: también conocido como bucle es un bloque de código que crea un entorno repetitivo de ciertas operaciones, sirviendo para recorrer arrays u objetos, o realizar una misma acción en muchos elementos.
¿Qué tipos de ciclos existen en JavaScript?
R: existen varios, pero los más comunes son el for, for of y while.
¿Qué es un ciclo infinito y por qué es un problema?
R: un ciclo infinito es cuando un ciclo no tiene fin por un fallo al condicionar nuestro codigo, el problema es que esto llena la memoria y hace que el sistema actúe como loco, porque se repiten sin fin las acciones programadas.
¿Puedo mezclar ciclos y condicionales?
R: Sí

CICLOS FOR A 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--;
}

2 + 2

var suma = 0;
var mensaje = 'Felicitaciones, respuesta correcta';
var resultado = 4;


while (suma != resultado){
    var suma = prompt('Cuánto es 2 + 2: ');
}

console.log(mensaje);

LISTAS
¿Qué es un array?
R: conocido en español como arreglo, es un tipo de datos donde se pueden guardar o mostrar muchos elementos de distintos tipos también, inclusive de tipo array
¿Qué es un objeto?
R: Es un tipo de dato que está compuesto de atributos o carácteristicas.
¿Cuándo es mejor usar objetos o arrays?
R: los objetos son mejor utilizarlos cuando vamos a trabajar con elementos que tienen varias caracteristicas o atributos, y los arrrays son mejores para guardar o mostrar varios datos.
¿Puedo mezclar arrays con objetos o incluso objetos con arrays?
R: Sí

EJERCICIO 1 DE LISTAS

var numeros = [0,1,2,3,4];

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

miFuncion(numeros);

EJERICIO 2 DE LISTAS

var numeros = [0,1,2,3,4];

function miFuncion(array){
    for(numero in array){
        console.log(numero);
    }
}

miFuncion(numeros);

ME RINDO EN EL ÚLTIMO EJERCICIO JEJE, ESTOY ALGO FLOJO EN OBJETOS, A ESTUDIAR MÁS!!!

    1️⃣  variables y operaciones

.(1) las variables son espacios reservados en memoria y sirven para almacenar un determinado valor.

.(2) al declarar una variable solo hago uso de su sintaxis.
al inicializarla le agrego un valor para luego hacer uso de este.

.(3)sumar numeros: es el resultado de una operacion matematica.
Conacatenar strings : es cuando unimos dos valores de tipo strings los cuales se declaran entre comillas.

.(4) el operador + es el encargado de sumar y tambien permite concatenar strings, aunque es mejor utilizar strings-literals: strings.

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

Nombre: strings
Apellido: strings
Nombre de usuario en Platzi: strings
Edad: number
Correo electrónico: strings
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 = “Velandia”;
let Nombredeusuarioenplatzi = “Gregorio Jesus”;
let Edad = 26;
let Correoelectronico = "[email protected]"
let Mayordeedad = true;
let Dineroahorrado = 1500;
let deudas = 500;

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

console.log(`${Nombre} {Apellido}`)
const restar  = (valor1, valor2) =>  {
            return valor1 - valor2 
}
console.log(restar (Dineroahorrado, Deudas));

}
console.log(restar (Dineroahorrado, Deudas));

                 (Funciones)

¿Qué es una función?
son fraciones de codigo encapsuladas.

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

la mayor parte del tiempo nuestro codigo estara dentro de funciones para poder ser reutilizado y hacer
hacer escalables nuestros proyectos.

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

la diferencia esta en que los parametros son aquellos que utilizamos dentro de una funcion para determinar que hara esta con los argumentos los cuales son valores que le daremos al llamar una funcion.
ejemplo:

const restar = (valor1, valor2) => {
            return valor1 - valor2
}
console.log(restar (Dineroahorrado, Deudas));

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 lastname = "Castro Gallego";
const completeName = name + lastname;
const nickname = "juandc";

const  presentacion = ( valor1, valor2) => {
let valor3 = (`Mi nombre es ${valor1} pero prefiero que me digas ${valor2}`);
 return console.log(valor3)
}
presentacion(completeName, nickname)
                       Condicionales

¿Qué es un condicional?
una fraccion de codigo que se ejecuta si una condicion arroja un valor boolean.
¿Qué tipos de condicionales existen en JavaScript y cuáles son sus diferencias?
If…else
Switch
El switch es diferente que el if en que se concentra en casos no en condiciones, el switch evalúa solamente valores mientras que el if evalúa condiciones

¿Puedo combinar funciones y condicionales?

si

let Edad = 18;

const condicional = (valor1 ) => {
if (valor1 >=18){
console.log("eres un adulto")
}else{
console.log("aun eres un adolecente")
}
}

condicional(Edad);

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");
       }

    let plain = "Free";


    let objeto = [
        "Free",
        "Basic",
        "Expert",
        "ExpertPlus"
    ]

    const mensaje = [
        "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(valor in objeto){
    if(objeto[valor] == plain){
        console.log(mensaje[valor]);
    }
}
                    Ciclos

¿Qué es un ciclo?
es un bucle que recorre y repite un codigo hasta que se cumple una condicion.
¿Qué tipos de ciclos existen en JavaScript?
.for
.while
¿Qué es un ciclo infinito y por qué es un problema?
es un bucle que no se detiene y su problema es que no deja continuar con la ejecucion del codigo.

¿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 ){
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 logica = () => {
    let Question =Number(prompt('cuanto es dos mas dos'));
    if(Question == 4){
        alert('felicidades!!');
    }else{
        let Question =Number(prompt('cuanto es dos mas dos'));
    }
}

logica()
                   Listas

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

es una lista ordenada de valores a los que te refieres con un nombre y un índice.

¿Qué es un objeto?

entidad independiente con propiedades y tipos.

¿Cuándo es mejor usar objetos o arrays?

Los arrays se utilizan cuando almacenamos varios valores de una sola variable, mientras que un objeto puede contener diferentes variables con sus valores dentro.

¿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 NewArray = ['pedro', 'andres','maicol','felipe','ismael']
let newFunction = (array) => {
    console.log(array[0])
}

newFunction(NewArray);

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 nameAnime = ['naruto','sazuke','tanjiro','zenitzu']
let iterable = (array) => {
    for(let key in array){
        console.log(`${key} ${array[key]}`);
       
    }
}

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 myMoviesFavorities = {
    terror: 'la noche del demonio',
    comedia: 'son como niños',
    ficcion: 'avenger'
  };
  let reading = (object) => {
    for (let key in object) {
      console.log(object[key]);
       }
   }
  reading(myMoviesFavorities);

VARIABLES Y OPERACIONES

  1. Variables
    Una variable es información almacenada en la memoria de la máquina. Declarar una variable la guarda en la memoria, sin más información. Inicializarla le informa a la computadora qué información guardar en ella.

  2. Nombre y tipo de datos
    Nombre es string
    Apellido es string
    Nombre de usuario de Platzi es string
    Edad es número
    Correo electrónico es string
    Mayor de edad es boolean
    Dinero ahorrado es número
    Deudas es número

  3. Traduce a código

var nombre = "Christian";
var apellido = "Larrabure";
var platziUsuario = "christianlarrabure";
var edad = 25;
var correo = "[email protected]";
var mayorDeEdad = true;
var dinero = 40000;
var deudas = 0;
console.log(`NOMBRE COMPLETO: ${nombre} ${apellido}`);
var dineroReal = dinero-deudas;
console.log(`DINERO REAL: ${dineroReal}`);

FUNCIONES

Una función es una secuencia de acciones que se guardan en la memoria para ser ejecutados.

Es útil guardar una función para acciones que se van a repetir más de una vez.

Tuve que googlear la diferencia entre parametros y argumentos, pues pensé que era distintos, pero la diferencia que encontré es que el o los parametros es lo que pide la función y el argumento o argumentos son los valores pasados a la función.

function presentacion(name, lastname, nickname) {
	this.completeName = name + " " + lastName;
	return "Mi nombre es " + this.completeName + ", pero prefiero que me digas " + nickname + ".";
}

console.log(presentacion("Christian", "Larrabure", "Larry"));

CONDICIONALES
1.
Una condicional es una condición que se va a evaluar en código y ejecutará codigo si este es true.

const tipoDeSuscripcion = "Basic";

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

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

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

CICLOS

Un cíclo es una acción que se ejecutará varias veces. Existe for y while. For ejecuta la acción sobre la base de un número definido de elementos y while ejecuta una acción mientras una condición se cumple. Un ciclo infinito es aquel que no para de ejecutarse, y puede ser muy dañino para un programa.

Sí se puede mezclar ciclos y condicionales, adentro del ciclo.

var 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--;
}
var answer;
while (answer != 4) {
	answer = prompt("Cuanto es 2+2?");
	if (answer != 4) {
		console.log("Incorrecto.");
	}
}
console.log("Felicitaciones! Esa es la respuesta correcta.");

LISTAS
1.
Un array es un tipo de variable que guarda información de manera ordenada.

Un objeto es un tipo de variable que guarda información en el formato key, value.

Los objetos son útiles para guardar información sobre elementos que tendrán más variables adentro. El array es útil para valores que no necesitan variables adentro. Sí se puede mezclar entre sí.

function firstItemOf(arrayPassed) {
	console.log(arrayPassed[0]);
}
firstItemOf(["Correcto", "Incorrecto"]);
function allItemsOf(arrayPassed) {
	arrayPassed.forEach(function(i) {
		console.log(i);
	})
}
allItemsOf([1, 2, 3, 4, 5]);

Esta se me dificulto acordarme la existencia de ‘in’

function allElements(obj) {
	for(key in obj) {
		console.log(key + ": " + obj[key]);
	}
}
allElements({
	nombre: "Christian",
	apellido: "Larrabure"
});

Variables y Operaciones

1

  • ¿Qué es una variable y para qué sirve?
    Una variable es un espacio en memoria, la cual tiene un nombre que usamos para acceder al dato guardado en ella cuando lo necesitemos.
  • ¿Cuál es la diferencia entre declarar e inicializar una variable?
    Declarar una variable es elegir que tipo de variable es y darle un nombre.
    Inicializar una variable es darle un valor inicial a dicha variable.
  • ¿Cuál es la diferencia entre sumar números y concatenar strings?
    Sumar números es una operación matematica. Concatenar strigns es juntar una cadena de caracteres con otra cadena de caracteres. Juntos pero no revueltos.
  • ¿Cuál operador me permite sumar o concatenar?
    El signo más +
    Si tienes varios tipos de datos y aparece un signo más… suma cuando todos son números o concatena cuando al menos un dato es de tipo String.

2

Es un Objeto

3

const obj = {
	Nombre: 'Jorge',
	Apellido: 'Arias',
	Nombre_de_usuario_en_Platzi: 'JorgeAriasArg',
	Edad: 32,
	Correo_electrónico: [email protected],
	Mayor_de_edad: true,
	Dinero_ahorrado: 1000000000000,
	Deudas: 0,
}

4

const completeName = (obj) => {
	const {Nombre, Apellido} = obj:
	return '${Nombre}' +  ' ' + '${Apellido}';
}:

const realMoney = (obj) => {
	const {Dinero_Ahorrado,  Deudas} = obj:
	return ${Dinero_Ahorrado} - ${Deudas};
}:
const Nombre = 'Marco Antonio';
const Apellido = 'Mejia Lopez';
let usrName = 'MarcoMejiaL';
let edad = 31;
const Email = '[email protected]';
let mayorEdad = true;
let dineroAhorrado = 200;
let deudas = 8000;

/* -------------------------------------------------------- */
console.log(`tu Nombre es ${Nombre} ${Apellido}`);

console.log(`Tu deuda menos lo ahorrado es de ${dineroAhorrado - deudas}`);
/* ----------------------- */
const Nombrefuncion = (nombre, apellido, edad) =>{
    console.log(`mi nombre completo es ${nombre} ${apellido} y mi edad es de ${edad} `);
}

Nombrefuncion(Nombre, Apellido, edad);
/* ------------------------------------------- */

const tipoDeSuscripcion = 'Expert+';

if(tipoDeSuscripcion == 'Basic'){
    console.log('es basic');
}
else if (tipoDeSuscripcion == 'Expert'){
console.log('tu suscirpcion es Expert');
}
else if (tipoDeSuscripcion == 'Expert+'){
    console.log('tu suscripcion es Expert + y la compartes con un amigo');
}
else{
    console.log('creo que no tiene suscripcion');
}
/* ----------------------------------------------- */
const tipoDeSuscripcion = null;
if(tipoDeSuscripcion == 'Basic'){
    console.log('es basic');
}
if(tipoDeSuscripcion == null){
    console.log('no tienes suscripcion');
}


/* ----------------------- */
let a =1;
while(a <= 5 ){
    console.log(a);
    a++;
}

let b =10;
while (b >=2){
    console.log(b);
    b--
}

/* ------------------ */
let respuest = 4;
console.log('Cuanto es 2 + 2');
if(respuest ==4){
    console.log('respuesta correta es 4');
}
else{
    console.log('respuestas incorrecta '+respuest);
}

/* -------------------- */
let cadena = [1,3,5,7];

const primerElemento =(cadena)=>{
   return console.log(cadena[0]);
} 
primerElemento(cadena)

/* ------------------------ */
let cadena = [8,3,5,7];

const primerElemento =(cadena)=>{
   for(let a =0; a <=cadena.length; a++){
     console.log(cadena[a]);
   }
   
} 
primerElemento(cadena)

Buenas compañeros/as, Acá les dejo mi Test de JavaScript, en notion, para que podamos comparar nuestras respuestas y aprender entre todos.
💚💚 NUNCA PARES DE APRENDER 💚💚.


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--;
};

Variables y operaciones
1️⃣

  • Una variable es un espacio reservado en memoria para almacenar información.
  • Declarar solo reserva el espacio en memoria de la variables, pero su valor no esta definido, e inicializarse darle un valor, ya sea texto, un número o un booleano.
  • Al sumar números lo hacemos de manera aritmética, como en la primaria; concatenar texto no es más que unirlos o juntarlos en un solo texto.
  • El de suma: +

2️⃣

  • Nombre: string
  • Apellido: string
  • Nombre de usuario en Platzi: string
  • Edad: número
  • Correo electrónico: string
  • Mayor de edad: bool
  • Dinero ahorrado: número
  • Deudas: número

3️⃣

4️⃣

Funciones
1️⃣

  • Es un bloque de código reutilizable, que nos evita tener que escribir todo ese código para realizar la operación deseada.
  • Cuando alguna parte del código se repita muchas veces, es buena idea crear una función de ello.
  • Los parámetros son las variables necesarias que requiere la función para ejecutarse, la cual nosotros indicamos cual es al declararla. Los argumentos se refiere a lo mismo, pero son los valores que la pasamos a la función al momento de invocarla.
    2️⃣

    Condicionales
    1️⃣
  • Nos permite evaluar si cierta condición se cumple o no, modificando el flujo del programa.
  • Existe el if y switch: if nos permite usar operadores de condiciones y compuertas lógicas, mientras que switch nos permite comparar si una variable tiene ciertos valores, indicando un las acciones a realizar en cada caso.
  • Claro que sí.
    2️⃣

    3️⃣

Ciclos
1️⃣

  • Es un bloque de código que nos permite repetir realizar cierta acción mientras una condición se cumpla.
  • Esta el ciclo for, while y do while.
  • Es un ciclo en el que la condición dada para terminar el bucle siempre es verdad, por lo que el proceso se cumplirá de manera infinita evitando que el resto del programa se ejecute.
  • Claro que si.
    2️⃣

    3️⃣

Listas

  • Es un objeto que nos permite almacenar múltiples valores del mismo tipo.
  • Es un tipo de colección en JavaScript que nos permite almacenar datos de diferente tipo, hace uso de keys para relacionar la propiedad del objeto con su valor.
  • Cuando sabemos que los datos serán de un mismo tipo, es buena idea usar una lista, para ahorrar memoria; si no, lo mejor es utilizar un objeto.
  • Claro que sí.
    2️⃣

    3️⃣

    4️⃣

¿Qué es una variable y para qué sirve?
Es un concepto que nos permite apartar un espacio en memoria para el contenido que vaya a contener.

¿Cuál es la diferencia entre declarar e inicializar una variable?
La declaración es solo darle un nombre a la variable.

¿Cuál es la diferencia entre sumar números y concatenar strings?
La diferencia es que la suma de número es una operación matemática que va a dar un resultado a partir de la suma de los elementos, mientras que la concatenación, a pesar de ser utilizada con el mismo operador, se emplea es para unir Strings, es decir un texto ya sea una oración o una sola palabra para que el resultado sea una cadena con los elementos concatenados.

¿Cuál operador me permite sumar o concatenar?
El operador “+”

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 : Nuber
Deudas: Number

Traduce a código JavaScript las variables del ejemplo anterior y deja tu código en los comentarios.
let name = “Luis”;
let lastName = “Vallejo”;
let userName = “Homer79”;
let age= 43;
let mail= “[email protected]”;
let adult= true;
let savedMoney = 0;
let debts = 1000000;
console.log(My name is ${name} and my last name is ${lastName})
console.log(Dinero Real ${savedMoney - debts})

//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 objetoPC = {
“cpu”: “8 núcleos”,
“ram”: “16 GB”,
“almacenamiento”: “500 GB”,
};

function imprimirElementos (objeto) {
for (let valor in objeto) {
console.log(${valor}: ${objeto[valor]});
}
}

Mis respuestas a la prueba
VARIABLES
1.

  • ¿Qué es una variable y para qué sirve?
    espacio reservado en memoria (en el sistema de almacenaje o memoria principal de un ordenador) y tiene un identificador, el cual esta asociado a dicho espacio en memoria.
  • ¿Cuál es la diferencia entre declarar e inicializar una variable?
    La diferencia radica en que 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 numeros es una operación matematica se realiza con el signo +, concantenar numeros es unir 2 datos.
  • ¿Cuál operador me permite sumar o concatenar?
    suma y concatenación
    concactenación con ${} ${}
  1. y
const nombre = "Keysy";
  const apellido = "Hernandez";
  let usuarioPlatzi = "Keyhm";
  let edad = "22";
  const email = "[email protected]";
  let mayorDeEdad = "si";
  let dineroAhorrado = 20000;
  let deudas = 500;
const nombreCompleto = nombre + ' ' + apellido;
  console.log(nombreCompleto); 
  const dineroReal = dineroAhorrado - deudas;
  console.log(dineroReal);

FUNCIONES
1.

  • ¿Qué es una función?
    Bloque de código que realiza una actividad específica.

  • ¿Cuándo me sirve usar una función en mi código?
    cuando varias sentencias o algoritmos son iguales y solo cambian algunos parámetros

  • ¿Cuál es la diferencia entre parámetros y argumentos de una función?
    A diferencia de la definición de parámetros, los argumentos no tienen nombres. Cada argumento es una expresión, que puede contener cero o más variables, constantes y literales.

const name = "Juan David";
const lastname = "Castro Gallego";
const fullname = name + lastname;
const nickname = "juandc";
let resultado = "Mi nombre es " + fullname + ", pero prefiero que me digas " + nickname + ".";

function miFunction(name, lastname, nickname){
    let fullname = `${name} ${lastname}`;
    return resultado }
console.log(resultado)

CONDICIONALES
1.

  • ¿Qué es una condicional?
    Una condicional indican si se cumple o no una condición.
  • ¿Qué tipos de condicionales existen en JavaScript y cuáles son sus diferencias?
    IF, ESLE IF, ELSE, SWITCH, CASE, BREAK, operadores ternarios, la diferencia se encuentra en la sintaxis y en su aplicación.
  • ¿Puedo combinar funciones y condicionales?
    si.
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");}

BONUS

function main(){
        const answers = [
                {suscription: "Free", message:"Solo puedes tomar los cursos gratis"},
                {suscription: "Basic", message:"Puedes tomar casi todos los cursos de Platzi durante un mes"},
                {suscription: "Expert", message:"Puedes tomar casi todos los cursos de Platzi durante un año"},
                {suscription: "Expert plus", message:"Tú y alguien más pueden tomar TODOS los cursos de Platzi durante un año"}
        ];

        const suscriptionSelect = Number((prompt("elige \n0 = Free \n1 = Basic \n2 = Expert \n3 = Expert Plus")));
        console.log(suscriptionSelect);

        if(suscriptionSelect >= 0 && suscriptionSelect <= 3) {
          alert("elesgiste " + answers[suscriptionSelect].suscription);}
        else {
          alert("esta suscripción no existe");
        }
      }

      main();

CICLOS
1.

¿Qué es un ciclo?
Es una forma rápida y sencilla de hacer algo repetidamente
¿Qué tipos de ciclos existen en JavaScript?
for, for in, for of, while, do while
¿Qué es un ciclo infinito y por qué es un problema?
cuando no pones un limite al ciclo como un tope o un break y no termina nunca su ejecución.
¿Puedo mezclar ciclos y condicionales?
Sí.

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--;
  }
function suma(){
    let respuesta = Number(prompt("cuanto es 2 +2"));
    
    if(respuesta === 4){
    alert("que inteligente");
    } 
    else {
    alert("que??");
}
}
suma();

LISTAS
1.

¿Qué es un array?
es una lista
¿Qué es un objeto?
tipo de dato
¿Cuándo es mejor usar objetos o arrays?
depende de la situación
¿Puedo mezclar arrays con objetos o incluso objetos con arrays?
si pueden haber array en objetos, no objetos en un array

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”;

const tiposDeSuscripciones = {
“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 === “Free” || “Basic” || “Expert” || “ExpertPlus”) {
console.log(tiposDeSuscripciones[tipoDeSuscripcion]);
}

String: let name = "Nombre";
String: let lastName = "Apellido";
String: let userName = "Nombre de usario";
Number: let yearsOld = "Edad";
String: let email = "Email";
Number: let adult = "Mayor de edad";
Number: let savedMoney = "Dinero Ahorrado"
Number: let debts = "Deudas";

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. 😏

const typeSubscription = {
  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  userSubscription = "Expert"

if(typeSubscription.hasOwnProperty(userSubscription)){
  console.log(`Subscription ${userSubscription}: ${typeSubscription[userSubscription]}`)
} else {
  console.log("No subscription with the name:", userSubscription)
}