Curso Práctico de JavaScript

Curso Práctico de JavaScript

Juan David Castro Gallego

Juan David Castro Gallego

Prueba de JavaScript

2/24

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 la siguiente clase 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 una 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 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. Mira todo lo que lograste con esta prueba. 🏆

¡Te espero en la siguiente clase para comenzar!

Aportes 1545

Preguntas 38

Ordenar por:

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

Mis respuestas de la prueba:)
Variables y operaciones

  1. Responde las siguientes preguntas:
    • Un espacio reservado de memoria donde se almacena informacion
    • Una variable se declara para reservar su espacio de memorio, se inicializa para guardar info en ese espacio.
    • Sumar numeros como operacion matematica, concatenar es cuando se juntan dos textos para formar uno mismo
    • El signo de +
let nombre = 'Juanito';
let apellido = 'Alcachofa';
let nombreUsuario = 'JAlcachofa';
let edad = 21;
let email = '[email protected]';
let mayorEdad = true;
let dineroAhorrado = 10000;
let deudas = null;
let fullName = `${nombre} ${apellido}`;
let dineroReal = dineroAhorrado - deudas;

Funciones

  1. Responde las siguientes preguntas
    • Un bloque de código que hace una serie de procedimientos
    • Cuando se repite varias lineas de codigo en el proyecto
    • Parametro es una variable que está en la definición de una función, argumento son los datos que se le pasan a los parametros de una función
const miFuncion = (name, lastName, nickname) => {
	let fullName = `${name} ${lastName}`;
	return `Mi nombre es: ${fullName}, pero prefiero que me digas ${nickname}`;
}
console.log(miFuncion('Juan David', 'Castro Gallego', 'juandc'));

Condicionales

  1. Responde las siguientes preguntas

    • Un grupo de instrucciones que se ejecuta segun el resultado de una evaluación
    • If, else if, switch y ternario
    • Si se puede 😃
const tipoDeSuscripcion = "basic";
if(tipoDeSuscripcion === 'Free'){
	console.log("Solo puedes tomar los cursos gratis");
} else if (tipoDeSuscripcion === 'Basic') {
	console.log("Puedes tomar casi todos los cursos de Platzi durante un mes");
} else if (tipoDeSuscripcion === 'Expert') {
	console.log("Puedes tomar casi todos los cursos de Platzi durante un año");
} else if (tipoDeSuscripcion === 'Expert+') {
	console.log("Tú y alguien más pueden tomar TODOS los cursos de Platzi durante un año");
}

// Codigo solo con 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 === '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

    • Un bloque de codigo que se repite n veces
    • for, for of, for in, while, do-while
    • Es un ciclo que nunca se va a detener, puede causar que nuestro ordenador se apague por exceso consumo de memoria en el navegador
    • Si se puede
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--;
}

// punto 3
let respuesta = 0;
do {
  respuesta = prompt('¿Cual es el resultado de 2 + 2?')
  respuesta *= 1;
} while (!(respuesta === 4))

Listas

  1. Responde las siguientes preguntas

    • Son un conjunto de valores del mismo tipo almacenados en una sola variable
    • Un objeto es una colección de propiedades
    • Su uso depende de la necesidad del problema
    • Si se pueden mezclar
const unaFuncion = (array) => {
  console.log(array[0]);
};

// punto 3
let frutas = ['Pera', 'Manzana', 'Sandia'];
const unaFuncion = (array) => {
  array.forEach((elem) => {
    console.log(elem);
  });
};

unaFuncion(frutas);

// Punto 4
let persona = {
  nombre: 'Oscar',
  apellido: 'Aguilar',
  edad: 21
}
const unaFuncion = (objeto) => {
  Object.values(objeto).forEach((elem) => {
    console.log(elem);
  });
};

unaFuncion(persona);

Si me equivoque en alguna por favor corrijanme 😃

Estuvo interesante la prueba jeje aquí dejo el bonus:

const tipoDeSuscripcion = "Free";

const Suscripciones= ["Free","Basic","Expert","Expert+"];
const Respuestas=["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"];

index=Suscripciones.indexOf(tipoDeSuscripcion);
if (index==-1){
    console.error("No exisite este plan u.u");
}
else{
    console.log(Respuestas[index]);
}
  • ¿Puedo combinar funciones y condicionales?

Reto Cumplido
Fueron unas cuantas horas pero lo valió, me sirvió mucho para repasar.

Resultados:

  /* Variables y operaciones */
// 1.-
	// a) Una variable es figuradamente una caja donde 	puedes guardar distintas cosas, como por ejemplo :
    let number = 23;
    const nombre = 'Jesús';
    let mayorDeEdad = true;

	// b) La diferencia es que al declarar una variable no estamos asignándole algún valor y al inicializarla si, por ejemplo:
    // Declarar
    let variable;
    // Inicializar
    variable = true;
	// c) La diferencia  que al sumar strings no se suman los números solo se añaden ejemplo:

    function sumar(a, b) {
      return a + b
    }

    console.log(sumar(4, 2)); // Resultado 6
    console.log(sumar('4', '2')); // Resultado '42'


	// d) El operador de más o suma  (+), ejemplo:
    function sumar(a, b) {
      return a + b
    }

    console.log(sumar(4, 2)); // Resultado 6
    console.log(sumar('Jesús ', 'Sotelo')); // Resultado 'Jesús Sotelo'

// 2.-
  const nombre = 'string';
  const apellido = 'string';
  let usuarioPlatzi = 'string';
  let edad = number;
  const email = 'string';
  let mayorDeEdad = boolean;
  let dineroAhorrado = number;
  let deudas = number;

// 3.- Podríamos generar un Objeto
  const objeto = {
    nombre: 'Jesús',
    apellido: 'Sotelo',
    usuarioPlatzi: '@JesúsSotelo98',
    edad: 23,
    email: '[email protected]',
    mayorDeEdad: true,
    dineroAhorrado: 2000,
    deudas: 500
  }

// 4.-
  const nombreCompleto = objeto.nombre + ' ' + objeto.apellido;
  console.log(nombreCompleto); // Resultado Jesús Sotelo
  const dineroReal = objeto.dineroAhorrado - objeto.deudas;
  console.log(dineroReal); // Resultado 1500


/* Funciones */

// 1.-
  // a) Un bloque de código o de sentencias que se pueden utilizar para generar acciones con los valores que ya se han guardado en variables. En resumen te permiten ahorrar código que se repite mucho
  sumar('Esta función ', 'la declare hasta arriba'); // Resultado 'Esta función la declare hasta arriba'

  // b) Hay que utilizarlas cuando varias sentencias o algoritmos son iguales y solo cambian algunos parámetros, esto nos ayuda ahorrarnos mucho código.
  sumar('Sigo utilizando ', 'la función de suma');

  // c) Los parámetros se definen en la función pueden ser la cantidad de parámetros que recibirá y los argumentos es la información que se la pasara a la función.

  function parametros(p) { // La (p) representa los parámetros
    return p + ' solucionado'
  }

  console.log(parametros('argumento')); // Al declarar la función se le agregan los argumentos R: 'argumento solucionado'

// 2.-
  function precentacion(n, l, nk) {
    return 'Mi nombre es ' + n + ' ' + l + ', pero prefiero que me digas ' + nk
  }
  console.log(precentacion('Juan David', 'Castro Gallegos', 'JuanDC')); // Resultado: 'Mi nombre es Juan David Castro Gallegos, pero prefiero que me digas JuanDC'
  console.log(precentacion('Jesús', 'Sotelo', 'Chuy')); // Resultado: 'Mi nombre es Jesús Sotelo, pero prefiero que me digas Chuy'

/* Condicionales */

// 1.-
  // a) Una condicional indican si se cumple o no una condición.
  function comprobarEdad(edad) {
    if (edad > 18) {
      return console.log('Eres Mayor de edad');
    } else if (edad === 18) {
      return console.log('Apenas y ya eres mayor, ya puedes pasar al teibol');
    } else {
      return console.log('No eres mayor de edad');
    }
  }
  comprobarEdad(17); // Resultado: No eres mayor de edad
  comprobarEdad(18); // Resultado: Apenas y ya eres mayor, ya puedes pasar al teibol
  comprobarEdad(23); // Resultado: Eres Mayor de edad

  // b) if elseif else, switch, Operador Ternario, Todos hacen lo mismo al comprobar si es true o false pero es diferente la sintaxis y la aplicación

  // c) Sí y es lo mas común

// 2.-
  function tipoDeSuscripcion(s) {
    if (s == 'Free') {
      return console.log("Solo puedes tomar los cursos gratis");
    } else if(s == 'Basic') {
      return console.log("Puedes tomar casi todos los cursos de Platzi durante un mes");
    }
    else if(s == 'Expert') {
      return console.log("Puedes tomar casi todos los cursos de Platzi durante un año");
    }
    else if(s == 'Expert +') {
      return console.log("Tú y alguien más pueden tomar TODOS los cursos de Platzi durante un año");
    } else {
      return console.log('Que esperas para adquirir tu suscripción');
    }
  }

  tipoDeSuscripcion('Expert +'); // Resultado: Tú y alguien más pueden tomar TODOS los cursos de Platzi durante un año
  tipoDeSuscripcion('no tengo'); // Resultado: Que esperas para adquirir tu suscripción

// 3.- Jejeje todavía no soy tan pro.

/* Ciclos */

// 1.-
  // a) Es una forma rápida y sencilla de hacer algo repetidamente
  // b) Los ciclos que hay son los ciclos for, for in, for of, while, do while
  // c) Es cuando no pones un limite al ciclo como un tope o un break y puede llegar a crashear el navegador o incluso el dispositivo en el que se esta ejecutando el ciclo.
  // d) Sí, es funcional en ciertos casos

// 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 juego() {
    let resultado;
    do {
      resultado = parseInt(prompt('¿Cuál es el resultado de "2 + 2". R: '));
    } while ( resultado !== 4 );
    if (resultado === 4);
    return console.log('¡Eres un GENIO!');
  }
  juego();

/* Listas */

// 1.-
  // a) Un array es un tipo de datos objetos, puedes guardar distintos valores como si fuera una lista y se encuentran seguidos en memoria.
    let lista = ['hola', 'como', 'estas']
  // b) Un objeto te permite guardar datos con claves y valores ejemplo:
  const objetoCarro = {
    marca: 'Bugatti',
    modelo: 'Chiron',
    precio: '1 USD'
  }
  // d) Depende mucho, pero algo que ahorita se me viene a la cabeza, es mejor utilizar un objeto cuando tienes que guardar datos que son repetitivos como un usuario que siempre va a tener las mismas claves y solo cambian los valores.
  // c) Creo que sí.

// 2.-
  function array(a) {
    return console.log(a[0]);
  }

  array(lista);
// 3.-
  for (const value of lista) {
    console.log(value);
  }
// 4.-
  for (const property in objetoCarro) {
    if (Object.hasOwnProperty.call(objetoCarro, property)) {
      const element = objetoCarro[property];
      console.log(element);
    }
  }

Estas son mis respuestas 😌la prueba estuvo divertida

VARIABLES Y OPERACIONES

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

¿Qué es una variable y para qué sirve?
Es un espacio en memoria el cual nos permite almacenar datos

¿Cuál es la diferencia entre declarar e inicializar una variable?
Declarar prepara el espacio en la memoria que sera utilizada, mientras que inicializar la variable ya le da un valor a dicho espacio

¿Cuál es la diferencia entre sumar números y concatenar strings?
Sumar números es autoincrementar un valor tipo numerico, mientras que concatenar strings es tener dos valores tipo string y unirlos para formar un solo valor

¿Cuál operador me permite sumar o concatenar?
el operador “+” el resto depende del tipo de dato que se este utilizando

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

Nombre
var nombre (tipo string)

Apellido
var apellido (tipo string)

Nombre de usuario en Platzi
var nickName (tipo string)

Edad
var edad (tipo int)

Correo electrónico
var email (tipo string)

Mayor de edad
var mEdad (tipo boolean)

Dinero ahorrado
var ahorros (tipo float o double)

Deudas
var deudas (tipo float o double)

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

var nombre = 'Juan Fra'
var apellido = 'Ruano'
var nickName = 'Pinguino'
var edad = 23
var email = 'juan.francisco.45@hotmail.com'
var mEdad = true
var ahorros = 900.00
var deudas = 70.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 o `${nombre} ${apellido}`

Dinero real (dinero ahorrado menos deudas)

var dReal = ahorros - deudas

FUNCIONES

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

¿Qué es una función?
Un bloque de codigo que cumple con una tarea especifica

¿Cuándo me sirve usar una función en mi código?
Cuando encontramos una tarea que se repite varias veces en el codigo, podemos hacerla funcion y simplemente la invocamos cuando se necesite

¿Cuál es la diferencia entre parámetros y argumentos de una función?
Los parametros son variables dentro de la funcion misma mientras que los argumentos son variables que nosotros enviamos a la funcion al momento de 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 quienSoy = (nombres, apellidos, nickname) => {
    var nombreCompleto = `${nombres} ${apellidos}`
    console.log(`Mi nombre es ${nombreCompleto}, pero prefiero que me digas ${nickname}.`)
}

quienSoy("Juan Fra","Ruano","Pinguino")

CONDICIONALES

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

¿Qué es una condicional?
Un bloque de codigo que se ejecuta en caso de que se cumpla una condicion o pregunta lógica

¿Qué tipos de condicionales existen en JavaScript y cuáles son sus diferencias?
if, else if, switch, 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 tipoSuscripcion = (suscripcion) =>{
    if(suscripcion === 'Basic'){
        console.log("Puedes tomar casi todos los cursos de Platzi durante un mes");
    }
    else if(suscripcion === 'Expert'){
        console.log("Puedes tomar casi todos los cursos de Platzi durante un año");
    }
    else if(suscripcion === 'Expert+'){
        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");
    }
}

tipoSuscripcion('Basic')

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

const tipoSuscripcion = (suscripcion) =>{
    var respuesta = suscripcion === 'Basic' ? "Puedes tomar casi todos los cursos de Platzi durante un mes": 
                        suscripcion === 'Expert' ? "Puedes tomar casi todos los cursos de Platzi durante un año":
                            suscripcion === 'Expert+' ? "Tú y alguien más pueden tomar TODOS los cursos de Platzi durante un año" : "Solo puedes tomar los cursos gratis"
    console.log(respuesta)
}

tipoSuscripcion('Basic')

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 tiposSuscripciones = ['Free','Basic','Expert','Expert+']
const descSuscripciones = ['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','No existe dicha suscripcion']

const tipoSuscripcion = (suscripcion) =>{
    posicion = tiposSuscripciones.indexOf(suscripcion)==-1 ? 4 : tiposSuscripciones.indexOf(suscripcion)
    var respuesta =  descSuscripciones[posicion]
    console.log(respuesta)
}
tipoSuscripcion('Basic')

CICLOS

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

¿Qué es un ciclo?
Es un bloque de codigo que se repite n cantidad de veces hasta que se cumpla una condicion

¿Qué tipos de ciclos existen en JavaScript?
while, do while, for

¿Qué es un ciclo infinito y por qué es un problema?
Cuando un ciclo no cumple su condicion, consume mucho la memoria del computador o buscador y puede generar colapsos en el sistema o volverlo lento

¿Puedo mezclar ciclos y condicionales?
Si, incluso los ciclos utilizan condicionales para funcionar de forma adecuada

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

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

var solucion = 0
do{
    solucion = Number(prompt('Cuanto es 2+2?'))
}while(solucion!==4)

LISTAS

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

¿Qué es un array?
Es una cadena de datos agrupados en una variable

¿Qué es un objeto?
Es un grupo de propiedades

¿Cuándo es mejor usar objetos o arrays?
Depende de lo que se requiera

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

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

const tiposSuscripciones = ['Free','Basic','Expert','Expert+']

const primerElemento = (array) => console.log(`El primer elemento del array es ${array[0]}`)

primerElemento(tiposSuscripciones)

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 tiposSuscripciones = ['Free','Basic','Expert','Expert+']

const elementos = (array) => array.forEach((elemento,index) => console.log(`El elemento ${index} del array es ${elemento}`))

primerElemento(tiposSuscripciones)

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

var estudiante = {
    nombre:'Juan',
    apellido:'Ruano',
    edad:23,
    trabajando:false
}

const datosEstudiante = (objeto) => {
    for(var prop in objeto){
        console.log(`La propiedad ${prop} tiene como valor ${objeto[prop]}`)
    }
}

datosEstudiante(estudiante)

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

Es un espacion en memoria, asociado a una dirección única en la memora, y la cual sirve para poder guardar un valor.
.
.
¿Cuál es la diferencia entre declarar e inicializar una variable?

Cuando se declara una variable, simplemente es avisar al computador de su existencia.
.
Inicializar una variable, implica asignarle un valor específico
.
.
¿Cuál es la diferencia entre sumar números y concatenar strings?
Los tipos de variable son distintos. Sumar, implica sumar 2 elementos de un conjunto y obtener otro elemento que sigue perteneciendo a ese mismo conjunto (en el caso de los reales).
.
Concatenar 2 Strings, significa fusionar ambas cadenas, en una nueva, compuesta por las mismas.
.
.
¿Cuál operador me permite sumar o concatenar?
+
.
.
Determina el nombre y tipo de dato para almacenar en variables la siguiente información:

  • Nombre ( let name:String)
  • Apellido (let lastName: String)
  • Nombre de usuario en Platzi (let userNameAtPlatzi: String)
  • Edad (let userAge: Int)
  • Correo electrónico (let userEmail: String)
  • Mayor de edad ( let userIsOlder: Boolean)
  • Dinero ahorrado (let userMoneySaved: Number)
  • Deudas (let userDebt: Number)
    .
    .
    Traduce a código JavaScript las variables del ejemplo anterior y deja tu código en los comentarios.
    .
    .
let nameString = 'Eduardo'
let lastName   = 'Apén'
let userNameAtPlatzi =  'eduardoapenb'
let userAge = 23
let userEmail = '[email protected]'
let userIsOlder = true
let userMoneySaved = 100
let userDebt = 10

.
.

let completeName =  userName + " " + userLastName
console.log(completeName)

let capital = userMoneySaved - userDebt
console.log(capital)

.

.

.

Funciones
Responde las siguientes preguntas en la sección de comentarios:
.
.
¿Qué es una función?
Es una pieza de codigo que puede funcionar independientemente del resto del código, que puede ser invocada en ciertas circunstancias, y que puede o no, retornar un valor.
.
.
¿Cuándo me sirve usar una función en mi código?
Para evitar repetir código, para segmentar e independizarlo. Esto hace que el código sea más ordenado y facilita la búsqueda de errores.
.
.
.

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

No estoy del todo seguro, por favor, por favor digan si me equivoco.

Parametro: El tipo de variable que se le puede enviar a una función.
.
.
Argumento: El valor de la variable que se envia a un 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 + ".");

.
Mi solución (espero que sea correcta, XD):
.

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

greetingUser("Juan David", "Castro Gallego", "juandc" )
greetingUser("Josué Eduardo", "Apén Bal", "Tito" )

.

.

.

Condicionales
¿Qué es una condicional?
Es un grupo de instrucciones que se ejecutan en dependiendo del valor booleano (falso o verdadero) de una determinada expresión. Dicha expresión suele ser una comparación o una afirmación.

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

  • If

  • Switch

¿Puedo combinar funciones y condicionales?
Why not?
.
.
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 "Free":
       console.log("Tú y alguien más pueden tomar TODOS los cursos de Platzi durante un año");
       break;
}

.
Mi solución:
.

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

Sin IF ELSE:

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

.

.

.

Ciclos
.
¿Qué es un ciclo?
Es un código que permite repetir determinadas estructuras un número “n” de veces, o en función de una condición.
.
.

¿Qué tipos de ciclos existen en JavaScript?
For
Foreach
While
Do… While
.
.
¿Qué es un ciclo infinito y por qué es un problema?
Es un ciclo de codigo que puede saturar la memoria e incluso tambien puede sobrecalentar el procesador y dañar el procesador irremediablemente.
.
.

¿Puedo mezclar ciclos y condicionales?
Why not? x2
.
.
Replica el comportamiento de los siguientes ciclos for utilizando ciclos while:

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

.
.
Mi solución:

var i = 0

while (i < 5){
    console.log(`EL valor de i es-: ${i}`)
    i++
}


var 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.
.
.
Mi solución:

var endOfProgram = false

while(!endOfProgram){

var respuesta = Number(prompt("¿Cuánto es 2 + 2? "))
    if (respuesta == 4){
    console.log("¡Correcto!")
    endOfProgram = true
    }
    else{
        console.log('Volvemos a empezar...')
    }
}

.

.

.

Listas
.

¿Qué es un array?
Es un conjunto de datos, homogéneos o no homogéneos que se almacenan en memoria.
.
.

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

¿Cuándo es mejor usar objetos o arrays?
Cuando se necesite replicar un conjunto de datos con distintas propiedades, y funcionalidades facilemente identificables es mejor usar objetos.

Los array sirven para almacenar una cantidad finita de datos y no se pueden crear funcionalidades propias.

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

const array1 = ['a', 'b', 'c'];
function imprimirPrimerElemento(array){
        console.log(array[0])
}
imprimirPrimerElemento(array1)

.

.
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 array1 = ['a', 'b', 'c'];
function imprimirArray(array){
    array.forEach(element => console.log(element))
}
imprimirArray(array1)

.
.
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 usuario = {
    nombre: 'Eduardo',
    apellido: 'Apén',
    edad: 23, 

}

function imprimirObjeto(objeto){
    Object.values(objeto).forEach(elemento => console.log(elemento))
}

imprimirObjeto(usuario)

Fue dificil y pero se pudo.
Quedo atento al Feedback, gracias. 😄

Tomó un poco de tiempo pero aquí está. Mi test de Javascript 😄

Variables y operaciones

I.

  • Una variable es una espacio en memoria y sirve para guardar información en un lugar para luego poder usarlo a lo largo de tu aplicación.

  • Al declarar una variable lo traes a la vida, al inicializar una variable le das información dada explicitamente por ti.

  • La diferencia es que se van los números como números (¡arítmetica hijo!), y los strings se van unir para formar un nuevo string.

  1. El operador +.

II. y III.

  • var nombre = “Mauricio” (String);
  • var apellido = “Carrasco” (String);
  • var usuarioPlatzi= “maurice_cl42” (String);
  • var edad = 19 (Numero);
  • var email = “[email protected]” (String);
  • var mayorDeEdad = true (Booleano);
  • var dineroAhorrado = 350 (Numero);
  • var deuda = 0 (Numero);

IV.

  • console.log(nombre + " " + apellido);
  • console.log(dineroAhorrado);

Funciones

I.

  • Es código encapsulado en un bloque de código.

  • Una función me sirve para no repetir código.

  • La diferencia entre los parámetros y y los argumentos es que los parámetros es la creación de una lista de variables al definir una función.En cambio, los argumentos de una función es la información puesta por el usuario o el mismo programador en la lista de variables. Los argumentos serán variables según las necesidades del programa y usuario. Los parámetros siempre serán los mismos. Los parámetros son como el tronco de un árbol y los argumentos son los frutos que puedes crear a partir del tronco de este árbol.

II.

function datosDeIdentidad(nombre, apellido, nombreCompleto, apodo) {
 let name = nombre;
 let lastname = apellido;
 let completeName = name + lastname;
 let nickname = apodo;

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

Condicionales

I.

  • Es un proceso lógico en el cuál se toma decision(es) en base a esta lógica. Se podría decir que es una elección de lógica.

  • if, if else, else: Es una elección de un camino. Se cumple algo para que se elija este camino.
    switch: Se usa para elegir un camino de lógica entre muchas igualdades.

  • Se diferencian en que if, if else, else se acostumbran a usar para todo tipo de compararaciones y switch solo para igualdades (cabe decir que no fue creado solo para que ese use de esta forma).

  • Claro que se pueden combinar las funciones y condicionales.

II.

const tipoDeSuscripcion = "basic";

if (tipoDeSuscripcion === "basic") {
  console.log("Puedes tomar casi 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 más pueden tomar TODOS los cursos de Platzi durante un año"
  );
} else if (tipoDeSuscripcion === "free") {
  console.log("Solo puedes tomar los cursos gratis");
} else {
  console.log("¿Qué esperas para usar Platzi? Será una buena decisión seguro.");
}

III.

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

// Use un condicional y un ciclo 😋

const tipoDeSuscripcion = "basic";
const planes = ["free", "basic", "expert", "expertplus"];
const mensajes = [
  "Solo puedes tomar los cursos gratis",
  "Puedes tomar casi todos los cursos de Platzi durante un mes",
  "Puedes tomar 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 (i in planes) {
  if (tipoDeSuscripcion === planes[i]) {
    console.log(mensajes[i]);
  }
}

Ciclos

I.

  • Es una repetición de lógica hasta que deje de cumplirse esta lógica.

  • En Javascript existen:
    for: Es un ciclo definido explicitamente por el programador (y sus variaciones: el for of, for each y for in). Tiene inicio y un final establecido.
    while: Es un ciclo infinito el cuál seguirá mientras se cumpla la lógica puesta en el while. Una de las formas para romper el loop infinito es un if + la palabra reservada break.

  • Un loop infinito es un loop que correrá por siempre, ya que lógica siempre se cumplirá, y es problema porque la capacidad de procesamiento y almacenamiento de tu computadora no es infinita.

  • Puedes mezclar ciclos y condicionales todo lo que quieras.

II.

// Ejercicio 1
let i = 0;

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

// Ejercicio 2
let i = 10;

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

III.

function questionTwoPlusTwo() {
  let question = "Querido humano ¿Cuánto es 2 + 2?";
  while (true) {
    let answer = parseInt(prompt(question));
    if (answer === 4) {
      alert("Querido humano ¡Felicitaciones, ha acertado!");
      break;
    } else {
      alert("Querido humano, tendrá que intentarlo de nuevo");
    }
  }
}
questionTwoPlusTwo();

Listas

I.

  • Es una cápsula que encapsula distintos espacios en memoria.

  • ¿Qué es un objeto?
    Un objeto en programación es similar a un objeto en la vida real, Una cosa con características y posibles acciones que puede realizar. En programación las características son los estados del objeto y las acciones que puede realizar son el comportamiento.

  • Los arrays es mejor usarlos cuando queremos tener datos que tienen una categoría en común (o que le damos una categoria en común) y que pueden o no tener un orden. Los objetos es mejor usarlos cuando queremos crear algo que tenga vida misma por así decirlo. Ya no se trata de solo categorizar, también podemos darle características y acciones que definan a este objeto.

  • Claro que si, puedes mezclarlos tanto como quieras.

II.

function printFirstElementOfArray(array) {
  console.log("El primer elemento del array es " + array[0]);
}

III.

function printEachElementOfArray(array) {
  for (i in array) {
    console.log(`El elemento con índice ${i} del array es ` + array[i]);
  }
}

IV.

function printEachElementOfObject(object) {
  for (i in object) {
    console.log(`Un elemento del objeto es ${i} con valor  ${object[i]}`);
  }
}

Punto 3 Reto: si encuentra la clave imprime el valor de la clave, si no, imprime no tienes ningún tipo de suscripción.

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

const suscription = "Basic";

if (tipoDeSuscripcion[0][suscription] ){
    console.log(tipoDeSuscripcion[0][suscription]);
}else{
    console.log("No tienes ningun tipo de suscripción")
}

Variables y operaciones

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

    Es como una cajita donde puedes guardar datos
    para despues hacer algo con ellos.

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

    Declarar es cuando la nombras, mas no le asignas un valor.
    En Javascript seria asi:

    let variable;
    

    Mientras que inicializar es cuando ya le das un valor.

    const MY_NUMBER = 5;
    
  • ¿Cuál es la diferencia entre sumar números y concatenar strings?

    Cuando sumas números obtienes un valor de tipo number, mientras
    que cuando concatenas strings obtienes un valor del mismo tipo (strings).

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

    El signo +.

Mi código:

const NAME = 'Eliaz';
const LASTNAME = 'Bobadilla';
const USERNAME = 'UltiRequiem';
const AGE = 14;
const EMAIL = '[email protected]';
const ADULT = false;
const SAVED_MONEY = 2;
const DEBS = 0;

console.log(`Hi! My name is ${NAME} ${LASTNAME}`);
console.log(`My total saved money is ${SAVED_MONEY - DEBS} soles.`);

Funciones

  • ¿Qué es una función?

    Es un trozo de código que sigue una serie de pasos. Puede recibir
    parametros y esta hecho para poder ser reutilizado.

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

    Combiene utilizar funciones si es que te das cuenta de que ciertas
    lineas de código se repiten en muchas partes.

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

    Los parametros son una propiedad intrínseca de un procedimiento,
    dado que está incluido en su definición. En tanto, los argumentos
    son más bien los valores actuales asignados a los parámetros variables
    cuando la función es llamada.

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

introduceMySelf('Eliaz', 'Bobadilla', 'Zero');

Condicionales

  • ¿Qué es una condicional?

    Es una condición que debe ser cumplida para ejecutar un trozo de
    código.

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

    Existe la familia de If(if,else if y else), los switchs y ternarios.
    El if se usa cuando son pocas cosas las que quieres comprobar mientras
    que el switch cuando ya son mas casos. Los Ternarios (mis favoritos) son
    como el if pero con una sintaxis mas reducida.

  • ¿Puedo combinar funciones y condicionales?

    Claro!

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.'
  );
}
const printStatus = (suscripcionType) => {
  if (suscripcionType !== 'Free') {
    console.log('Puedes tomar muchos cursos.');
    return;
  }
  console.log('Estás limitado en los cursos.');
};

const suscripcion = 'Expert+';
printStatus(suscripcion);

Ciclos

  • ¿Qué es un ciclo?

    Es un trozo de código que se repite.

  • ¿Qué tipos de ciclos existen en JavaScript?

    Existen: for,for of,for in, while,do while, etc.

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

    Es un ciclo que nunca se detiene, y es problematico porque
    no lo podemos controlar.

  • ¿Puedo mezclar ciclos y condicionales?

    Si se puede, y es bastante normal hacerlo.

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--;
}
let input = 0;

do {
  input = prompt('¿Cual es el resultado de 2 + 2?');
} while (!(input === 4));

Listas

  • ¿Qué es un array?

    Es como una caja grande donde puedes meter otras cajas.

  • ¿Qué es un objeto?

    Es como una caja con propiedades.

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

    Depende de el problema y el estilo de código que
    estes siguiendo. Aunque tambien puede depender de
    lo que te de la libreria que estes usando. Mientras
    mas uniforme tu código mejor.

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

    Si, es normal.

const persona = {
  nombre: 'Roberto',
  apellido: 'Garcia',
  edad: 14,
};

const frutas = ['Pera', 'Manzana', 'Sandia'];

const oneFunc = (array) => {
  array.forEach((elem) => {
    console.log(elem);
  });
};

const anotherFunc = (objeto) => {
  Object.values(objeto).forEach((elem) => {
    console.log(elem);
  });
};

const oneFunc = (array) => {
  console.log(array[0]);
};

Espero que se haya entendido lo que trate de explicar, y si me equivoque en algo seria genial que me corrijan
en los comentarios para seguir aprendiendo 😃
Les dejo el enlace a mi repositorio de GitHub de este curso donde tengo mas notas y todo mi código: UltiRequiem/practical-js-platzi.

Hola estas son mis respuestas:

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

Es un espacio en memoria que se reserva para almacenar información.

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

Declarar es crear o darle vida a una variable, reservar un espacio en memoria para ella.

Inicializar es asignar el contenido que almacenará la variable, puede ser un número, una letra, un booleano, etc.

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

Sumar número es la operación aritmética tradicional donde a una cantidad se le adiciona otra.

Concatenar strings es unir a través del operador más dos o más caracteres.

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

El operador + (más).

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

    Nombre => firstName - String
    Apellido => secondName - String
    Nombre de usuario en Platzi => nickName - String
    Edad => age -Number
    Correo electrónico => email - String
    Mayor de edad => higherAge - Number
    Dinero ahorrado => savedMoney - Number
    Deudas => debts - Number

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

let firstName, lastName, nickName, email;
let age, higherAge, savedMoney, debts;

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

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

let firstName = "Vanesa";

let lastName = "Percy";

let savedMoney = 5000;

let debts = 2500;

let realMoney = savedMoney - debts;

console.log(`${firstName} ${lastName} has saved money ${savedMoney} minus debts ${debts} is equal to ${realMoney}`);


FUNCIONES

  • ¿Qué es una función?

Son tareas que se van a llevar a cabo con los datos.

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

Cuando necesito reutilizar esa tarea en otras partes del código, es una tarea repetitiva.

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

Cuando se declara o crea una función se habla de que se le definen uno o varios parámetros, se dice que va a recibir parámetros.

Cuando se llama a la función previamente creada, se dice que le vamos a pasar los argumentos que la función necesita para funcionar.

  • 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 userData = (firstName, lastName, nickName) => {

let completeName = firstName + lastName;


return  `My name is  ${completeName}, but I prefer  that you call me ${nickName}`;
};

console.log(userData("Vanesa", "Percy", "percydev"));

CONDICIONALES

  • ¿Qué es una condicional?
    

Es una estructura de control que permite dividir en una o varias opciones el camino que debe seguir el código dependiendo de si se cumple o no cierta condición.

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

Condicionales

if: Donde si la condición es verdadera esta es usada para la ejecución para bloque de código.

else: Donde si la misma condición es falsa, esto especifica la ejecución para un bloque de código.

else if: Esto especifica una nueva prueba si la primera condición es falsa.

Operador ternario: Prueba una condición y devuelve un valor/expresión, si es true, y otro si es false

( condición ) ? ejecuta este código : ejecuta este código en su lugar

let greeting = ( isBirthday ) ? ‘Happy birthday Mrs. Smith — we hope you have a great day!’ : ‘Good morning Mrs. Smith.’;

  • ¿Puedo combinar funciones y condicionales?
    

Claro se pueden combinar ambas cosas dentro del código.

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

let 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 “Expert+”:
console.log(
“Tú y alguien más pueden tomar TODOS los cursos de Platzi durante un año”
);
break;
}

let suscriptionType = "Basic";
 
if (suscriptionType === "Free") {
 console.log("Alone can you take free courses");
} else if (suscriptionType === "Basic") {
 console.log("You can take almost all Platzi courses  during a month");
} else if (suscriptionType === "Expert") {
 console.log("You can take almost all Platzi courses  during a year");
} else {
 console.log("You and someone can take all Platzi courses during a year");
}

  • Replica el comportamiento de tu condicional anterior con if, else y else if, pero ahora solo con if (sin else ni else if).
let suscriptionType = "Basic";
if (suscriptionType === "Free") {
 console.log("Alone can you take free courses");
}
if (suscriptionType === "Basic") {
 console.log("You can take almost all Platzi courses during a month");
}
if (suscriptionType === "Expert") {
 console.log("You can take almost all Platzi courses during a year");
}
if (suscriptionType === "Expert+") {
 console.log("You and someone can take all Platzi courses during a year");
}

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

Lo intenté solucionar pero no pude encontrar la solución, seguiré intentando.

//Function with for loop
function search(arr, obj) {
 let result;
 for (let i = 0; i < arr.length; i++) {
   if (arr[i] === obj)
   return obj;
 }
}
 
console.log(
 search(
   ["Banana", "Pineapple", "Apple", "Orange", "Grape", "Coconut"],
   "Orange"
 )
);

CICLOS

  • ¿Qué es un ciclo?
    

Es una estructura que permite controlar el número de veces que se va realizar o ejecutar una porción del código. Debe tener una condición o elemento que permite detener la ejecución del mismo.

  •  ¿Qué tipos de ciclos existen en JavaScript?
    

Ciclo while, do while, for, for of, for in.

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

Es un ciclo que no tiene fin, que se van a repetir indefinidamente, porque no tiene una condición o elemento que lo haga detenerse.

  • ¿Puedo mezclar ciclos y condicionales?

Ambas instrucciones se pueden mezclar sin problemas.

  • Replica el comportamiento de los siguientes ciclos for utilizando ciclos while:

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

let i = 0;
while (i < 5) {
 console.log(`The value of i is:${i}`);
 i++;
}

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

let i = 10;
while (i >= 2) {
 console.log(`The value of i is: ${i}`);
 i--;
}

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

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

let answer;
do {
 answer = Number(prompt("How many is 2 + 2?"));
} while (answer !== 4);
if (answer === 4) {
 console.log("Congrats, your answer is correct!!");
}

function gameAnswer() {
 let answer;
 do {
   answer = Number(prompt("How many is 2 + 2?"));
 } while (answer !== 4);
 if (answer === 4) {
   console.log("Congrats, your answer is correct!!");
 }
}
 
gameAnswer();

LISTAS

  • ¿Qué es un array?

Es una colección de elementos o valores del mismo tipo.

Definición Mozilla: una manera ordenada de almacenar una lista de elementos de datos bajo un solo nombre de variable.

  • ¿Qué es un objeto?
    

Definición Mozilla: Un objeto es una colección de propiedades, y una propiedad es una asociación entre un nombre (o clave) y un valor.

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

Los objetos son recomendados cuando queremos agrupar valores, incluyendo otros objetos, permitiéndonos construir estructuras más complejas. Además son colecciones arbitrarias de propiedades, y podemos añadir o remover estas propiedades a placer, son mutables.

Los arrays son recomendados cuando queremos trabajar con tipos de datos simples como Strings, números, booleanos; y almacenar sus secuencias de valores.

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

Sí, es totalmente posible mezclar ambas estructuras en nuestro código.

  • Crea una función que pueda recibir cualquier array como parámetro e imprima su primer elemento.
function printElement(array) {
 for (let i = 0; i < array.length; i++) {
   console.log(array[0]);
 }
}
 
printElement([29, 11, 7, 15]);
let fruits = ["Apple", "Coconut", "Orange", "Pineapple", "Grape"];
 
fruits.forEach(function(element,index,array) {
 if(index === 0) console.log(element);
})

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

fruits.forEach(function(element,index,array) {
 console.log(element, index);
})

  • 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 myObject = {
 firstName: "Larry",
 lastName: "King",
 age: 59,
 address: "CA 56 8",
 country: "United States",
};
 
const printObject = (object) => {
 for (const key in myObject) {
   console.log(`${key}: ${object[key]}`);
 }
};
 
printObject(myObject);

Para el Bonus puedes hacerlo con objetos literales para que sea más práctico.

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

console.log(tiposDeSuscripciones[tipoDeSuscripcion])

Aquí te comparto un artículo donde menciono varios tips de javascript y entre ellos comento sobre los objetos literales.

https://dev.to/corteshvictor/tips-o-trucos-javascript-16o8
https://medium.com/condorlabs-engineering/tips-en-javascript-b56677f6fe36

Variables y operaciones

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

<h5>- ¿Qué es una variable y para qué sirve?</h5>

Una variable es un espacio de memoria reservado para guardar datos o estructura de datos , esto datos por lo general están asociados a un tipo de dato, este tipo de datos pueden ser: numéricos, booleanos, cadenas de texto. En el caso de la estructura de datos están: array, matriz, objetos, entre otros. Estos tipos de datos en javascript no se deben indicar para crear una variable, ya que javascript es un lenguaje débilmente tipado.
Las variables sirven para guardar datos y también para realizar operaciones sobre esos datos y así convertirlo en información útil para el usuario.

<h5>- ¿Cuál es la diferencia entre declarar e inicializar una variable?</h5>

La diferencia es que cuando se declara una variable solo se reserva un espacio en memoria ram y al no indicar su valor inicial javascript asigna undefined. Cuando inicializamos una variable le indicamos el valor inicial que tendrá esa variable. Las variables se pueden declarar con let, const, var.

Ejemplo

// Declaración sin inicializar

// variable
let  nombre;
// array
let elementos = [];
// objeto
let persona = {};


// Declaración e inicialización:

//variable
let  nombre = 'Angel';
// array
let elementos = ['Computadora', 'Celular'];
// objeto
let persona = {
	nombre: 'Sikney',
	edad: 9,
};
	
<h5>- ¿Cuál es la diferencia entre sumar números y concatenar strings?</h5>

A pesar de que se usa el mismo operador la diferencia es:
concatenar consiste en tomar n cantidad de string separados y juntarlos como uno solo
mientras que sumar consiste en el proceso de adicionarle a una cantidad otra cantidad más.

//Concatenación de string
let string_a = 'hola';
let string_b = 'mundo🎉';
let result_concat = string_a  + ' ' + string_b;

// resultado: hola mundo🎉
console.log(`${result_concat}`); 


//Concatenación de string
let value_a = 5;
let value_b = 10;
let result_sum = value_a + value_b;
console.log(`El resultado de la suma es : ${result_sum}`);

<h5>- ¿Cuál operador me permite sumar o concatenar?</h5>

El operador de suma: +

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

  • Nombre
  • Apellido
  • Nombre de usuario en Platzi
  • Edad
  • Correo electrónico
  • Mayor de edad
  • Dinero ahorrado
  • Deudas
nombre de variable tipo de dato
let fristName = 'Feber' cadena (string)
let lastName = 'Parra' cadena (string)
let user = '@feber' cadena (string)
let age = 25 numérico entero (number)
let mail = '[email protected]' cadena (string)
let adult = true booleano (boolean)
let saved_money= 200.3 numérico punto flotante (number)
let deudas = 180.3 numérico punto flotante (number)

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

let firstName = 'Feber'; //  cadena (string)
let lastName = 'Parra'; //  cadena (string)
let user = '@feber'; //  cadena (string)
let age = 25; //  numérico entero (number)
let mail = '[email protected]'; //  cadena (string)
let adult = true; //  booleano (boolean)
let saved_money = 200.3; //  numérico punto flotante (number)
let debt = 180.3; //  numérico punto flotante (number)

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

<h5>- Nombre completo (nombre y apellido)</h5>
let fristName = 'Feber';
let lastName = 'Parra';
let fullName = fristName  + ' ' + lastName;
console.log(`Nombre Completo es: ${fullName}`);
<h5>- Dinero real (dinero ahorrado menos deudas)</h5>
let saved_money= 200.3;
let debt = 180.3;
let balance = saved_money - debt;
console.log(`El saldo total  es: ${balance}`);

Funciones

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

  • ¿Qué es una función?
    Las funciones son como un conjunto de sentencias para realizar ciertas tareas o acciones y en ellas se puede hacer el uso de las variables
<h5>- Tipos de Funciones</h5> <h6>Funciones Declarativas</h6>

Las funciones declarativas son aquellas que expresamente se declara con la palabra reservada funtion seguida el del nombre y sus parámetros.

Sintaxis funciones declarativas

	function [name]([param1, param2, ..., paramN]) {
	   statements
	}

Ejemplo de una función declarativa


	// Declaración de una Funcion Declarativa
	function saludar() {
	    console.log('Saludando desde una función declarativa');
	}
	//llamada de la función declarativa
	saludar(); 

<h6>Funciones de Expresión</h6>

Una función de expresión también es un tipo de función anónima, y estás se llaman así porque las funciones al ser declaradas no tienen ningún valor, este tipo de funciones por lo general cuando se declaran así son para ser ejecutadas de inmediato claro depende de la situación.

Sintaxis funciones declarativas

la variable puede ser declara con let o var

	var [variable] = function [name]([param1, param2, ..., paramN]) {
	   statements
	}

Ejemplo 1 - Función Expresión

    var a = 2;
    var b = 3;
    
	// Declaración de una Funcion de expresión
	var resultado_suma = function (para_a, para_b){
		var resultado = 0;
		resultado = para_a + para_b;
		return resultado;
	};
	//llamada de una función de expresión
	resultado_suma(a,b);

Ejemplo 1 - Función Expresión


    var math = {
  'factorial': function factorial(n) {
    if (n <= 1)
      return 1;
    return n * factorial(n - 1);
  }
};
<h5>- ¿Cuándo me sirve usar una función en mi código?</h5>

Las funciones son útiles cuando tenemos procesos que son muy recurrentes, es decir: cuando tenemos tareas que se repiten una otra vez lo ideal es crear un algoritmo de dicha tarea y trasladarlo a una función.

<h5>- ¿Cuál es la diferencia entre parámetros y argumentos de una función?</h5> <h6>Parámetros</h6>

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”

Ejemplo

function sum(a, b) {
	return a + b;
}
<h6>Argumentos</h6>

Los argumentos son los valores que se pasan a la función cuando esta 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:

Ejemplo

const result = sum(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:

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

console.log(
	"Mi nombre es " + completeName + ", 
	pero prefiero que me digas " + nickname + "."
);
function printPersonalData(
	p_firstName = 'Juan David',
	p_lastName = 'Castro Gallego',
	p_nickname = 'juandc'
) {
	let completeName = p_firstName + ' ' + p_lastName;
	console.log(
		'Mi nombre es ' +
			completeName +
			',pero prefiero que me digas ' +
			p_nickname +
			'.'
	);
}

printPersonalData();

Condicionales

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

<h5>- ¿Qué es una condicional?</h5>

Un condicional es: una estructura de programación que permite validar el cumplimiento de ciertas condiciones y el objetivo de estas estructuras es controlar el flujo lógico del programa con la finalidad de saber que acciones ejecutar según ciertas condiciones.

<h5>- ¿Qué tipos de condicionales existen en JavaScript y cuáles son sus diferencias?</h5>

Existe Condicionales: If, Else, else if , operador ternario, y switch

<h6>If: If, Else, else if</h6>

Ejecuta una sentencia que evalúa una condición específica, Sí evaluada como verdadera. Si la condición es evaluada como falsa, otra sentencia puede ser ejecutada.

  • condición
    Una expresión que puede ser evaluada como verdadera o falsa.

  • sentencia 1
    Sentencia que se ejecutará si condición es evaluada como verdadera. Puede ser cualquier sentencia, incluyendo otras sentencias if anidadas. Para ejecutar múltiples sentencias, use una sentencia block ({ … }) para agruparlas.

  • sentencia 2
    Sentencia que se ejecutará si condición se evalúa como falsa, y exista una cláusula else. Puede ser cualquier sentencia, incluyendo sentencias block y otras sentencias if anidadas.

sintaxis del if


    if (condición1) {
		sentencia1;
	} else if (condición2) {
	    sentencia2;
	} else if (condición3) {
	    sentencia3;
	} else {
	    sentencia4;
	}
	

La sentencia if se puede combinar con los operadores lógicos: &&(and) || (or)


if (condición1 && condición2) {
    sentencia1;
    sentencia2;
} else if (condición3 && condición4) {
    sentencia3;
    sentencia4;
}

<h6>Operador condicional (ternario)</h6>

El operador condicional es el único operador de JavaScript que toma tres operandos. El operador puede tener uno de los dos valores basados en una condición. La sintaxis es:

	var age = 20;
	var status = age >= 18 ? 'adult' : 'minor'  ;

Si la condición (age >= 18) evaluada arroja true, el operador asigna la primera parte de la expresión (‘adult’) . De lo contrario, se asigna la segunda expresión (‘minor’) . Puede utilizar el operador condicional en cualquier lugar donde utilice un operador estándar.

Referencia:

<h6>Switch</h6>

La declaración switch evalúa una expresión, comparando el valor de esa expresión con una instancia case, y ejecuta las declaraciones asociadas a ese case, así como las declaraciones en los casos que siguen.

  • expresión
    Es una expresión que es comparada con el valor de cada instancia case.
  • case valorN
    Una instancia, case valorN es usada para ser comparada con la expresión. Si la expresión coincide con el valorN, las declaraciones dentro de la instancia case se ejecutan hasta que se encuentre el final de la declaración switch o hasta encontrar una interrupción break.
  • default
    Una instancia default, cuando es declarada, es ejecutada si el valor de la expresión no coincide con cualquiera de las otras instancias case valorN.
	//          ==Sintaxis==
	var expression = 'valor2';
	switch (expression) {
	    case 'valor1':
			 //Logica para cuando, conincida con el valor
	        break;
	    case 'valor2':
	         //Logica para cuando, conincida con el valor
	        break;
	    case 'valorN':
	         //Logica para cuando, conincida con el valor
	        break;
	    default:
	        //Logica para cuando, conincida con el valor
	        break;
}
<h6>¿Qué pasa si olvido un break?</h6>

Si olvidas un break, el script se ejecutará desde donde se cumple la condición y ejecutará el siguiente case independientemente si esta condición se cumple o no. En ocasiones es útil omitir el break, un ejemplo dónde es útil no colocar el break: Cuando se necesita que un conjunto de valores estén representados por una sola condición


    //          ==Operación única con múltiples casos==
	var Animal = 'Jirafa';
	switch (Animal) {
	    case 'Vaca':
	    case 'Jirafa':
	    case 'Perro':
	    case 'Cerdo':
	        console.log('Este animal subirá al Arca de Noé.');
	        break;
	    case 'Dinosaurio':
	    default:
	        console.log('Este animal no lo hará.');
	}

Referencia:

<h5>- ¿Puedo combinar funciones y condicionales?</h5>

si se pueden combinar condicionales y funciones

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


const tipoDeSuscripcion = "basic";

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

Resultado


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

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 === '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:

<h5>- ¿Qué es un ciclo?</h5>

Un ciclo, loop o bucle son un conjunto sentencia estructuradas que permite la ejecución de código de forma repetitiva.

<h5>- ¿Qué tipos de ciclos existen en JavaScript?</h5>

Existe los siguiente ciclos For, For…of, while, do …while

<h5>For</h5>

Un for es una estructura compuesta de tres sentencias que son: una variable con valor inicial, seguida de una condición de parada y por último el decremento o incremento del valor inicial.

	// 			== for ==
let estudiantes = ['María', 'Ángel', 'Jesús', 'José', 'Antonio'];

function saludar_a_Estudiante(para_nombre) {
    console.log(`Hola, ${para_nombre}`);
}

for (let i = 0; i < estudiantes.length; i++) {
    saludar_a_Estudiante(estudiantes[i]);
}
	
<h5>For of</h5>

La sentencia for…of ejecuta un bloque de código para cada elemento de un objeto iterable, como lo son: String, Array, objetos similares a array


//          == for..of ==
let profesores = ['Ana', 'Angela', 'Nicol', 'Armando', 'Natilia'];

function saludar_a_Profesor(para_nombre) {
	console.log(`Hola, ${para_nombre}`);
}

for (let profesor of profesores) {
	saludar_a_Profesor(profesor);
}

<h5>While</h5>

un while es una sentencia que crea un bucle que se ejecuta mientras sea cierta condición y se evalúe como verdadera. Dicha condición es evaluada antes de ejecutar la sentencia


var estudiantes = ['María', 'Ángel', 'Jesús', 'José', 'Antonio'];

function saludarEstudiante(para_nombre) {
	console.log(`Hola, ${para_nombre}`);
}

while (estudiantes.length > 0) {
	var nombre = estudiantes.shift();
	saludarEstudiante(nombre);
}

<h5>do…while</h5>

Un do…while es una sentencia que crea un bucle que se ejecuta mientras sea cierta condición y se evalúe como verdadera. Dicha condición es evaluada después de la ejecución del código.

var estudiantes = ['María', 'Ángel', 'Jesús', 'José', 'Antonio'];

function saludarEstudiante(para_nombre) {
	console.log(`Hola, ${para_nombre}`);
}

do {
	var nombre = estudiantes.shift();
	saludarEstudiante(nombre);
} while (estudiantes.length > 0);

  • ¿Qué es un ciclo infinito y por qué es un problema?
    Un ciclo, loop o infinito es
  • ¿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);
}

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


let value_a = 2;
let value_b = 2;
let result = value_a + value_b;

let response = parseInt(
	prompt(` Cuanto es: ${value_a} + ${value_b} `)
);

while (response !== result) {
	if (response !== result) {
		console.log(`🥺Volvamos a empezar 🥺`);
		response = parseInt(
			prompt(` Cuanto es: ${value_a} + ${value_b} `)
		);
	}
	if (response === result) {
		console.log(`🎉🎉Respuesta correcta 🎉🎉`);
	}
}

Listas

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

<h5>- ¿Qué es un array?</h5>

Los array son objetos en forma de lista cuyo prototipo tiene métodos para realizar operaciones sobre los datos que están dentro de ellos. Algo importante sobre los array es que estos pueden tener valores variados, a diferencia de otros lenguajes los array deben ser del mismo tipo de datos

Referencia:

array

<h5>- ¿Qué es un objeto?</h5>

Los objetos representa uno de los tipos de datos de Javascript. Es usado para guardar una colección de datos definidos y entidades más complejas. Los objetos se definen y están delimitados mediante llaves '{ }'. Un atributo se compone de una clave (key) y un valor(value), que se separan entre sí por dos puntos 'key': 'value'. Los valores pueden ser de tipo string, número, booleano, etc. Cada atributo está separado del siguiente por una coma.

Declaración

var name_object = {
    //atributo: valor
    key: 'value',
    key_2: 'value 2',
};
<h5>- ¿Cómo acceder a un atributo de un objeto?</h5>

Un objeto puede tener todos los atributos que sean necesarios, para acceder a ellos se debe escribir el nombre de un objeto separado por un punto del nombre de un atributo, nos permite acceder al valor de dicho atributo para ese objeto.

Ejemplo:

nombre_del_eObjeto.Propiedad

<h5>- Desglosar objetos y pasarlos por parámetros</h5>

Un objeto también se puede pasar como atributo en una función. Las últimas versiones de JavaScript nos permiten desglosar el objeto para acceder únicamente al atributo que nos interesa. Esto se consigue encerrando el nombre del atributo entre llaves { }.

Ejemplo:

function showNameUpperCase({ name, lastName }) {
	console.log('El nombre en mayúsculas: ' + name.toUpperCase());
	console.log('El apellido en mayúsculas: ' + lastName.toUpperCase());
	console.log();
}
<h5>- Errores comunes al pasar objetos por parámetros</h5>
  • invocar el método vacío dará error, si este recibe un parámetro de un objeto de-estructurado

Ejemplo:

showNameUpperCase()
  • Dará error sí se pasa un atributo que no existe. También dará error si la función pide por parámetro dos atributos y sólo se le pasa uno

Ejemplo:

showNameUpperCase({ Apellido: 'Arnaldo' })

Ejemplos de declaración de objetos


//Declaración de objetos
var samuel = {
    name: 'Samuel',
    lastName: 'Parra',
    age: 4,
};
var antonio = {
    name: 'Antonio',
    lastName: 'Torres',
    age: 25,
};

// Distintas formas de pasar un objeto 
// por parámetro a una función.

//El objeto completo
function showDataObject(param_persona) {
    console.log('Nombre:   ' + param_persona.name);
    console.log('Apellido: ' + param_persona.lastName);
    console.log('Edad:     ' + param_persona.age);
    console.log();
}

//Pasando la Key especifica que necesitamos del objeto
function showNameUpperCase({ name, lastName }) {
    console.log('El nombre en mayúsculas: ' + name.toUpperCase());
    console.log('El apellido en mayúsculas: ' + lastName.toUpperCase());
    console.log();
}

console.log('Datos personales');
console.log('--------------------');
showDataObject(samuel);
showDataObject(antonio);
console.log('--------------------');

console.log('Transformar nombre en mayúsculas');
console.log('--------------------');
showNameUpperCase(antonio);
showNameUpperCase(samuel);

//Podemos definir un nuevo objeto en el parámetro

showNameUpperCase({ name: 'Feber', lastName: 'Parra' });
console.log('--------------------');

objetos

<h5>- ¿Cuándo es mejor usar objetos o arrays?</h5>

El uso de objetos es mejor cuando se intenta describir en programación algo con propiedades y esas propiedades tiene valores y es mejor usar un array cuando se intenta agrupar datos en una lista

<h5>- ¿Puedo mezclar arrays con objetos o incluso objetos con arrays?</h5>

si se puede mezclar arrays con objetos u objetos con arrays

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


let array = ['Hola Mundo (=^.^=)', 'viva js!!!'];
function showData(param_array) {
	console.log(para_array[1]);
}

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


let array = ['Hola Mundo (=^.^=)', 'viva js!!!'];
function showData(param_array) {
	for (value of param_array) {
		console.log(value);
	}
}

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


var antonio = {
    name: 'Samuel',
    lastName: 'Parra',
    age: 4,
};

// Distintas formas de pasar un objeto 
// por parámetro a una función.

//El objeto completo
function showDataObject(param_persona) {
    console.log('Nombre:   ' + param_persona.name);
    console.log('Apellido: ' + param_persona.lastName);
    console.log('Edad:     ' + param_persona.age);
    console.log();
}

Asi quedaria

 let name = "Nombre"
 let lastName = "Apellido"
 let nickname = "Platzito" 
 let age = 30
 let mail = "[email protected]"
 const ADULT = 18
 let saving = 500 
 let debt = 300 

Vaya que si me hace falta mucho por aprender
//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 elemento que se emplea para hacer referencia a otro valor y nos sirve para almacenar valores que queramos utilizar posteriormente.
¿Cuál es la diferencia entre declarar e inicializar una variable?
Al declarar solo se reserva el espacio en memoria de alguna variable a utilizar y al inicializar se le otorga el valor y tipo a la variable declarada.
¿Cuál es la diferencia entre sumar números y concatenar strings?
la diferencia es el tipo de dato con el cual se exprese el número ya que un operador como el signo + puede darnos diferentes resultados según el tipo de dato expresado.
¿Cuál operador me permite sumar o concatenar?
el signo de +

2.- Determina el nombre y tipo de dato para almacenar en variables la siguiente información:
Nombre: name / string
Apellido: LastName / string
Nombre de usuario en Platzi: nickName / string
Edad: age / number
Correo electrónico: mail / string
Mayor de edad: adult / boolean
Dinero ahorrado: saveMoney / number
Deudas: debt / number;

3.- Traduce a código JavaScript las variables del ejemplo anterior y deja tu código en los comentarios.
const name= “Ricardo”;
const lastName= “Martin”;
const nickName=“RickTron”;
const age=33;
const mail="[email protected]";
const adult=true;
const saveMoney=10558.55;
const debt= 0;

4.-Calcula e imprime las siguientes variables a partir de las variables del ejemplo anterior:
const completeName= name +" "+ lastName;
const realMoney= saveMoney - debt;

//Funciones
1.-Responde las siguientes preguntas en la sección de comentarios:
¿Qué es una función?
Un conjunto de sentencias que
podemos utilizar para generar ciertas acciones.
¿Cuándo me sirve usar una función en mi código?
Nos sirve para desarrollar procedimientos o tareas especificas que nos permitan ahorrar líneas de código al solo llamar la función y no declarar todo el procedimiento o tarea cada vez que se requiera.
¿Cuál es la diferencia entre parámetros y argumentos de una función?
el parámetro es la variable que se le proporciona a la función mientras que el argumento es el valor real que tendrá la variable que se utiliza 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:


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

//Condicionales
1.- Responde las siguientes preguntas en la sección de comentarios:

¿Qué es una condicional?
es una instrucción o grupo de instrucciones que se pueden ejecutar o no en función del valor de una condición.
¿Qué tipos de condicionales existen en JavaScript y cuáles son sus diferencias?
if, else, else if, switch.
if y else nos sirven para poner la condición referente a que si el evento sucede entonces se aplique la acción y con else le decimos que en caso de que el if no se genere entonces aplique la acción en el else mientras que else if nos sirve para anidar mas condiciones las cuales se activan se se genera la anterior.
en cuanto a switch también cuenta con una condición la cual tiene que comparar y en base a esa comparación la instrucción a ejecutar pasa a ser según el caso que cumpla esa condición
¿Puedo combinar funciones y condicionales?
si, se puede usar condicionales dentro de las funciones

2.-Replica el comportamiento del siguiente código que usa la sentencia switch utilizando if, else y else if: (En este ejercicio la ultima opción debe de ser Expert+)


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("Suscríbete YA!");
}

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


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

//Ciclos
1.- Responde las siguientes preguntas en la sección de comentarios:

¿Qué es un ciclo?
Una condición que se cumple una varias veces
¿Qué tipos de ciclos existen en JavaScript?
for, do while y while
¿Qué es un ciclo infinito y por qué es un problema?
es cuando un ciclo tiene infinitas iteraciones y es un problema ya que impide que nuestro código continúe ejecutándose y consumiría demasiados recursos.
¿Puedo mezclar ciclos y condicionales?
si

2.-Replica el comportamiento de los siguientes ciclos for utilizando ciclos while:

2.1.-

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

2.2.-

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

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


function adivinaLaSuma(){
const aNumber = Number(window.prompt("cuánto es 2 + 2", ""));
if(aNumber==4)
alert("(^0^)/ ¡Felicidades la respuesta es Correcta! (^0^)/");
else
alert("La respuesta es Incorrecta (T_T)");
}

//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 propósito es contener un conjunto de elementos los cuales se pueden obtener a partir de una búsqueda.
¿Qué es un objeto?
es un tipo de dato el cual es usado para guardar una colección de datos definidos y entidades más complejas
¿Cuándo es mejor usar objetos o arrays?
cuando se trata de hacer una estructura parecida a JSON es mejor realizar un objeto mientras que el arreglo es mejor para elementos que indiquen posiciones o características especificas como lo puede ser un arreglo de colores, nombres, etc.
¿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.

2.1.-

const imprimeArray= (array) => {  
    for (let i = 0; i < array.length; i++) { 
    console.log(array[0]);
    }
};
const result = window.prompt("Ingresa los argumentos de un array, recuerda ingresar argumento seguido por una coma y posteriormente el argumento siguiente");
let arreglo= result.split(',');

imprimeArray(arreglo);

2.2.-


const imprimeArray = (array) => {
  array.forEach((elem) => {
    console.log(elem);
  });
};
const result = window.prompt("Ingresa los argumentos de un array, recuerda ingresar argumento seguido por una coma y posteriormente el argumento siguiente");
let arreglo = result.split(',');

imprimeArray(arreglo);

2.4.-

let mascota= {
        nombre: 'Loky',
        raza: 'Husky',
        edad: 2
      }
      const imprimeObjeto = (objeto) => {
        Object.values(objeto).forEach((elem) => {
          console.log(elem);
        });
      };
      
      imprimeObjeto(mascota);

Hola a todos, aquí mis respuestas, si notan algo no duden en corregir o ampliar mis comentarios, gracias.
Variables y operaciones

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

  • ¿Qué es una variable y para qué sirve?
    Permite almacenar información en un espacio de memoria reservado.

  • ¿Cuál es la diferencia entre declarar e inicializar una variable?
    Al declarar simplemente se define el nombre y tipo de variable para utilizarse posteriormente, al inicializarla se le da un valor, se puede hacer ambas cosas a la vez.

  • ¿Cuál es la diferencia entre sumar números y concatenar strings?
    Al sumar números se realiza una operación matemática, al concatenar strings solo se forma un nuevo storing con los elementos originales.

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

const name
const lastName
let userName 
let age
let email
let isAdult
let savings
let debts

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

const fullName = name + "  " + lastName
let money = savings - debts
console.log(fullName)
console.log(money)

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

  • ¿Qué es una función?
    Es un objeto que contiene un conjunto de declaraciones/operaciones que puede recibir opcionalmente parámetros y regresar un resultado.

  • ¿Cuándo me sirve usar una función en mi código?
    Para reutilizar segmentos de código o hacer operaciones que se utilizen más de una vez, también para realizar operaciones que requieran datos de entrada y de salida.

  • ¿Cuál es la diferencia entre parámetros y argumentos de una función?
    Los parámetros son las variables que definimos dentro de la función, los argumentos son los valores de esos parámetros que enviamos al llamar a la función.

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

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

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

  • ¿Qué es una condicional?
    Es un segmento de código que se ejecuta si se cumple alguna condición definida.

  • ¿Qué tipos de condicionales existen en JavaScript y cuáles son sus diferencias?
    if -> Define un segmento de código a ejecutar basado en una condición
    if else -> Agrega una condición adicional a ejecutar si no se cumple la primera.
    else -> Define otro segmento de código a ejecutar si la condición no se cumple
    switch -> Permite definir varios escenarios de condición a ejecutar en un solo segmento de código (función similar a múltiples if else)

  • ¿Puedo combinar funciones y condicionales?
    Sí, una función puede vivir dentro de una condicional y viceversa.

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

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 segmento de código que se ejecuta hasta que se cumple o deja de cumplir una condición.

  • ¿Qué tipos de ciclos existen en JavaScript?
    while, do… while, for y la recursión

  • ¿Qué es un ciclo infinito y por qué es un problema?
    Es un segmento de código que se ejecuta sin límite de condición a cumplir, es un problema porque se ejecuta infinitamente consumiendo los recursos del navegador y sistema y generalmente genera un cierra de la aplicación o que esta no responda.

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

do{
    var resultado = prompt("Cuál es el valor de 2 + 2")
} while(resultado != 4){
    alert("Felicidades, es correcto")
}

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

  • ¿Qué es un array?
    Es un grupo de valores ordenados almacenados en una sola variable.

  • ¿Qué es un objeto?
    Los objetos representan una cosa o elemento de la vida real que tiene propiedades y que en algunos casos cumple con algunas funciones.

  • ¿Cuándo es mejor usar objetos o arrays?
    Un array es mejor usarlo cuando se tienen varios datos no necesariamente relacionados o dependientes entre sí que se quieran guardar en una sola variable, un objeto es más útil cuando los datos son relacionados a dependen de un mismo ente, por ejemplo para crear una persona o un producto.

  • ¿Puedo mezclar arrays con objetos o incluso objetos con arrays?
    Sí, una persona puede tener entre sus propiedades a un array, o un array puede estar formado por objetos.

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

function firstElementofArray(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 allElementsInArray(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).

function allElementsInObject(object){
    for(let key in object){
        console.log(object[key])
    }
}
var nombre = "Juan";
var apellido = "Sanabria";
var Edad = 19;
var email = "jpsjsr8gmail.com";
var mayorEdad = true;
var dineroA = 1000;
var deudas = 500;

console.log("Nombre completo: " + nombre + " " + apellido);
console.log("Dinero real : $" + (dineroA - deudas));

Solucion reto condicionales :

let tipoDeSucripcion = prompt("Tipo de suscripcion : ")

const contenido = ["free", "Solo puedes tomar los cursos gratis",
"basic", "Puedes tomar casi todos los cursos de Platzi durante un mes",
"expert", "Puedes tomar casi todos los cursos de Platzi durante un año",
"expert+", "Tú y alguien más pueden tomar TODOS los cursos de Platzi durante un año"];
let p = contenido.indexOf(tipoDeSucripcion)
if (p>=0) {
    console.log(contenido[p+1])
}else
{
    console.log("No se reconoce el tipo de suscripcion " + p)
} 

BONUS:

suscriptions = [
    {tipo:"Basic",mensaje:"Puedes tomar todos los cursos por un mes"},
    {tipo:"Expert",mensaje:"Puedes tomar todos los cursos por un año"},
    {tipo:"Expert+",mensaje:"Puedes tomar todos los cursos por un año e invitar a un compa"},
    {tipo:"Free",mensaje:"Puedes tomar todos solo los cursos gratis"}
]

var resultado = suscriptions.find(function(element){
    return element.tipo === tipoDeSuscripcion
})

console.log(resultado.mensaje)
  1. Responde las siguientes preguntas
  • Es un espacio en memoria que sirve para almacenar datos.
  • Al declarar le decimos al SO que debe reservar un espacio en memoria, mientras que al inicializar estamos almacenando un valor en una variable.
  • Sumar numeros es una operación matemática, mientras que concatenar strings no es más que unir dos o más cadenas de texto para forma una frase.
  • Se utiliza el operador de +
  1. Determina el nombre y tipo de dato para almacenar en variables la siguiente información:
  • firstName = string
  • lastName = string
  • platziUsername =string
  • age = number
  • email = string
  • isAdult = boolean
  • savedMoney = number
  • debts = number
let name = 'Montgomery'
let lastname = 'Burns'
let platziUsername = '@mrBurns'
let age = 104
let email = '[email protected]'
let isAdult = true
let savedMoney = 16800000000
let debts = 50000
let realMoney = savedMoney - debts

console.log('Nombre completo : ' + firstName + ' ' + lastName);
console.log('Dinero real : ' + realMoney);

Funciones

  1. Responde las siguientes preguntas en la sección de comentarios:
  • Instrucciones encapsuladas o agrupadas en un bloque de código que permiten por medio de una o varias entradas obtener una salida.
  • Cuando tenemos instrucciones que se repiten a menudo a lo largo de nuestro código.
  • Un parámetro es el valor que una función espera, mientras que un argumento es el valor que se le pasa a una función al llamarla.
  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 saludar(name, lastname, nickname) {
  const completeName = name + ' ' + lastname;
  console.log("Mi nombre es " + completeName + ", pero prefiero que me digas " + nickname + ".");
}

saludar('Montgomery', 'Burns', '@mrBurns')

Condicionales

  1. Responde las siguientes preguntas en la sección de comentarios:
  • Instrucciones que evaluan si se cumple cierta condición para así ejecutar alguna acción.
  • Tenemos if, if else, switch y operadores ternarios.
  • El if evalua si se cumple una condición. Si el resultado es verdadero ejecuta un código, de lo contrario ejecuta otro.
  • El switch recibe como parámetro el valor a evaluar, y realiza una comparación con los distintos casos que tiene definidos para llevar a cabo la acción que corresponde.
  • Los ternerios funcionan de forma similar al if solo que su sintaxis es diferente.
  • Si.
  1. Replica el comportamiento del siguiente código que usa la sentencia switch utilizando if, else y else if:
function planPlatzi(plan = "Basic") {
  tipoDeSuscripcion = plan.toUpperCase()
  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");
  }
}

planPlatzi('EXPERT')
  1. BONUS
let planes = [
  {name: 'FREE', desc: 'Solo puedes tomar los cursos gratis'},
  {name: 'BASIC', desc: 'Puedes tomar casi todos los cursos de Platzi durante un mes'},
  {name: 'EXPERT', desc: 'Puedes tomar casi todos los cursos de Platzi durante un año'}
]

const planPlatzi = (plan) => {
  var tipoDeSuscripcion = planes.find((element) => element.name === plan.toUpperCase())
  
  if (tipoDeSuscripcion) {
    console.log(tipoDeSuscripcion.desc)
  }
}

planPlatzi('basic')

Ciclos

  1. Responde las siguientes preguntas en la sección de comentarios:
  • Estructura de código que repite instrucciones hasta cumplir con una condición.
  • Estan el for, while, do while, foreach, for in.
  • Es un ciclo se se repite indefinidamente. Es un problema debido a que puede causar un mal funcionamiento en el rendimiento de un sitio web.
  • Si.
  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);
}

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

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

let i = 10
while (i>=2) {
  console.log("El valor de i es: " + i);
  i--
}
  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.
function dosMasDos() {
  const num = 2
  const SOLUTION = 4
  let result = 0
  
  do {
    result = prompt('¿Sabes cuanto es ' + num + ' + ' + num + '?')
    if (result != SOLUTION) {
      alert('Ooops, Inténtalo otra vez! 😜')
    } else {
      alert('Excelente, tu respuesta es la correcta! 🎉')
    }
  } while (result != SOLUTION)
}

dosMasDos()

Listas

  1. Responde las siguientes preguntas en la sección de comentarios:
  • Estructura de datos que permite almecenar valores en una lista de elementos, a los cuales podemos acceder por medio de un índice asignado a la posición que este ocupa en dicha lista.
  • Conjunto de datos relacionados entre sí por una clave y su valor.
  • Varía dependiendo de las necesidades de la tarea a realizar.
  • Si, a esto le conozco como un arreglo de objetos.
  1. Crea una función que pueda recibir cualquier array como parámetro e imprima su primer elemento.
function firstElement(elements) {
  console.log(elements[0]);
}

firstElement(['Banana', 'Mango', 'Fresa'])
  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 allElement(fruits) {
  fruits.forEach(element => {
    console.log(element);
  });
}

allElement(['Banana', 'Mango', 'Fresa'])
  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 character = {
  name: 'Rick Sánchez',
  age: 70,
  species: 'Human',
  origin: 'Earth (C-137)'
}

function showCharacter(character) {
  for (const i in character) {
    if (Object.hasOwnProperty.call(character, i)) {
      const element = character[i];
      console.log(i + ': ' + element);
    }
  }
}

showCharacter(character)

Dos de los retos:

const myname = "José carlos";
const lastname = "Díaz";
const nickname = "Joseca";

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

sayMyName(myname, lastname, nickname);
const tipoDeSuscripcion = "Basic";
const msg = [
  "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",
  "Free",
  "Tú y alguien más pueden tomar TODOS los cursos de Platzi durante un año",
];
const res = (msg,suscrip) => { return msg.indexOf(suscrip) > 0
    ? msg[msg.indexOf(suscrip) + 1]
    : "No tienes platzi :("};


console.log(res(msg,tipoDeSuscripcion))

*Una variable es un espacio en memoria que sirve para guardar un dato o conjunto de datos que van a ser usados mas adelante.
*Declarar una variable es cuando se nombra la variable así no se guarde un dato, inicializarla es cuando se guarda la información.
*sumar números se hace cuando la variable es de tipo entero o decimal, concatenar es cuando el numero esta como string y no se puede sumar sino que se adiciona como cadena de texto.
*El operador es "+"
2.
*Nombre: string
*Apellido: string
*Nombre de usuario en Platzi: string
*Edad: int
*Correo electrónico: string
*Mayor de edad: bolean
*Dinero ahorrado: int
*Deudas: int

Variables y operaciones

  • Variable: Es un espacio en la memoria que te permite almacenar información de algún tipo de dato.
  • Declarar: Cuando se declara una variable se reserva un espacio en la memoria, para el caso de JS lo haces utilizando las palabras reservadas var, let y const. Una analogía sería que para guardar algo en tu casa tu reservas una cajita. Aún no sabes que vas a guardar y pero ya tienes el espacio donde guardar reservado.
  • Inicializar: Siguiendo el ejemplo anterior, es meter lo que vas a guardar en esa cajita. Por ende es decirle a JS guardame esta info que tiene este tipo de dato. Se puede inicializar después de declarar, declarar e inicalizar en la misma linea o gracias al hoisting en JS se puede inicializar una variable y luego declararla.
  • Sumar (aritmética): Sumar como operación aritmética.
  • “Sumar” (concatenación): Con el mismo operador “+” puedes concatenar dos strings. Entendámoslo como la unión.
  1. Variables y tipos de datos.
let nombre = 'Pepe'; // String
let apellido = 'Grillo'; // String
let nombre_usuario = 'pepe_grillo'; // String
let edad = 150; // Number
let email = '[email protected]';
let mayor_edad = true // Boolean
let  ahorros = 1000 // Number
let deudas = 500 // Number
  1. Concatenación y operación matemática
let full_name = nombre + " " + apellido; // Pepe Grillo
let dinero_real = ahorros - duedas; // 500

Funciones

  1. Función: Es un bloque de código que al ejecutarse resuelve una tarea específica. Generalmente se usan cuando
    la tarea que va a resolver esta función se considera que va a ser repetitiva a lo largo del programa o código que se está escribiendo.
  • Parametros y argumentos: Los parámetros son aquellas varibles que usamos cuando estamos definiendo una función.
    Los argumentos son los valores que damos a esas varibles cuando hacemos el llamado de la función
function suma(a, b) {
	return a + b;
}

const result = suma(10, 8); // 18
function fullName (name, lastname, completeName, nickname) {
    return(`Mi nombre es ${name} ${lastname}, pero prefiero que me digas ${nickname}.`);
}

Condicionales

  • Condicional: Es una instrucción que se puede ejecutar o no dependiendo de una validación cuya resolución es un valor booleano.
  • En JS existen: if, else, else if, switch.
  • Si se pueden combinar.
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 == "Free") {
    console.log("Tú y alguien más pueden tomar TODOS los cursos de Platzi durante un año");
} else {
    console.log("No tienes suscripción o esa suscripción no existe")
}

Solo con if

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

Mis respuestas a la prueba de JS

/**
 * Prueba de JavaScript
 * 
 *
 * Variables y operaciones
 * 
 * 1️⃣ Responde las siguientes preguntas:
 * 
 * 
 * ◽ ¿Qué es una variable y para qué sirve?
 *      
 * ✅ Una variables es un espacio reservado memoria al cual
 * le designamos un nombre simbolico y nos sirve para almacenar
 * datos
 * 
 * ◽ ¿Cuál es la diferencia entre declarar e inicializar una variable?
 * 
 * ✅ La diferencia es que declarar es solo reservar su espacio en memoria e inicializar
 * significa asignarlas algún valor, ya sea de tipo númerico, lógico o de otro tipo. 
 * 
 * ◽ ¿Cuál es la diferencia entre sumar números y concatenar strings?
 * 
 * ✅ Concatenar es unir cadenas de string, y sumar es realizar la operacion
 * matematica
 * 
 * ◽ ¿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
 *  nombreUsuarioEnPlatzi = String
 *  edad = Number
 *  correoElectronico = String
 *  mayorDeEdad = Boolean
 *  dineroAhorrado = Number
 *  deuda = Number
 * 
 * 
 * 3️⃣ Traduce a código JavaScript las variables del ejemplo 
 * anterior y deja tu código en los comentarios.
 */
 let nombre = 'Alejandro'
 let apellido = 'Repizo'
 let nombreUsuarioEnPlatzi = 'Aleajandro Repizo'
 let edad = '19'
 let correoElectronico = '[email protected]'
 let mayorDeEdad = true
 let dineroAhorrado = 2000000
 let deuda = 0

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

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

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


/**
 * Funciones
 * 
 * 1️⃣ Responde las siguientes preguntas:
 * 
 *  ◽ ¿Qué es una función?
 *      
 * ✅ Una función es una sección de código que nos permire calcular un
 * valor de manera independiete al resto del programa, además la
 * podemos reutilizar durante todo el ciclo de vida del código.
 * 
 * ◽ ¿Cuándo me sirve usar una funcón en mi código?
 *      
 * ✅ Nos sirve cuando vayamos a utilizar una misma operación muchas veces
 * en nuestro código.
 * 
 * ◽ ¿Cuál es la diferencia entre parámetros y argumentos de una función?
 * 
 * ✅ Un argumento representa el valor que se pasa a un parámetro 
 * de procedimiento cuando se llama al procedimiento. 
 * 
 * 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 data = (name, lastname, nickname) => {
    return  console.log(`Mi nombre es ${name} ${lastname} pero prefiero que me digas ${nickname}.`);
 }

 data('alejandro', 'repizo', 'AlejandroRepizo')


/**
 * Condicionales
 * 
 * 1️⃣ Responde las siguientes preguntas:
 *  
 * ◽ ¿Qué es una condicional?
 * 
 * ✅ Una condicional son un conjunto de instruccion que se ejecutan o no 
 * dependiendo de la expresion a evaluar
 * 
 * ◽ ¿Qué tipos de condicionales exiten en JavaScript y cuáles son sus diferencias?
 * 
 * ✅ Existen el if, else, else if sus diferencias son su sintaxis y su 
 * aplicación
 * 
 * ◽ ¿Puedo combinar funciones y condicionales?
 * 
 * ✅ Si se pueden 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 "Free":
        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 === 'Expert+') {

    console.log("Tú y alguien más pueden tomar TODOS los cursos de Platzi durante un año");

 }else {
    console.log('No tienes suscripcion a platzi')
 }

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

 const tipoDeSuscripcionPlatzi = "Expert+";

 if (tipoDeSuscripcionPlatzi === 'free') 

    console.log("Solo puedes tomar los cursos gratis");

 if (tipoDeSuscripcionPlatzi === 'Basic') 

    console.log("Puedes tomar casi todos los cursos de Platzi durante un mes");

 if (tipoDeSuscripcionPlatzi === 'Expert') 

    console.log("Puedes tomar casi todos los cursos de Platzi durante un año");

if (tipoDeSuscripcionPlatzi === 'Expert+') 

    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 tipoDeSuscripcionPlatzi = "Experts+";

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

console.log(tiposDeSuscripcion[tipoDeSuscripcionPlatzi] || tipoDeSuscripcionPlatzi)

/**
 * Ciclos
 * 
 * 1️⃣ Responde las siguientes preguntas:
 * 
 * ◽ ¿Qué es un ciclo?
 * 
 * ✅ Un ciclo es una estructura que nos permire ejecutar
 * un codigo hasta que se cumpla una expresion
 * 
 * ◽ ¿Qué tipos de ciclos existen en JavaScript?
 * 
 * ✅ Existe el While, do while, for, for each, for in, for of
 * 
 * ◽ ¿Qué es un ciclo infinito y por qué es un problema?
 * 
 * ✅ Es cuando se ejecuta el código y nunca se llega a cumplir 
 * la condición, porque llena el event loop
 * 
 * ◽ ¿Puedo mezclar ciclos y condicionales?
 * 
 * ✅ Si se pueden mezclar 
 * 
 * 2️⃣ Replica el comportamiento de los siguientes ciclos for utilizando 
 * ciclos while:
 */

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

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

 let i = 0

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

 let i = 10

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

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

const questionToUser = () => {
    let input
    do {
    
        input = parseInt(prompt('¿Cual es el resultado de 2 + 2 ?'))

        if (input === 4) 
            alert('Felicidades')

    } while (input != 4);
}

questionToUser()

/**
 * Listas
 * 
 * 1️⃣ Responde las siguientes preguntas:
 * 
 * ◽ ¿Qué es un array?
 * 
 * ✅ Un array es una colección infinita de datos
 * 
 * ◽ ¿Qué es un objeto?
 * 
 * ✅ objeto es un tipo de dato que surge a partir de la clase
 * 
 * ◽ ¿Cuándo es mejor usar objetos o arrays?
 * 
 * ✅
 * 
 * ◽ ¿Puedo mezclar arrays con objetos o incluso objetos con arrays?
 * 
 * ✅ Dependiendo del contexto con el que se vaya a utilizar 
 * si se necesita datos y llaves es mejor un objeto pero si no mejor usar arrays
 * 
 * 2️⃣ Crea una función que pueda recibir cualquier array como parámetro }
 * e imprima su primer elemento.
 */

const imprimeElPrimerElemento = (array) => {
    return 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).
 */

const imprimeLosElementos = (array) => {
    array.forEach( (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).
 */

const imprimeLosElementosDelObjeto = (object) => {
    for (const key in object) {
        console.log(object[key])
    }
}


Esta es mi solución al reto de ¿Cuánto es 2 + 2? Si alguien ve algún error o alguna posible mejora en mi código, le agradecería que me lo dijera.

let usuario = Number(prompt('¿Cuánto es 2 + 2?'));

function resultadoRespuesta(usuario) {
  
  for(let i = 0; i < 100; i++) {
    if(usuario == 4) {
      alert('Felicitaciones la respuesta es correcta!');
      break;
    } else {
      usuario = Number(prompt('¿Cuánto es 2 + 2?'));
    }
  }
}

resultadoRespuesta(usuario);

Bonus:

const tipoDeSuscripcion = "Basic";
var listOfSubscirptions = [
    { plan : "Free", message : "Solo puedes tomar cursos gratis"},
    { plan : "Basic", message : "Puedes tomar casi todos los cursos de Platzi durante un mes"},
    { plan : "Expert", message : "Puedes tomar casi todos los cursos de Platzi durante un ano"},
    { plan : "ExpertPlus", message : "Tu y Alguien mas pueden tomar Todos los cursos de Platzi durante un ano"}
];

var toPrint = listOfSubscirptions.find(e => e.plan === tipoDeSuscripcion);
console.log(toPrint.message);

Variables y operaciones 1
¿Qué es una variable y para qué sirve?
es la representación de un espacio en memoria sirve para almacenar información durante la ejecución de un código
¿Cuál es la diferencia entre declarar e inicializar una variable?
al declararla solo estas reservando un espacio en memoria para colocar información ahí, al inicializarla le estas asignando la información que tu pretendías poner ahí en un principio
¿Cuál es la diferencia entre sumar números y concatenar strings?
al sumar estas añadiendo a un numero la cantidad el otro pero al concatenar estas juntando dos o mas cadenas de texto
¿Cuál operador me permite sumar o concatenar?
el simbolo +
Variables y operaciones 2
string Nombre
string Apellido
string NombreUsuarioPlatzi
number Edad
string Correo
boolean isMayorDeEdad
number DineroAhorrado
number Deudas
Variables y operaciones 3

let Nombre="Fernando";
let Apellido="Basurto";
let NombreUsuarioPlatzi="Fernando Basurto";
let Edad = 23;
let Correo="";
let isMayorDeEdad=true;
let DineroAhorrado = 299.00;
let Deudas = 60.00;

Variables y operaciones 4

let NombreCompleto = Nombre+" "+Apellido;
let DineroReal = DineroAhorrado-Deudas; 

me salió un pantallazo azul y la lo iba a terminar

Ok, aqui mis respuestas de la prueba:

¿Qué es una variable y para qué sirve?
Es un espacio reservado en memoria donde se guarda información
¿Cuál es la diferencia entre declarar e inicializar una variable?
La diferencia es que al momento de declarar una variable se reserva su espacio en memoria y al momento de inicializar estamos guardado la información en el espacio antes reservado.
¿Cuál es la diferencia entre sumar números y concatenar strings?
Al sumar números estamos realizando la operación matemática, concatenar strings es cuando deseamos unir dos textos o algunos valores diferentes para formar un solo texto.
¿Cuál operador me permite sumar o concatenar?
Con el signo “+”
Determina el nombre y tipo de dato para almacenar en variables la siguiente información:
Nombre : String
Apellido : String
Nombre de usuario en Platzi: String
Edad: Numero
Correo electrónico : String
Mayor de edad : Boleeano
Dinero ahorrado : Numero flotante
Deudas ; Numero flotante
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️⃣
¿Qué es una función?
Una función es un conjunto de sentencias para realizar ciertas tareas.
Entre estas están las funciones declarativas y expresivas
-Funciones declarativas: Es decir que se declara directamente con la palabra reservada Function function MyFunc(){};
-Funciones expresivas: Son aquellas que guardamos en una variable, y no es necesario nombrarlas ej
Var nombrevariable = Function myfuncion (){};

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

Cuando en mi código necesito que realice ciertas tareas especificas o de manera recuerrente.
¿Cuál es la diferencia entre parámetros y argumentos de una función?
Los parámetros son es la lista de variables que le pasamos a la función cuando esta es declarada, y los argumentos son los valores que se le pasan a función cuando esta es llamada o invocada.

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

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

Son reglas que permite validar el cumplimiento de ciertas condiciones, si es True o false.

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

If , else if, else, operador tenario y switch.
If Evalúan sentencias con una condición especifica si es verdadera la ejecutará, sino evaluará otras sentencias else if
Else en caso de que las sentencias if y else if, hayan sido falsas, entonces existe esta condicional o clausula.
Operador tenario: Es el único operador JavaScript que toma tres operandos que es un if y un else en una sola línea
Sintaxis
condición ? expr1 : expr2
Switch; Básicamente un switch es como un if pero diferente en su sintaxis y su uso, pero fuera de algunas ocasiones son muy parecidos.
La sintaxis de switch es:
switch (‘valor a validar’) {
case ‘opción 1’:
‘acción a realizar’;
break;
}
En el caso de que ninguna de las opciones dentro del switch sea la correcta tenemos 2 opciones por hacer que son:

  1. Dejar el código seguir sin hacer nada.
  2. Utilizar default que es como si utilizáramos un else pero para switch.

¿Puedo combinar funciones y condicionales?

Si, se pueden combinar

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

Solo usando en condicional “if”

En esta de verdad no estoy muy segura, me gustaria que me ayudaran a corregir

**
Listas**
1️⃣ Responde las siguientes preguntas en la sección de comentarios:
¿Qué es un array?
Colección o agrupación de elementos de una misma variable, cada uno de ellos ubicados por la posición que ocupa el array.
¿Qué es un objeto?
programación es una representación abstracta de un objeto en la vida real, sin embargo también puede entenderse como un contenedor de datos, tiene ciertas características y acciones.-
Respectivamente a estas características y acciones se les conoce como atributos(características) y métodos(acciones) en programación.

¿Cuándo es mejor usar objetos o arrays?
Cuando se necesite replicar un cojunto de datos con diferentes acciones o características, es mejor usar un objeto, para los arrays es cuando se necesite almacenar una cantidad finita de datos, y este no puede crear funcionalidades propias.

¿Puedo mezclar arrays con objetos o incluso objetos con arrays?
Si.
2️⃣ Crea una función que pueda recibir cualquier array como parámetro e imprima su primer elemento.
3️⃣ Crea una función que pueda recibir cualquier array como parámetro e imprima todos sus elementos uno por uno (no se vale imprimir el array completo).
4️⃣ Crea una función que pueda recibir cualquier objeto como parámetro e imprima todos sus elementos uno por uno (no se vale imprimir el objeto completo).


( los ultimos ejercicios me toco apoyarme en los comentarios 😦








1 .- Preguntas
a) Es un espacio en la memoria del ordenador y sirve para guardar valores.
b) En el primer caso solo se le asigna un nombre a la variable y el segundo se le asigna un valor.
c) En el primer caso el aperador aritmético suma realiza una operación matemática y el segundo tiene une o concatena dos strings o un string con una variable.
d) El operador aritmético suma +.

2.- Podríamos guardar esta información como un objeto de Java Script o en un array. Nombre, apellido, usuario, email: string; edad, dinero ahorrado y deudas: number; mayor de edad; boolean.

var cliente = [
	{nombre: 'Leobardo',
	apellido : 'Licona',
	usuario: 'leoncreactivo',
	edad: 30,
	email: '[email protected]',
	mayorEdad: true, 
	ahorro: 0,
	deudas: 0
}]
 function nombreCliente () {
 var nombre = cliente.nombre
 var apellido = cliente.apellido  
 var c = nombre + ' ' + apellido;
 return c 
}
console.log(c);

+++++ Funciones ++++++

1.-
a) La función es un bloque de código que procesa instrucciones y devuelve un resultado, y puede ser llamada en cualquier parte del código.
b) Cuando tengo una operación que se va a repetir de manera recurrente nuestro código,
c) Los parámetros se refieren a nombres que aparecen en la definición de una función que y los argumentos se refieren a a los valores que recibe una función.

2.-

const name = "Juan David";
const lastname = "Castro Gallego";
const nameLast = name + lastname;
const nick = "juandc";
function dimeAsi(completeName, nickName){ console.log("Mi nombre es " + completeName + ", pero prefiero que me digas " + nickName + ".");}
var result = dimeAsi (nameLast, nick);

Condicionales

1.- Es una estructura de control que permite condicionar de manera lógica una respuesta/output.
2- If, junto con else y else if. Son uno mismo.
3.- Si, claro.

4.-

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

5.- var 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.-
a)Es una estructura de codigo para realizar tareas repetitiva e iterar en los arrays.
b)for, while, do while
c) Cuando no se define el termino de un blucle, ya que se repite infinitamente consumiendo recursos del ordenador.
d) Si, claro.
2.-

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

3.-

while (r != 4) {
    var r = parseInt(prompt('Cuanto es 2 + 2?' ));
}
***************************************************************************
Listas 

1.- 
	a) Es una matriz de valores depositados en una variable 
	b) Es una colección de propiedades, funciona como un array.
	c) Cuando requerimos un tipo  de objeto con las mismas caracteristicas, por ejemplo coches, casas, usuarios.
	d) Si, claro. 
2.- 

var dino = [‘Rex’, ‘Carnotaurus’, ‘Cuello largo’, ‘Indominuos Rex’]

function dinoSelect (){
return dino[1]
}

3.- 

var dino = [‘Rex’, ‘Carnotaurus’, ‘Cuello largo’, ‘Indominuos Rex’]
function dinoSelect (x){
x.forEach(element => {
console.log(element);
});
}
dinoSelect(dino);

4.- 

var dino = [{nombre: ‘Rex’, tamaño: ‘17m’}, {nombre:‘Carnotaurus’, tamaño: ‘22m’}, {nombre:‘Cuello largo’, tamaño: ‘30m’}, {nombre: ‘Indominuos Rex’, tamaño: ‘16m’}]

function dinoSelect (x){
x.forEach(element => {
console.log(‘El dinosaurio de ficción llamado ’ + element.nombre +’ tiene un tamaño imaginario de ’ + element.tamaño);
});
}
dinoSelect(dino);










//VAriables y operaciones
// 2)

// // (Nombre)
let nombre = ‘’;
// // Apellido
let apellido = ‘’;
// // Nombre de usuario en Platzi
let userPlatzi = Number;
// // Edad
let edad = Number;
// // Correo electrónico
let email = ‘’;
// // Mayor de edad
let mayor = Boolean;
// // Dinero ahorrado
let ahorro = 0;
// // Deudas
let deuda = 0;

//4)
function nombreCompleto() {
return nombre + ’ ’ + apellido;
}
function dineroReal() {
return dinero - deuda;
}

//function
//2)
const name = “Juan David”;
const lastname = “Castro Gallego”;
const completeName = name + lastname;
const nickname = “juandc”;

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

function presentacion(name, lastname, nickname) {
var completeName = name + ’ ’ + lastname;

return "Mi nombre es " + completeName + ", pero prefiero que me digas " + nickname + "."

}

//Condicionales
//2)
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;
// }
function suscripcion(tipoDeSuscripcion) {

//3)
let suscrip = {
    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 (suscrip[tipoDeSuscripcion]) {
    return suscrip[tipoDeSuscripcion]
}
return 'No tiene suscripcion'

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

//Bonus:
let suscrip = {
    Free: 0,
    Basic: 1,
    Expert: 2,
    ExpertPlus: 3
}
let descrip = ["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 (suscrip[tipoDeSuscripcion]) {
    return descrip[suscrip[tipoDeSuscripcion]];
}
return 'No tiene suscripcion';

}

////Ciclos
//2)

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)

function resolverSuma() {
let result;

while (result != 4) {
    //preg 
    result = window.prompt('¿cuanto es 2 + 2 ?');
    //verifico respuesta del usuario
    if (result == 4) {
        return alert('Felicitaciones');
    }
}

}

/// Listas:
//2)
function primerElemento(array) {
return array[0];
}
//3)
function todosSusElementos(array) {
for (let i = 0; i < array.length; i++) {
console.log(array[i]);
}
}
//4
function objCompleto(objeto) {
for (const key in objeto) {
console.log(key)
console.log(objeto[key]);
}
}

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 designamos para guardar información.

*¿Cuál es la diferencia entre declarar e inicializar una variable?
-Cuando declaramos una variable le estamos dando un nombre y le reservamos espacio en memoria.
-Y cuando la inicializamos es cuando guardamos un valor en ella.

*¿Cuál es la diferencia entre sumar números y concatenar strings?
-Sumar números es una operación matemática.
-Concatenar strings es acoplar 2 o mas valores y convertirlos en uno.

*¿Cuál operador me permite sumar o concatenar?
-Se usa el signo + para ambas opciones.

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 = "Martín";
let Apellido = "Hernandez";
let nombreUsuarioPlatzi = "martincba";
let edad = 36;
let email = "[email protected]";
let mayorDeEdad = true;
let dineroAhorrado = 25000;
let Deudas = null;

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

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

let nombreCompleto = nombre + Apellido;
let dineroReal = dineroAhorrado - Deudas;

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

*¿Qué es una función?
-Una serie de procedimientos usadas para resolver un problema.

*¿Cuándo me sirve usar una función en mi código?
-Cuando necesitamos resolver varias veces un mismo problema y asi no repetir tanto codigo.

*¿Cuál es la diferencia entre parámetros y argumentos de una función?
-Los parametros son la lista de variables que ponemos cuando se define una funcion.
-Los argumentos son los vaores que se pasan a la funcion cuando esta es invocada.

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 myFunction(nombreCompleto, nickName) {
  return (
    "Mi nombre completo es " +
    nombreCompleto +
    " pero prefiero que me digas " +
    nickName +
    "!"
  );
}
console.log(myFunction("Martín Alejandro Hernandez", "Tincho"));

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

*¿Qué es una condicional?
-Una instrucción que se ejecuta o no, depende del resultado de una evaluacion.

*¿Qué tipos de condicionales existen en JavaScript y cuáles son sus diferencias?
-if: si sucede tal cosa.
-else: if o esta otra cosa.
-else: o no sucede.
-switch: podemos listar una serie de bloques de enunciados que se ejecuten dependiendo del valor de una variable.

*¿Puedo combinar funciones y condicionales?
-si, claro.

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

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 === "Expert+") {
  console.log(
    "Tú y alguien más pueden tomar TODOS los cursos de Platzi durante un año"
  );
}

solo con if

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 === "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 bloque de codigo que se repite n veces.

*¿Qué tipos de ciclos existen en JavaScript?
-While
-Do While
-For
-For in
-For of

*¿Qué es un ciclo infinito y por qué es un problema?
-es un ciclo que no tiene una condicion de corte, por lo tanto se va a repetir por siempre.
-al no cortar nunca puede consumir demasiados recursos y generar problemas en nuestra pc.

*¿Puedo mezclar ciclos y condicionales?
-si, claro!

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

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

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

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

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

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

do {
    num = prompt("Cuanto es 2 + 2 = ");
    if (num==4) {
        alert("Felicitaciones, la suma es correcta!!");
        respuesta = true;
    }else {
        alert("Lo siento, intentalo otra vez...");
    }
} while (respuesta==false);

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

*¿Qué es un array?
-es una lista de valores del mismo tipo almacenados en una misma variable.(en JavaScript no necesariamente tienen que ser del mismo tipo)

*¿Qué es un objeto?
-es una coleccion de datos relacionados, llamados propiedades.

*¿Cuándo es mejor usar objetos o arrays?
-usamos objetos cuando necesitamos guardar datos con propiedades, de lo contrario solo usamos arrays.

*¿Puedo mezclar arrays con objetos o incluso objetos con arrays?
-si, claro!
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).

let persona = {
    nombre:"Martín",
    apellido:"Hernandez",
    edad:36
}
function imprimirPersona(persona) {
    console.log("Nmombre = " + persona.nombre);
    console.log("Apellido = " + persona.apellido);
    console.log("Edad = " + persona.edad);
}
imprimirPersona(persona);

Paso a dejar mi versión del Reto Bonus

let tipoDeSuscripcion = prompt('Digite el indicador del plan que posee (Free = 1, Basic = 2, Expert = 3 o Expert Plus = 4):');

const SuscripcionesConMensajes = [
    {id: 1, tipo: 'Free', mensaje: 'Solo puedes tomar los cursos gratis'},
    {id: 2, tipo: 'Basic', mensaje: 'Puedes tomar casi todos los cursos de Platzoi durante un mes'},
    {id: 3, tipo: 'Expert', mensaje: 'Puedes tomar casi todos los cursos de Platzi durante un año'},
    {id: 4, tipo: 'Expert Plus', mensaje: 'Tú y alguien más pueden tomar TODOS los cursos de Platzi durante un año'}
];

var suscripcionEscogida = SuscripcionesConMensajes.find(function(suscripcion){
    return suscripcion.id == tipoDeSuscripcion; 
});

console.log(`Usted posee el plan ${suscripcionEscogida.tipo} y ${suscripcionEscogida.mensaje}`);

🦄 Mis humildes respuestas

FUNCIONES

const PlatziName = function (name,lastName,nickname) {
  const completeName = name + lastName;
  console.log(`Mi nombre es ${completeName}, pero prefiero que me digas ${nickname}.`)};
PlatziName("Cristian"," Acalo","Josac");

CONDICIONALES

  • Con if, else if y else
const op1 = "Free",op2 = "Basic", op3 = "Expert",op4 = "Expert Plus";
const beneficiosDeSuscripcion = function (tipoDeSuscripcion){
  if(tipoDeSuscripcion === op1){
    console.log ("Solo puedes tomar cursos gratis");
  }else if(tipoDeSuscripcion === op2){
    console.log ("Puedes tomar casi todos los cursos de Platzi durante un mes");
  }else if(tipoDeSuscripcion === op3){
    console.log("Puedes tomar casi todos los cursos de Platzi durante un año");
  }else if(tipoDeSuscripcion === op4){
    console.log("Tú y alguien más pueden tomar TODOS los cursos de Platzi durante un año")
  }else{
    console.log("No encontramos tu tipo de suscripcion")
  }
};
beneficiosDeSuscripcion(op4);

  • Solo con if
const beneficiosDeSuscripcion2 = function(tipoDeSuscripcion){
  if(tipoDeSuscripcion === op1){
    console.log("Solo puedes tomar cursos gratis");
  };
  if(tipoDeSuscripcion === op2){
    console.log("Puedes tomar casi todos los cursos de Platzi durante un mes");
  };
  if(tipoDeSuscripcion === op3){
    console.log("Puedes tomar casi todos los cursos de Platzi durante un año");
  };
  if(tipoDeSuscripcion === op4){
    console.log("Tú y alguien más pueden tomar TODOS los cursos de Platzi durante un año")
  };
  if(tipoDeSuscripcion === null){
    console.log("No encontramos tu tipo de suscripcion")
  };
};
beneficiosDeSuscripcion2(op1);

CICLOS

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

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

  • Pregunta 3: método 1
const operation = function(){
  let pregunta = prompt("¿Cuanto es 2 + 2?");
  if(pregunta == "4"){
    alert("Felicidades ^^. Has acertado");
      }else{
        operation();
    }
};
operation();

  • Pregunta 3: método 2
let respuesta;
const operacion = function(){
do {
  respuesta = prompt('¿Cual es el resultado de 2 + 2?')
} while (!(respuesta == 4));
if (respuesta == 4){
alert("Felicidades!")
    }else{
        operacion()
    }
};
operacion();

ARRAYS Y OBJETOS

let array = ["Maria", "Sergio", "Rosa", "Daniel"];
const firstElementPrinter = function(){
    console.log(array[0]);
}
firstElementPrinter();

let marcas = ["Audi", "Subaru", "Lexus", "Porsche", "BMW", "Mazda", "Buick", "Toyota", "Kia", "Honda"];

const functionPrinter = function(){
    for(let i = 0 ; i < marcas.length ; i++){
        console.log(marcas[i]);
    };
};
functionPrinter();

Nota: Para este último tuve que buscar ayuda :c

let yoxd = {
  nombre: "Criss",
  apellido: "Acalo",
  nickname: "Josac",
  edad: 18
};
const objectPrinter = (objeto) => {
  Object.values(objeto).forEach((elemento) => {
    console.log(elemento);
  });
};

objectPrinter(yoxd);

EL OUTPUT QUEDARÍA ALGO MÁS O MENOS ASÍ

Nota: lo hice en Replit

Confieso que pase derecho la primera vez y no hice la prueba porque no entendía muy bien, y la verdad se dificulta un poco seguirle el hilo a este curso practico, por eso es fundamental tomar los cursos nombrados, pero FUNDAMENTAL el de pensamiento logico, git y git-hub, y fundamentos de ingeniería de software, de esa manera si eres nuevo (como yo) en este mundo de javascript, no se te va a dificultar.

VARIABLE

una variable es un dato que se caracteriza por tener un valor, y el cual tiene como proposito usarse como valor para realizar alguna operacion, ya que es un concepto mutable e inestable, que se adapta a los diferentes tipos de valores que se le pongan

DECLARAR E INICIALIZAR

Declarar - es traer el nombre por defecto de la variable, pero no su valor

Inicializar - es asignar un valor a la declaracion

definir - es llamar a la delcaracion conjunto a su inicializacion para que retorne lo que se opero.

SUMAR Y CONCATENAR

Concatenar - a diferencia de la suma, lo que se conecta son strings los cuales forman una nuevo texto

Sumar - es literalmente operar los valores numericos y que estos den un resultado.

Operador qu permite concatenar y sumar (+)

NOMBRES Y TIPOS DE DATOS

let nombre = string
let apellido = string
let Nombre de usuario en Platzi = string
let edad = number
let correo electronico = string
let mayor de edad = number
let dinero ahorrado = string
let deudas = number
---------------   
let nombre = "Snehider";
let apellido = "gutierrez";
let username = "Snehider Gutierrez";
let edad = 23;
let email = "[email protected]";
let mayorEdad = "SI";
let dinerAhorrado = 10.000; :D
let deudas = 300.000;  .-.

console.log(nombre + apellido);
console.log(dinerAhorrado - deudas);

FUNCIONES

una funcion es un bloque de codigo que realiza una actividad especifica, la cual recibe parametros cuyos  valores vienen predeterminados, y los argumentos es los valores que el usuario reemplaza de los parametros.
            
            parametros
function suma(a,b){
    console.log(a + b);
}
    argumentos
suma(12, 65);
77.

caracteristicas - es importante usar las funciones para realizar una actividad  especifica, y que a su vez resuelva un problema.

const nombre = "Fabian";
const apellido = "Gutierrez";
const nombreCompleto = nombre + apellido;
const alias = "programador";

function datos(nombreCompleto, alias){
    console.log("mi nombre es " + nombreCompleto + ", pero prefiero que me digas " + alias + ".");
}

CONDICIONAL

    Una condicional es un conjunto de instrucciones, que recibe el codigo y que al ejecutarce evalua las instrucciones y da una solucion (o no la dara por defecto) de acuerdo a estas.

const suscripcion1 = “basic”;
const suscripcion2 = “expert”;
const suscripcion3 = “expert +”;

function suscripcion(tuSucripcion){
if(tuSucripcion === suscripcion1){
console.log(“puedes tomar por un mes los cursos de Platzi”);
}else if(tuSucripcion === suscripcion2){
console.log(“puedes tomar casi todos los cursos de platzi durante un año”);
}else if(tuSucripcion === suscripcion3){
console.log(“puedes tomar junto con alguien mas todos los cursos de platzi durante un año”);
}else{
console.log(“puedes tomar solo los cursos gratuitos”);
}
};

CICLOS

es una accion que se repite con una determinada logica

Tipos de ciclos: for - while -do while

ciclo infinito: como su nombre lo dice, es un ciclo el cual se repetira sin ninguna salida, y tiene un gran problema y es, que al no detenerce y no dar una salida a lo que se quiere no podra seguir ejecutandoce otros codigos, y asi dañar el flujo de trabajo.

es posible combinar los ciclos con los condicionales.

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

    el ciclo for se usa cuando se sabe el numero de iteraciones que tendra el ciclo

    while -> let x = 1;
        while(x < 4){
            console.log(x);
            x++;
        }
        console.log("fin de while");
    el ciclos while es lo contrario a for, es decir, cuando no sabemos la cantidad de iteracion que tendra el ciclo, es mejor usar while

    do while -> const x = 4;

        do{
            console.log(`iteracion${x}`);
            x++;
        }while(x = 5)

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

    let x = 10;

    while(x > 0){
        console.log(x);
        x--;
    }
    console.log("fin del while");

PROMPT

var suma = prompt("cuanto es el valor de esta suma 2 + 2");
if (Number(suma) == suma){
    if(suma == 4){
        alert("Excelente!");
    }else{
        alert(" Ups!vuelve a intentarlo");
    }
}

LISTAS

que es un array?
    - un array en Js un conjunto de datos enlistados, numericos o tipo cadenas de texto, estos a su vez pueden ser modificados

que es un objeto?
    - en Js un objeto es una coleccion de propiedas, y la propiedad esta constituida con un nombre (de la propiedad) y el valor que lleva

el principal uso de los arrays son poder usar una sola variable para guardar varios elementos que podrian ser usados como otras variables, ya que un array funciona como un compartimento donde se almacenan elementos numericos o cadenas de texto. Por otra parte los objetos sirven principalmente para definir las propiedades de una variable.

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

SI

ejercicio 1
const frutas =[“manzana”, “uvas”, “peras”];

const listaFrutas = frutas.find(elemento => {
return elemento === “manzana”;

});

console.log(listaFrutas);

ejercicio 2

const frutas =[“manzana”, “uvas”, “peras”];

frutas.forEach (function(index){
console.log(index);
});

const carro = {
nombre: “audi”,
modelo: “Q5”,
año: “2020”,
}

for (const property in carro){
console.log(carro[property]);
}

Mis respuestas de la prueba de JS
Variables y Operaciones

  1. Responder preguntas:
    • La variable es un espacio reservado en la memoria donde se puede almacenar información.

    • Declarar solo reserva el espacio en la memoria e inicializar guarda un valor dentro de este espacio.

    • Sumar números hace una operación matemática entre dos o más números. Concatenar strings hace que se junten dos o más textos, también se puede concatenar un string con un número pero el número se convertiría en un string también.

2
3. Variables:

var nombre = "Enrique"; //string
var apellido = "Hernandez"; //string
var usuarioPlatzi = "enriquehernandez"; //string
var edad = 22; //number
var email = "[email protected]"; // string
var adult = true; //boolean
var savedMoney = 5000; //number
var deudas = null; //object
var fullName = nombre + " " + apellido;
var totalMoney = savedMoney - deudas;

Funciones

  1. Responder preguntas:

    • Una función es un bloque de código que podemos utilizar para generar ciertas acciones o tareas.

    • Cuando queremos realizar ciertos pasos, cálculos o tareas, creamos una función para poder reutilizar este código en diferentes partes de nuestro código.

    • Los parámetros son las variables que están en la definición de nuestra función y los argumentos son el valor o los datos que le damos a esos parámetros de la función.

  2. Convertir código en función:

function peopleData (NAME, LASTNAME, NICKNAME) {
	this.name = NAME;
	this.lastName = LASTNAME;
	this.completeName = name + " " + lastName;
	this.nickname = NICKNAME;
	console.log("Mi nombre es " + completeName + ", pero prefiero que me digas " + nickname + ".");
}

Condicionales

  1. Responder preguntas:

    • Las condicionales son reglas que vamos a aplicar para validar si algo es verdadero o falso y podemos generar ciertas acciones con eso.

    • if, else, else if, ternario y switch.

    • Si.

  2. Cambiar de switch a if, else y else if:

const = tipoDeSuscripción = "Basic";

if (tipoDeSuscripción === "Free") {
	console.log("Solo puedes tomar los cursos gratis");
} else 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 {
	console.log("Tú y alguien más pueden tomar TODOS los cursos de Platzi durante un año");
}

Ciclos

  1. Responder preguntas:

    • Es una manera de hacer que una tarea pueda repetirse de forma automática hasta que una función deje de cumplirse.

    • For, for/of, for/in, while, do/while.

    • Es un ciclo que no tiene una condición que lo detenga en algún punto, puede consumir mucha memoria y hacer que el ordenador se apague.

    • Si.

  2. Replicar comportamiento del ciclo 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--;
}
var pregunta = prompt("¿Cuánto es 2 + 2?");
if (pregunta === "4") {
	console.log("¡Correcto!");
} else {
	console.log("¡Incorrecto!");
}

Listas

  1. Responder preguntas:

    • Es una estructura de datos que puede guardar ciertos valores. Como una caja.

    • Es una colección de propiedades. Es un contenedor de datos que puede llevar varias propiedades dentro de este.

    • Es mejor utilizar un objeto cuando tienes que guardar datos que son repetitivos y podríamos usar una función constructora para hacerlo más automático.

    • Si se pueden mezclar.

function primerElemento (array) {
	console.log(array[0]);
}
var articulos = ["Playera", "Pantalones", "Tennis"];
function todosElementos (array) {
	array.forEach(function (articulo) {
		console.log(articulo);
	});
}
var info = {
    name: "Fernando",
    lastName: "Navarro",
    username: "fernavarosas"
};

function imprimirTodos (object) {
	Object.values(object).forEach(function (elemento) {
		console.log(elemento);
	});
}

Les dejo mis respuestas.

Saludos! 😃

1 - Variables y operaciones:

1.1

  1. Una variable es un espacio en memoria que almacena algún valor o incluso una referencia a otro
    espacio en memoria. Se utiliza para referenciar espacios en memoria y acceder a la información
    que almacenan.
  2. Durante la declaración de una variable se define el nombre y el tipo de datos que almacenara dicha variable. Al inicializar la variable definimos el valor que esta contendrá.
  3. Durante la suma de números se realiza una operación matemática que da como resultado un valor numérico. En cambio durante la concatenación de dos strings se unen dos cadenas de caracteres para formar una.
  4. En la muchos lenguajes de programación (como JS) se puede utilizar el operador mas (+) para realizar tanto la suma de dos números como la concatenación de cadenas de caracteres.

1.3

let firstname = "Nombre";
let lastname = "Apellido";
let nickname = "Nombre de usuario en Platzi";
let age = "Edad";
let email = "Correo electrónico";
let isAdult = "Mayor de Edad";
let savedMoney = 5000;
let debts = 500;

1.4

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

2 - Funciones

2.1

  1. Una funcion es una tarea o rutina de programacion que se define una ves y puede ser ejecutada tantas veces como se desee mientras se ejecuta un programa.
  2. Cuando se desee encapsular una funcionalidad que se repite varias veces durante nuestro codigo.
  3. Los parametros de una funcion son las variables que se declaran junto a la funcion y que viviran dentro de esta. Los argumentos son los valores que se le pasan a la funcion al ejecutarla.

2.2

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

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

3 - Condicionales

3.1

  1. Es una expresion o estructura de codigo hecha para tomar deciciones.
  2. En javascript existen los siguientes condicionales.
    • if: Evalua una condicion, si esta se cumple ejecuta el bloque de codigo que contiene.
    • else if: Se utiliza seguido de un if para, si se cumple su condicion, ejecutar el bloque de codigo que contiene.
    • else: Se utiliza seguido de un if o un else if, y si ninguna de las condiciones anteriores de cumplio se ejecutara el bloque de codigo que este contenga.
    • switch: Se utiliza para ejecutar algun bloque de codigo si el valor que se le paso como argumento coincide con alguno de los valores que se le asocio.

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

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

3.3.2

const subscriptionType = "Basic";

const platziSubscriptions = [
	{
		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 año"
	},
	{
		type: "ExpertPlus",
		description: "Tú y alguien más pueden tomar TODOS los cursos de Platzi durante un año"
	}
];

platziSubscriptions.filter(ps => ps.type === subscriptionType).forEach(ps => console.log(ps.description))

4 - Ciclos

4.1

  1. Un ciclo es una estructura de datos que repite un bloque de codigo hasta que su condicion deje de cumplirse.
  2. En javascript existen tres tipos de ciclos primitivos: for, while y do while.
  3. Un ciclo infinito sucede cuando la condicion de la que depende la ejecucion del ciclo nunca se vuelve falsa y por lo tanto nunca termina. El problema de esto es que ese ciclo se ejecutara tantas veces como pueda hasta que agote la memoria disponible.
  4. Si.

4.2

let i = 0;

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

i = 10;

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

4.3

let isValidResponse = false;

while (!isValidResponse) {
	const response = prompt("¿Cuanto es 2 + 2?");
	isValidResponse = response === "2";

	if (isValidResponse) {
		alert("Bien hecho!!!");
		break;
	} else {
		alert("Incorrecto! Vuele a intentarlo.");
	}
}

5 - Listas

5.1

  1. Es una estructura de datos capaz de almacenar una coleccion de valores.
  2. Un objeto en javascript es una estructura de datos que relaciona una clave y un valor.
  3. Cuando se desee acceder varias veces a una misma propiedad o valor es preferible utilizar un objeto, y cuando necesitemos almacenar y mostrar varios valores (ej: una lista de paises) es mejor utilizar arrays.
  4. Si, su pueden crear arrays que contengan objetos y objetos que contengan arrays.

5.2

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

5.3

function printAll(arr) { 
	arr.forEach(val => console.log(val)) 
}

5.4

function printAttributes(obj) { 
	Object.entries(obj).forEach(([key, val]) => console.log(`${key}: ${val}`));
}
  • Una variable es una reserva de espacio en memoria que sirve para almacenar información.
  • Declarar: Reservar ese espacio en memoria. Inicializar: Usarlo.
  • Para sumar números nuestra variable tiene que ser un número (int) y lo que hará es una operación lógica matemática Ejem: 1 + 1 = 2. Para concatenar únicamente uniré 2 números como si fueran letras. Ejem: 1 + 1 = 11
var hombreRudo = {
    nombre: "Ngolo",
    apellido: "Kanté",
    username: "@maestroKimpbembe",
    edad: 33,
    email: "[email protected]",
    mayorDeEdad: true,
    dineroAhorrado: 0.05,
    deudas: "no pregunte joven que me pongo a llorar"
}
  1. Ok.

Funciones:

const laFuncion = (name, lastName, nickname) => {
    var completeName = `${name} ${lastName}`;
    return `Nombre: ${name}
    Apellido: ${lastName}
    Me dicen: ${nickname}
    Nombre completo: ${completeName}`
} 

console.log(laFuncion('Giuseppe', 'Ramírez', 'Giu'));

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
       console.log("Tú y alguien más pueden tomar TODOS los cursos de Platzi durante un año");

Variables y operaciones

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

    Una variable es un espacio en memoria en donde se pueden almacenar datos.

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

    Cuando se declara una variable simplemente se utiliza la siguiente sentencia:

    var nombre;
    

    Por otra parte, cuando se inicializa una variable se le asigna un valor a este con la siguiente sentencia:

    nombre = "Brandon";
    

    También podemos declarar e inicializar una variable de la siguiente manera:

    var nombre = "Brandon";
    
  • ¿Cuál es la diferencia entre sumar números y concatenar strings?

    La suma de números es tal y como la conocemos (una adición del tipo: 2+2=4), esto es diferente a concatenar dos cadenas de string, en donde se básicamente dos cadenas de string se fucionan o se juntan formando un nuevo string:

    var nombre = "Brandon";
    var apellido = "Huaman";
    
    console.log(nombre+" "+apellido); // Muestra en consola => "Brandon Huaman"
    
  • ¿Cuál operador me permite sumar o concatenar?

    Este (+)

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

  • Nombre: var nombre / tipo string
  • Apellido: var apellido / tipo string
  • Nombre de usuario en Platzi: var usuario / tipo string
  • Edad: var edad / tipo number
  • Correo electrónico: var correo / tipo string
  • Mayor de edad: var mayorEdad / tipo boolean
  • Dinero ahorrado: var ahorro / tipo number
  • Deudas: var deudas / tipo number

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

var nombre;
var apellido;
var usuario;
var edad;
var ahorro;
var deudas;

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

  • Nombre completo (nombre y apellido)

    var nombre_completo = nombre + " " + apellido;
    
  • Dinero real (dinero ahorrado menos deudas)

    var dineroReal = ahorro - deudas;
    

Funciones

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

  • ¿Qué es una función?

    Una función es un bloque de código el cual ejecuta una actividad en específico.

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

    Se usa una función cuando se va emplear un algoritmo repetidas veces en varias partes del código.

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

    Los parámetros son las variables que se definen en una función, en el siguiente ejemplo los parámetros vendrían a ser las variables num1 y num2.

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

    Si hablamos de argumentos entonces nos referimos a los datos que le pasamos a los parámetros de una función al momento de ser invocada. En el ejemplo que se muestra a continuación los argumentos vendrían a ser los números 5 y 7.

    suma(5, 7);
    

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:

person("Brandon", "Huaman", "jimmy");

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

Condicionales

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

  • ¿Qué es una condicional?

    Es un bloque de código que se ejecuta si la condición establecida es verdadera.

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

    En javascript tenemos los condicionales if-else, switch y ternario.

  • ¿Puedo combinar funciones y condicionales?

    Sep.

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

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

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

tiposDeSuscripcion.forEach((tiposuscrip)=>{
   if(tiposuscrip.plan==tipoSuscripcion){
       console.log(tiposuscrip.mensaje);
       return 0;
   }
});

Ciclos

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

  • ¿Qué es un ciclo?

    Es un bloque de código que se repite cada vez que se cumpla una condición.

  • ¿Qué tipos de ciclos existen en JavaScript?

    En JavaScript tenemos el ciclo while y for.

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

    Un ciclo infinito es aquel que se repite sin parar, puesto que la condición establecida siempre se cumple. Esto sobrecarga el procesador y la memoria de la computadora.

  • ¿Puedo mezclar ciclos y condicionales?

    Si se puede, dependiendo de lo que se quiere programar.

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.

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

var answer=0;
while(answer != 4){
    answer = parseInt(prompt("¿Cuanto es 2+2?"));
    if (answer == 4){
    	alert("Congratulations!");
	}
    else{
        alert("Bad");
    }
}

Listas

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

  • ¿Qué es un array?

    Un array en un conjunto de datos.

  • ¿Qué es un objeto?

    Es una colección de propiedades organizadas por una clave y un valor asignado.

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

    Depende de lo que se quiere lograr con el código.

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

    Si se puede.

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

function print(miarray){
    console.log(miarray[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 print(miarray){
    miarray.forEach((array)=>{
        console.log(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).

// Object.values() - Devuelve un array con todos los valores de un objeto
// Object.keys() - Devuelve un array con todas las llaves o claves de un objeto

function print(miobjeto){
    Object.values(miobjeto).forEach((element)=>{
        console.log(element);
    });
}

Aquí esta mi prueba de JavaScript, si estoy mal en alguna pregunta por favor corríjanme 😅

.
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 una representación de lugar que asigna la computadora en la memoria para guardar un valor.
  • ¿Cuál es la diferencia entre declarar e inicializar una variable?
    R
    = Al declarar una variable solo reservamos ese espacio en memoria, al inicializar una variable le estamos asignando ya un valor.
  • ¿Cuál es la diferencia entre sumar números y concatenar strings?
    R
    = Ambos se hacen con el operador + la diferencia es que para sumar números utilizamos tipos de datos number y para concatenar strings ocupamos tipos de datos strings.
  • ¿Cuál operador me permite sumar o concatenar?
    R
    = El operador +

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

  • nombre, tipo de dato String
  • apellido, tipo de dato String
  • usuarioPlatzi, tipo de dato String
  • edad, tipo de dato number
  • correo, tipo de dato String
  • mayorDeEdad, tipo de dato Boolean
  • dineroAhorrado, tipo de dato number
  • deudas, tipo de dato Boolean

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

let nombre = 'Josue';
let apellido = 'Ramirez';
let usuarioPlatzi = 'Josueram_';
let edad = 19;
let correo = '[email protected]';
let mayorDeEdad = true;
let dineroAhorrado = 20;
let deudas = false;

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

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

Funciones

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

  • ¿Qué es una función?
    R
    = Es un conjunto de instrucciones que realiza una tarea, esta recibe parámetros y devuelve una salida.
  • ¿Cuándo me sirve usar una función en mi código?
    R
    = Cuando la tarea a realizar es muy genérica y necesitas optimizar el código
  • ¿Cuál es la diferencia entre parámetros y argumentos de una función?
    R
    = Un parámetro es el nombre de un argumento que se pasará a la función. Los argumentos son los valores que se pasaran 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";
let completeName = `${name} ${lastname}`;
let nickname = "juandc";

function presentacion(completeName, nickname) {
    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 una condicional?
    R
    = Es un conjunto de instrucciones que se ejecutaran si una condición cumple con lo requerido.
  • ¿Qué tipos de condicionales existen en JavaScript y cuáles son sus diferencias?
    R
    = If, Else If y Switch
  • ¿Puedo combinar funciones y condicionales?
    R
    = Sí

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

header alone would have blocked embedding, it has been ignored.
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");
} else {
    if (tipoDeSuscripcion === "Basic") {
        console.log("Puedes tomar casi todos los cursos de Platzi durante un mes");
    } else {
        if (tipoDeSuscripcion === "Expert") {
            console.log("Puedes tomar casi todos los cursos de Platzi durante un año");
        } else {
            console.log("Tú y alguien más pueden tomar TODOS los cursos de Platzi durante un año");
        }
    }
}

Ciclos

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

  • ¿Qué es un ciclo?
    R
    = Es un conjunto de instrucciones que se repite hasta que una condición se cumple.
  • ¿Qué tipos de ciclos existen en JavaScript?
    R
    = For, While, Do while
  • ¿Qué es un ciclo infinito y por qué es un problema?
    R
    = Es un ciclo que no tiene fin y es un problema ya que consume recursos del navegador.
  • ¿Puedo mezclar ciclos y condicionales?
    R
    = 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 ++;
}

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 resultado = prompt("¿Cuánto es 2 + 2?");
if(resultado == 4) {
    alert("Felicitaciones");
} else {
    alert("Wups, algo no anda bien");
}

Listas

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

  • ¿Qué es un array?
    R
    = Es un tipo de estructuras de datos.
  • ¿Qué es un objeto?
    R
    = Es la representación abstracta de un objeto de la vida real.
  • ¿Cuándo es mejor usar objetos o arrays?
    R
    = Eso depende de la necesidad del problema a resolver.
  • ¿Puedo mezclar arrays con objetos o incluso objetos con arrays?
    R
    = Sí

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

let frutas = ['Mango', 'Sandia' ,'Manzana'];

function primerElemento (frutas) {
    console.log(frutas[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 frutas = ['Mango', 'Sandia' ,'Manzana'];

function infoDeElementos (frutas) {
    for(let i = 0; i < frutas.length; i++) {
        console.log(frutas[i])
    }
}

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

let usuario = {
    nombre: 'Josue',
    pais: 'México',
    edad: 19
}

function infoUsuario (usuario) {
    console.log(usuario.nombre);
    console.log(usuario.pais);
    console.log(usuario.edad);
}

FUNCIONES

1).
Es un conjunto de instrucciones o procedimientos que se deben seguir para llevar acabo una tarea determinada y darle solucion.

Cuando necesitamos realizar alguna operacion que involucre la ejecucion de varias variables

el parametro es lo que recibe la funcion para poder realizarse son aquellas variables que necesita la funcion.
los argumentos son aquellos valores que se le pasan a los parametros

2).

function example(name, lastname, nickname) {

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

Variables y operaciones
1).
Qué es una variable y para qué sirve?
una variable es un espacio en memoria, sirve para guardar datos de diversos tipos como numericos, string, array …

¿Cuál es la diferencia entre declarar e inicializar una variable?
Declararla solo indica que existe y se reserva ese espacio en memoria mas no tiene un valor como tal, y al inicializarla ya le damos valor a ese variable

¿Cuál es la diferencia entre sumar números y concatenar strings?
Al realizar una suma de numeros estas realizando una funcion matematica. concatenar ya seria unir dos variables o mas solo unirlas agruparlas segun sea el caso.

¿Cuál operador me permite sumar o concatenar?
++operador de suma ++
var a = 5;
var b = 6;
resultado = var a + var b;
resultado = 11

concatenar
var a = “HOLA”;
var b = “Como estas”;
resultado = a + b;
resultado = HOLA como estas

2).
Nombre : Cindy
Apellido: Caceres
Nombre de usuario en Platzi: ciindy yurley
Edad : 30 años
Correo electrónico: [email protected]
Mayor de edad: si
Dinero ahorrado: 200.000
Deudas: 0

3).
let name = “Cindy”;
let surname = “Caceres”;
let userNamePlatzi = “cindy yurley”;
let age= 30;
let email = “[email protected]”;
let isAdult = true;
let savedMoney= 200000;
let debts= 0;

4).
let fullName = name + surname;
let realMoney = savedMoney - debts;

Tengo algo de problemas en funciones debo mejorar eso en este curso y arrays y objetos 😃
Variables y operaciones
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 memoria que se reserva para guardar un valor.
• ¿Cuál es la diferencia entre declarar e inicializar una variable? Declara una variable es asignarle un nombre al espacio de memoria que se va a utilizar, inicializar una variable es extraer el nombre de ese espacio y darle un valor.
• ¿Cuál es la diferencia entre sumar números y concatenar strings? Sumar números es realizar la operación de adición, concatenar es unir dos variables para mostrar un solo resultado.
• ¿Cuál operador me permite sumar o concatenar? El operador es +
2️⃣ Determina el nombre y tipo de dato para almacenar en variables la siguiente información:
• Nombre -> string
• Apellido -> string
• Nombre de usuario en Platzi -> string
• Edad -> number
• Correo electrónico -> string
• Mayor de edad -> number
• 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=”Lupita”;
var apellido=”Martinez”;
var nombreusuario=”lupiusuario”;
var edad=30;
var correo=”[email protected]”;
var mayoredad;
if(edad>18){
mayoredad=”Es mayor de edad”;
} else {
Mayoredad=”No es mayor de edad”;
}
Var ahorro=1000;
Var deuda=500;
4️⃣ Calcula e imprime las siguientes variables a partir de las variables del ejemplo anterior:
• Nombre completo (nombre y apellido)
var nombre=”Luis”;
var apellido=”Marti”;
console.log(nombre+” ”+apellido);
• Dinero real (dinero ahorrado menos deudas)
var ahorro=1000;
var deuda=400;
var dineroreal=ahorro + deuda;
Funciones
1️⃣ Responde las siguientes preguntas en la sección de comentarios:
• ¿Qué es una función? Una función es un conjunto de sentencias que es utilizan para generar ciertas acciones con valores antes guardados en las variables.
• ¿Cuándo me sirve usar una función en mi código? Cuando se van a realizar diferente tipo de cálculos u operaciones.
• ¿Cuál es la diferencia entre parámetros y argumentos de una función? Los parámetros son valores que se pasan a las funciones en los paréntesis para operarlos y los argumentos son valores que se asignan a los parámetros cuando se llama 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 completeName(name, lastname, nickname ){
const completeName=name+’ ’+lastname
console.log("Mi nombre es " + completeName + ", pero prefiero que me digas " + nickname + “.”);
}
Condicionales
1️⃣ Responde las siguientes preguntas en la sección de comentarios:
• ¿Qué es una condicional? Son reglas que aplicamos para poder validar si algo es verdadero o falso.
• ¿Qué tipos de condicionales existen en JavaScript y cuáles son sus diferencias?
If, todo lo que va en esta condicional debe ser verdadero si no lo es se desecha.
Else, es como un default donde le decimos que hará si es falso
Else if,
Switch hace lo mismo que el if solo que funciona por medio de casos, valida cada caso.
• ¿Puedo combinar funciones y condicionales? Si
2️⃣ Replica el comportamiento del siguiente código que usa la sentencia switch utilizando if, else y else if:
const tipoDeSuscripcion = “Basic”;

switch (tipoDeSuscripcion) {
case “Free”:
console.log(“Solo puedes tomar los cursos gratis”);
break;
case “Basic”:
console.log( “Puedes tomar casi todos los cursos de Platzi durante un mes”);
break;
case “Expert”:
console.log(“Puedes tomar casi todos los cursos de Platzi durante un año”);
break;
case “ExpertPlus”:
console.log(“Tú y alguien más pueden tomar TODOS los cursos de Platzi durante un año”);
break;
}
------
const tipoDeSuscripcion = “Basic”;
if (tipoDeSuscripcion==”Free”){
console.log( “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( “Puedes tomar casi todos los cursos de Platzi durante un mes”);
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==”Basic”){
console.log( “Puedes tomar casi todos los cursos de Platzi durante un mes”);
}
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. 😏
Ciclos
1️⃣ Responde las siguientes preguntas en la sección de comentarios:
• ¿Qué es un ciclo? Es hacer que una tarea se repita sin ser de forma manual, mientras sea verdad.
• ¿Qué tipos de ciclos existen en JavaScript? For, while
• ¿Qué es un ciclo infinito y por qué es un problema? Un ciclo infinito es aquel que se repite indefinidamente, es problema ya que puede quedarse así horas sin llegar a ningún fin.
• ¿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);
}

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

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

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

3️⃣ Escribe un código en JavaScript que le pregunte a los usuarios cuánto es 2 + 2. Si responden bien, mostramos un mensaje de felicitaciones, pero si responden mal, volvemos a empezar.
Pista: puedes usar la función prompt de JavaScript.
const aNumber = Number(window.prompt("¿Cuánto es 2+2?", “”));
while (aNumber == 4){
console.log (“Felicidades”)
}
let aNumber = prompt(“¿Cuánto es 2+2?”)
while (aNumber == 4){
console.log (“Felicidades”)
}

Variables y operaciones

  • Una variable es una espacio de memoria en cual e puede almacenar cualquier tipo de información, ya sean números, letras, palabras o de cuakquier otro tipo
  • Cuando declaramos una variable estamos haciendo una asignación, es decir dandole algún valor ya en memoria, cuando inicializamos lo que hacemos es sencillamente reservar unicamente un espacio en memoria sin información.
  • Cuando se suman número lo que se haces es literalmente sumarlos, es decir si sumamos 2 + 2 obtendremos 4, en cambio concatenar es unir dos valores, dando el mismo ejemplo si contatenamos “2” + “2” obtendremos como resutado “22”, como se observa une los dos valores y no los suma.
  • El operador que funciona para esta labor el +.

2.3. JS es un lenguaje debilmente tipado, lo que significa que no es necesario indicar el tipo de dato que se usara, él reconoce directamente a que estamos haciendo referencia al momento de incializar o asignar valores a las variables

  • let nombre -> string
  • let apellido -> string
  • let edad -> number
  • let correroElectronico -> string
  • let mayorEdad -> boolean
  • let dineroAhorrado -> number
  • let deudas -> number
let nombre = 'Carlos';
let apellido = 'Bustos';
console.log('Mi nombre es 'nombre + ' ' + 'apellido');
let dineroAhorrado = 5000000;
let deudas = 1500000;
console.log('Tu dinero real  hasta el momento es de $' + (dineroAhorrado - deudad));

Funciones
1.

  • Una función es el metodo encargado de realizar una tarea en especifico, por ejemplo digamos que queremos calcular el valor de una compra, la función se encargara de realizar esa tarea la cantidad de veces que sea llamada.
  • Una función es necesaria utilizarla al momento de realizar una tarea que puede repetirse una x cantidad de ves, con esto evitamos estar reescribiendo código de forma inncesaria
  • Los argumentos corresponden a los valores que se envian a través del llamado de una función, los parametros son las “vaiables” que almacenaran esos valores en la función, los que reciben los valores.

/*inicio del programa */

const name = 'Jun David' 
const lastname = 'Castro Gallego'
const nickname = 'juandc'

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


writeName(name, lasname, nickname);

Condicionales
1.

  • Un condicional es una bifurcación entre un grupo de instrucciones que pueden o n ejecutarse dependiendo del resultado de la condición, por ejemplo:
    condición: ¿me baño?
    Si se cumple la condición -> Instrucción 1: Voy a trabajar
    Si no se cumple la condición -> Instrucción 2: No voy a trabajar
  • Son tres tipos diferentes
  1. El condicional if … else que puede ser anidado y va evaluando condición por condición.
  2. El condicional con switch case el cual sencillamente realizar una instrucción cuando un valor o una opción se cumpla sin necesidad de evaluar condicion por condición como con el if …else
  3. El operador ternario, el cual funciona tal cual como la función if de excel, se evalua una condicion si se cumple hace algo sino hace otra cosa, es más sencilla de realizar y ocupa menos codigo a comparación del if … else.
  • si, se puede hacer, yo puedo tener una función que me calcule la entrada a un cine dependiendo la edad de la personas, si es discapacitado, si va solo o acompañado, y todo eso lo puedo combinar en funciones y condiciones.
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");
}

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 se va a ejecutar cierto número de veces, esto depede de como se lo condicione.
  • Existe el ciclo for, foreach, while y do While.
  • Un ciclo infinito corresponde a una serie de instrucciones las cuales nunca van a terminar de ejecutarse, esto en un problema porque nunca se ejecutara el resto de código que exista y llegara un punto en el que la memoria se agote y este deje de funcionar.
  • Si se pueden mezlar como se deseo ciclos y condiciones, digamos que estamos evaluando si los estudiantes de un aula pasaron o no la materia de programación, dentro de un ciclo podría incluir una condicón que me indique si cumple con los criterios minimos para aprobar o no, la materia.
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 solitarRespuesta(){
    let resultado = 0; 
    while(resultado != 4){
        resultado = prompt('¿Cuanto es 2 + 2');
    }
    alert('Felitaciones has respondido bien');
    
}

solitarRespuesta();

Listas
1.

  • Un array es un tipo de lista que contiene dentro varios valores de igual o distinto tipo.
  • Un objeto es un “elemento” que contiene diferentes propiedades.
  • Bueno depende de lo que se quiera hacer, un array contiene en si una serie de elemtos con los que puedo hacer operaciones un objeto puede contener en si una gran cantidad de propiedades (funciones, arrays, etc), así que si unicamente se quiere guardar x cantidad de datos se puede usar un array, si se quiere acceder a elementos funciones y diferentes propiedades se usa un objeto.
  • si, se puede hacer, como lo mencionaba anteriormente, es posible hacerlo.
const recibeArray = (array) => {
  console.log(array[0]);
};
let frutas = ['Pera', 'Manzana', 'Sandia'];
const imprimeFrutas = (array) => {
  array.forEach((elem) => {
    console.log(elem);
  });
};

imprimeFrutas(frutas);
let persona = {
  nombre: 'Oscar',
  apellido: 'Aguilar',
  edad: 21
}
const imprimeDatosPersona = (objeto) => {
  Object.values(objeto).forEach((elem) => {
    console.log(elem);
  });
};

imprimeDatosPersona(persona);

Me costo jaja pero me ayudo a repasar todo

// 
// * ----------------------- Variables y operaciones
// 
/* 
! I. Parte 1
1. Es una referencia a un espacio de memoria, sirve para almacenar tipos de datos
2. Cuando se declara una variable se reserva el espacio de memoria 
    Cuando se inicializa, es cuando se le da el valor a la variable 
3. La suma es una operación lógica 
    Concatenar, une dos cadenas, no existe una interacción 
4. +
! II. Parte 2
Nombre -> String 
Apellido -> String
Usuario en Platzi -> String
Edad -> number
Corroe electrónico -> String
Mayor de edad -> Boolean
Dinero ahorrado -> number 
Deudas -> number 
*/
//! III. Parte 3
let persona = {
    nombre: "Uriel",
    apellido: "Sanjuán",
    user: "Rancorsz",
    edad: 33,
    email: '[email protected]',
    mayorEdad: true,
    dineroAhorrado: 1000,
    deudas: 100
}
//! IV Parte 4
console.log(`Nombre: ${persona.nombre}`);
console.log(`Dinero real: $${persona.dineroAhorrado - persona.deudas}`);

// 
// * ----------------------- Funciones
// 

// ! I. Parte 1
/*
    1. Las funciones son secciones de codigo que encapsulan operaciones, y puedan ser llamadas en otras partes del programa, entre sus ventajas pueden optimizar las líneas del cópdigo con tareas repetitivas
    2. Cuando las lineas se repiten constantemente, se puede generar una función para optimizar el código
    3. El parámetro define la caja, el argumento el contenido, es decir el parámetro define que una función esperará un valor, mientras que el argumento es la representación del parámetro
*/
// ! Parte 2
// Cambiar a 
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 + ".");
// Función

function saludo(nombre, apellido, alias) {
    return console.log(`Mi nombre es: ${nombre} ${apellido} pero prefiero que me digas ${alias}.`);
}
// Ejemplo
saludo(name, lastname, nickname);


// 
// * ----------------------- Condicionales
// 

// ! Parte 1
//  1. Son estructuras de control, que permiten validar expresiones en el código, se utilizan con los operadores lógicos AND (&&) OR (||) NOT (!)
//  2. IF, ELSEIF, SWITCH, operador ternario
//     if permite validar si una función es cumplida y en base a la respuesta tomar un camino u otro(else)
//     else if Si se requieren mas validaciones se pueden anidar (unir) diferentes validaciones en el código
//     switch, si los escenarios no requieren estrictamente validación, se utiliza este condicional, permite declarar escenarios que sean necesarios
//     Operador Ternario, es equivalente a un else if, sin embargo se limita a validar la condición y tener los dos posibles resultados

//! Parte 2
// Original
const tipoDeSuscripcion = "Basic";

switch (tipoDeSuscripcion) {
    case "Free":
        console.log("Solo puedes tomar los cursos gratis");
        break;
    case "Basic":
        console.log("Puedes tomar casi todos los cursos de Platzi durante un mes");
        break;
    case "Expert":
        console.log("Puedes tomar casi todos los cursos de Platzi durante un año");
        break;
    case "ExpertPlus":
        console.log("Tú y alguien más pueden tomar TODOS los cursos de Platzi durante un año");
        break;
}
// con elseif
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("Suscripción no reconocida");
}
// 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");

// Desafio
const tipoDeSuscripcion = "Free";
let subscripcion = ['Free','Basic','Expert','ExpertPlus']
let contenido = ['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 resultado = subscripcion.indexOf(tipoDeSuscripcion) 
//! resultado ? console.log(contenido[subscripcion.indexOf(tipoDeSuscripcion)]) : console.log("Sin resultado"); Intento con ternario

if (resultado != -1) {
    console.log(contenido[subscripcion.indexOf(tipoDeSuscripcion)])
} else {
    console.log("Sin resultado");
}


// 
// * ----------------------- Ciclos
// 


// ! Parte 1
// 1. Un ciclo es una estructura de control, que valida una condición y esta condición continua hasta que se cumpla terminando con el ciclo
// 2. for, foreach, while, dowhile
// 3. Es un bucle donde la condición siempre se va a cumplir, por lo tanto el programa se quedará "bloqueado" sin que pueda continuar
// 4. Si se pueden mezclar, por eso son conocidos como estrutcuras de control

// ! Parte 2
// Original
for (let i = 0; i < 5; i++) {
    console.log("El valor de i es: " + i);
}
// while
let i =0
while(i < 5) {
    console.log(`El valor de i es: ${i}`);
    i++;
}

// Original 2
for (let i = 10; i >= 2; i--) {
    console.log("El valor de i es: " + i);
}
// while
let i=10;
while (i>=2) {
    console.log(`El valor de i es: ${i}`);
    i--;
}
// ! Parte 3
// Ejercicio
let pregunta=0;

do {
    pregunta = Number(window.prompt('Cuanto es 2 + 2:', 0));
    if (pregunta === 4) {
        console.log('Correcto, felicidades');
    }
}while(pregunta != 4)

// 
// * ----------------------- Listas
// 
// ! Parte 1 
/*
1. Un arreglo es un conjunto de datos
2. Un objeto es un conjunto de datos con propiedades y valores 
3. Arreglos para un conjunto de datos quie no requieran una descripción, los objetos tienen una propiedad y el valor de la propiedad, como la llave o identificador y el valor
4. Si para hacer una lista de objetos o dentro de un objeto una lista se pueden combinar
*/

// ! Parte 2
// Función recibir arreglos
let arreglos = [2,3,1,2,3];

let miImprime = (arreglos) => console.log(arreglos[1]);

function fun(arr) {
    console.log(arr[0]);
}
// ! Parte 3
// Funcion que valla elemento por elemento

function fun(miArreglo) {
    miArreglo.forEach( i => console.log(i));
}
// ! Parte 4

let articulos = [
    {nombre: "Bici", costo: 3000},
    {nombre: "Tv", costo: 2500},
    {nombre: "Libro", costo: 320},
    {nombre: "Celular", costo: 10000},
    {nombre: "Laptop", costo: 20000},
    {nombre: "Teclado", costo: 200},
    {nombre: "Audifonos", costo: 1700}
];

function objetos(miObjeto) {
    miObjeto.forEach( i => console.log(i));
}

Respuestas a los cuestionarios.

¿Qué es una variable y para qué sirve?
R. Una variable es un espacio en memoria que nos sirve para guardar datos.

¿Cuál es la diferencia entre declarar e inicializar una variable?
R. Declarar es reservar un espacio en memoria. Inicializar es guardar datos en ese espacio.

¿Cuál es la diferencia entre sumar números y concatenar strings?
R. Sumar números es una operación matemática y concatener strings es unir los dos strings.

¿Cuál operador me permite sumar o concatenar?
R. El operador es: +

¿Qué es una función?
R. Una función es un bloque de código reutilizable que realiza instrucciones, puede recibir parametros y regresar un resultado

¿Cuándo me sirve usar una función en mi código?
R. Cuando son instrucciones que se repiten.

¿Cuál es la diferencia entre parámetros y argumentos de una función?
R. Son lo mismo

¿Qué es una condicional?
R. Un condicional es una instrucción que se ejecuta o no dependiendo de una condición.

¿Qué tipos de condicionales existen en JavaScript y cuáles son sus diferencias?
if nos permite evaluar una condicion.
switch nos permite evaluar multiples casos de una condicion

¿Puedo combinar funciones y condicionales?
R. si

¿Qué es un ciclo?
R. Un ciclo es una secuencia de instrucciones de código que se ejecuta repetidas veces hasta que cumple una condicion.

¿Qué tipos de ciclos existen en JavaScript?
R. for, for in, for of, while

¿Qué es un ciclo infinito y por qué es un problema?
R. Es un ciclo que nunca termina y es un problema por que puede consumir todos los recursos de nuestra computadora.

¿Puedo mezclar ciclos y condicionales?
R. Si

¿Qué es un array?
R. Un array es un objeto que permite almacenar un conjunto de datos.

¿Qué es un objeto?
R. Un objeto es una colección de propiedades y metodos.

¿Cuándo es mejor usar objetos o arrays?
R. - Usar objetos cuando necesitamos tipos de datos con varias propiedades y metodos.

  • Usar array cuando necesitamos una colección de datos u objetos.

¿Puedo mezclar arrays con objetos o incluso objetos con arrays?
R. Si

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

  • ¿Qué es una variable y para qué sirve?
    • Una variable es un dato que va a reservar una parte de la memoría, para almacenar información como números, texto y otras cosas.
  • ¿Cuál es la diferencia entre declarar e inicializar una variable?
    • Declarar una variable es asignarle un espacio de memoria a la variable para poder alojar los datos. Ej: let nombre
    • Inicializar una variable es asignarle un valor a la misma Ej: var nombre = 'Santiago'
  • ¿Cuál es la diferencia entre sumar números y concatenar strings?
    • El tipo de dato que se estan operando, si un número se va a sumar con otro Javascript reconoce el tipo de dato que está operando Ej: 1 + 2 = 3 y '1' + '2' = '12' ó 'Hola ' + 'mundo' = 'Hola mundo' Cuándo un dato tiene comillas '' Javascript lo reconoce como un string , o sea, los elementos los va a interpretar como letras y no va a hacer operaciones aritméticas.
  • ¿Cuál operador me permite sumar o concatenar?
    • El operador suma +

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

  • Nombre
    • const nombre = 'Santiago' //tipo de dato string
  • Apellido
    • const apellido= 'Bastidas' //tipo de dato string
  • Nombre de usuario en Platzi
    • let userName= 'santiagobr' //tipo de dato string
  • Edad
    • letedad= 19 //tipo de dato number
  • Correo electrónico
  • Mayor de edad
    • letmayorDeEdad=true //tipo de dato boolean
  • Dinero ahorrado
    • let dineroAhorrado = 100000 //tipo de dato number
  • Deudas
    • let Deudas = 0//tipo de dato number

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

const Person = {
	nombre: 'Santiago',
	apellido: 'Bastidas',
	userName: 'santiagobr',
	edad: 19
	email: '[email protected]'
	mayorDeEdad: true
	dineroAhorrado: 100000
	deudas: 0
}

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

  • Nombre completo (nombre y apellido)

    const Person = {
    	Name: 'Santiago',
    	LastName: 'Bastidas',
    	userName: 'santiagobr',
    	age: 19,
    	email: '[email protected]',
    	adult: true,
    	saveMoney: 100000,
    	debts: 100
    }
    
    const printName = (person) => {
    	({ Name, LastName } = person)
    	console.log(`Hola! mi nombre es ${Name} ${LastName}`)
    }
    
  • Dinero real (dinero ahorrado menos deudas)

    const realMoney = (person) => {
    	({saveMoney, debts} = person)
    	let money = saveMoney - debts
    	console.log(`Tu dinero real es: ${money}`)
    }
    

Funciones

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

  • ¿Qué es una función?
    • Es un bloque de código que guarda varias líneas de código que van a repetirse a lo largo del código, sin tener que escribir varias veces lo mismo.
  • ¿Cuándo me sirve usar una función en mi código?
    • Cuándo tienes código que va a repetirse varias veces a lo largo del archivo o proyecto.
  • ¿Cuál es la diferencia entre parámetros y argumentos de una función?
    • Los parámetros son las variables que van a ser declaradas en la función y los argumentos son el valor que se pone al llamar una función Ej:

      function Saludar(mensaje) {
      	console.log(mensaje)
      }
      
      Saludar('Hola, cómo vas?')
      
      //Salida: Hola, cómo vas?
      

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

//Función

var personalPresentation = (name, lastName, nickname) => {
	const completeName = `${name} ${lastName}`
	
	message = `Mi nombre es ${completeName}, pero prefiero que me digas ${nickname}`
    return console.log(message)
}

personalPresentation('Santiago', 'Bastidas', 'santiagobr')
//Salida: Mi nombre es Santiago Bastidas, pero prefiero que me digas santiagobr

Condicionales

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

  • ¿Qué es una condicional?

    • Es una parte de código que se ejecuta si se cumple una condición especificada, Ej: Si tienes más de 18 años, eres mayor de edad. Esto en código se diría de la siguiente forma:

      if (yourAge > 18) {
      	message = 'Eres mayor de edad'
      }
      
  • ¿Qué tipos de condicionales existen en JavaScript y cuáles son sus diferencias?

    • La primera es la condición if , esta ejecuta el bloque de código si se cumple la sentencia declarada.

    • La segunda es la condición switch , esta ejecuta el bloque del código si el valor de una variable base tiene determinado valor, Ej:

      
      switch (age)
      	case 17:
      		message = 'Aún eres menor de edad, en un año ya seras mayor de edad'
      		break
      	case 18:
      		message = 'Recién eres mayor de edad'
      		break
      	case 19:
      		message = 'Tienes 1 año de ser mayor de edad'
      		break
      
  • ¿Puedo combinar funciones y condicionales?

    • Si, dentro de una función pueden haber distintas condiciones y dentro de una condición puede llamarse a funciones.

2️⃣ Replica el comportamiento del siguiente código que usa la sentencia switch utilizando ifelse 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, else and else if
let tipoDeSuscripcion 
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("Solo puedes tomar los cursos gratis");
}

3️⃣ Replica el comportamiento de tu condicional anterior con ifelse 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 y un solo condicional. 😏

let tieneSuscripcion = true

if (tieneSuscripcion) {
	let 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")
	}
}
console.log('Suscribete a Platzi!')

Ciclos

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

  • ¿Qué es un ciclo?
    • Un ciclo es un bloque de código que va a ser ejecutado de forma repetida hasta que lo dicte la sentencia declarada.
  • ¿Qué tipos de ciclos existen en JavaScript?
    • For: se repite la cantidad de veces que el desarrollador ordene.
    • Foreach: es capaz de recorrer una estructura de datos como un Array, y pasa por cada uno de los elementos del mismo
    • While: se repite ‘mientras’ se cumpla una condición.
    • DoWhile: Se ejecuta una vez y luego mira si la condición se cumple o no.
  • ¿Qué es un ciclo infinito y por qué es un problema?
    • Son ciclos que no están controlados por una sentencia o una condición correcta y puede ocacionar una falla en la ejecución.
  • ¿Puedo mezclar ciclos y condicionales?
    • Si se puede, sirve para establecer un control en los ciclos.

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

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

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

let i = 0
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 userAnswer = prompt('Cuánto es 2 + 2')

function sum (num1, num2) {
	return num1 + num2
}

if (userAnswer == sum(2,2)) {
	console.log('Correcto!')
} else {
	console.log('Incorrecto!')
}

Listas

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

  • ¿Qué es un array?
    • Es una estructura de datos que permite almacenar distintos datos de forma organizada.
  • ¿Qué es un objeto?
    • Es un tipo de dato que puede almacenar distintos valores también llamados atibutos para poder organizarlos de forma adecuada y poder manipularlos a lo largo del código, con prototipos también pueden contener funciones especificas
  • ¿Cuándo es mejor usar objetos o arrays?
    • Arrays: Cuando requiera una lista de un tipo de dato especifico prefiero utlizar los arreglos.
    • Objetos: Cuando necesite utilizar la metodología POO y poder agregar atributos y métodos en una variable.
  • ¿Puedo mezclar arrays con objetos o incluso objetos con arrays?
    • Si se puede, en un arreglo se puede contener objetos y viceversa.

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

const testArray = [1, 2, 3, 4, 5]

const printArrays = (array) => {
	console.log(array[0], 'Este es el primer elemento del array')
}

printArrays(testArray)
// Salida: 1 Este es el primer elemento del 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).

const printArrays2 = ['Santi', 'Vale', 'Val', 'Nico', 'Sebas', 'Nikis', 'Pipe', 'Wendy']

const printArrayItems = array => {
	array.forEach(element => {
		console.log(element)
	});
}

printArrayItems(printArrays2)

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 testObject = {
	Name: 'Santiago',
	LastName: 'Bastidas',
	Age: 19,
}

const printItemsObjects = object => {
	console.log(`(1) ${object.Name} \n(2) ${object.LastName} \n(3) ${object.Age}`)
}

printItemsObjects(testObject)
var tipoDeSuscripcion = "ExpertPlus";

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

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

saludar("Andres", "Perez", "@anperz");

VARIABLES Y OPERACIONES
1.-
¿Qué es una variable y para qué sirve?
Una variable es un espacio que reservamos en memoria, sirve para declarar o inicializar un valor.

¿Cuál es la diferencia entre declarar e inicializar una variable?
Cuando declaramos una variable no le asignamos su valor, en cambio al inicializarla si lo hacemos.

¿Cuál es la diferencia entre sumar números y concatenar strings?
Cuando sumamos números realizamos una operación, al concatenar strings juntamos estos dos.

¿Cuál operador me permite sumar o concatenar?
El operador: “+”.
2.-
Nombre: string.
Apellido: string.
Nombre de usuario en Platzi: string.
Edad: number.
Correo electrónico: string.
Mayor de edad: string.
Dinero ahorrado: number.
Deudas: number.
3.-

4.-
Nombre completo:

Dinero real:

FUNCIONES
1.-
¿Qué es una función?
Un conjunto de instrucciones que realiza una tarea.

¿Cuándo me sirve usar una función en mi código?
Cuando necesitemos realizar una tarea con procedimiento.

¿Cuál es la diferencia entre parámetros y argumentos de una función?
Un parámetro tiene un nombre y un argumento tiene un valor.

2.-

CONDICIONALES
1.-
¿Qué es una condicional?
Es una instrucción que se realiza se según sea verdadero o falso.

¿Qué tipos de condicionales existen en JavaScript y cuáles son sus diferencias?
Existe: if, else, else if, switch. En el caso de if else se usa para un caso verdadero y uno falso, para else if se pueden añadir más casos como en el switch pero sin tener que escribir else if a cada rato.

2.-

3.-

CICLOS
1.-
¿Qué es un ciclo?
Un procedimiento que se repite varias veces.

¿Qué tipos de ciclos existen en JavaScript?
For, for of, while.

¿Qué es un ciclo infinito y por qué es un problema?
Es cuando se repite interminables veces, sucede cuando no definimos el límite. Es un problema porque puede causar problemas en nuestra computadora.

¿Puedo mezclar ciclos y condicionales?
Sí creo.

2.-

3.-

LISTAS
1.-
¿Qué es un array?
Es un tipo de dato estructurado que permite almacenar datos.
¿Qué es un objeto?
Es una colección de propiedades.
¿Cuándo es mejor usar objetos o arrays?
Es mejor usar objetos cuando tenemos propiedades y vayamos a usarlas varias veces.
¿Puedo mezclar arrays con objetos o incluso objetos con arrays?
Sí.
2.- 3.- 4.- Me faltó tiempo :,v

Variables y Operaciones

  • Es una representacion de un segmento de memoria RAM que sirve para guadar datos*
  • Declarar variable es asignarle un nombre a un segmento de memoria RAM pero sin un valor. Inicializar variable es asignarle un valor a la variable previamente declarada.
  • Sumar numeros es una operación matemática que tiene un resultado y concatenar strings es unir 2 o más strins para que formen un texto de más de 2 palabras.
  • El operador para sumar o concatenar es +

Tipos de datos

  • String
  • String
  • String
  • Number
  • String
  • Boolean
  • Number
  • Number

Traduciendo a código

var nombre = "String";
var apellido = "String";
var usuarioPlatzi = "String";
var edad = 0000;
var correo = "String";
var mayorEdad = true/false;
var ahorros = 0000;
var deudas = 0000;

var persona = {
    nombre: "String",
    apellido: "String",
    usuarioPlatzi: "String",
    edad: 0000,
    correo: "String",
    mayorEdad: true/false,
    ahorros: 0000,
    deudas: 0000,
}

function persona() {
    this.nombre = "String";
    this.apellido = "String";
    this.usuarioPlatzi = "String";
    this.edad = 0000;
    this.correo = "String";
    this.mayorEdad = true/false;
    this.ahorros = 0000;
    this.deudas = 0000;
}

Calculando e imprimiendo ejemplo anterior

var nombre = "Carlos";
var apellido = "Peña";
var ahorros = 15000;
var deudas = 7500;

console.log(nombre + apellido, ahorros - deudas);

Funciones

  • Un segmento de codigo reutilizable que ejecuta una tarea especifica a partir de parámetros.
  • Una funcion sirve cuando se va a repetir multiples veces una misma tarea.
  • El parámetro es el nombre de la variable de la cual se va a tomar un valor o un dato que aun no se tiene para que la funcion haga su tarea, un argumento es el valor o dato crudo, sin nombre y que nunca va a cambiar.

Conversión de código

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

var resultado = miNombre("nombres", "apellidos", "Oneon Wezzex");

Condicionales

  • Es un proceso de validación que indica si se cumple o no y permite o no la ejecución de un código.
  • Existe el if y else, if indica que si se cumple la condicion, se ejecuta el código que tiene dentro, si no se cumple la condición, se ejecuta el código dentro de else (las condiciones son dadas por los operadores lógicos y de comparación).
  • Las funciones puede contener condicionales dentro.

Replica del código con if, else e if else

var 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("Qué tipo de suscripción tienes");
}

Solo con if

var 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

var susUsuario = "Basic";

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

var resultado = tipoDeSuscripcion.find(function(busqueda){
    return busqueda.suscripcion === susUsuario;
});

console.log(resultado.mensaje);

Ciclos

  • Un ciclo es una tarea que se ejecuta multiples veces, en secuencia hasta que se cumpla una condicion que la detenga.
  • Existe el ciclo for que ejecuta una condicion hasta que esta se termina, igual que el ciclo while ejecuta el codigo mientras sea true y se detiene cuando llega a false.
  • Un ciclo infinito es cuando la condicion no tiene un momento en que pueda dejar de cumplirse y es un problema porque satura la memoria de nuestra computadora, haciendo que deje de funcionar hasta reiniciarla.
  • Sí puede haber condicionales dentro de un ciclo for o while.

Cuanto es 2 + 2

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

if (pregunta != 4) {
    console.log("Error, piensa bien tu respuesta");
} else {
    console.log("¡Felicidades!");
}

No supe cómo hacer que se repitiera la pregunta 😥

Listas

  • Un array es una variable que contiene multiples valores o datos en forma de lista.
  • Un objeto es una variable que contiene una lista de valores o datos identificados por un nombre.
  • Es preferible usar un array cuando se tiene una lista de datos o valores muy concretos del mismo tipo (strings o numeros) y los objetos es una lista de propiedades con nombres que pueden representar con código, un objeto fisico.
  • Se puede crear array que contenga objetos y los objetos pueden tener array dentro de sus propiedades.

Funcion imprimir primer valor de array

var numeritos = [9999, 8888, 7777, 6666];

function primerValor(parametroNumero) {
    console.log(parametroNumero[0]);
}

primerValor(numeritos);

Funcion todos los valores del array uno por uno

var numeritos = [9999, 8888, 7777, 6666, 5555, 4444, 3333, 2222, 1111, 0000];

function todosLosValores(numeros) {
    for (var valores of numeros) {
        console.log(valores);
    }
}

todosLosValores(numeritos);

Función que imprime cada una de las propiedades de un objeto

var persona = {
    nombre: "Carlos",
    apellido: "Ramirez",
    altura: 172,
    peso: 75,
    edad: 28,
    estadoCivil: "Soltero",
    pais: "Mexico"
};

function imprimirObjeto(propiedades) {
    for (var i = 0; i <= 6; i++) { 
        var idObjeto = Object.values(propiedades);
        console.log(idObjeto[i]);
    }
}

imprimirObjeto(persona);

Espero estar bien, me tomó días completar la prueba pero aquí dejo mis resultados, no tenía experiencia previa con JS a parte de curso básico y programación básica.

const tipoDeSuscripcion = "Expert Plus";
let plans = ["Free", "Basic", "Expert", "Expert Plus"]
let details = ["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 plan
for (let i = 0; i <= 3; i++) {
    if (plans[i] == tipoDeSuscripcion) {
        plan = details[i]
    }
}
console.log(plan);

Muy buenos los ejercicios, me di cuenta que he aprendido bastante.
Variables y Operaciones
• ¿Qué es una variable y para qué sirve?
Una variable es donde se guarda (y se recupera) datos que se utilizan en un programa.
Cuando escribimos código, las variables se utilizan para:
• Guardar datos y estados.
• Asignar valores de una variable a otra.
• Representar valores dentro de una expresión matemática.
• Mostrar valores por pantalla.
Todas las variables deben ser de un tipo de datos, ya sea un dato de tipo primitivo, como un número o texto, o un dato abstracto, como un objeto que se ha creado.
** • ¿Cuál es la diferencia entre declarar e inicializar una variable?**
Se declara con las palabras reservadas var, let, cons, dependiendo del contexto y se inicializa cuando se le agrega un valor.
** • ¿Cuál es la diferencia entre sumar números y concatenar strings?**
Los números al sumarlos no van dentro de comillas, y al concatenar string el string va dentro de comillas y el signo de suma va fuera de cada palabra con comillas.
** • ¿Cuál operador me permite sumar o concatenar?**
El signo más +
Exercises

const name = 'Adriana'; //string
const lastName = 'Sánchez'; //string
let userName = 'Raynelll'; //string
let age = 45; //number
let email = '[email protected]';
let esMayorDeEdad = 18; //boolean
let saveMoney = 1000; //number
let debt = 5000; //number

let fullName = `${name} ${lastName}`;
console.log('My name is ' + fullName);

let moneyInBank = 25000;
let total = `${moneyInBank}-${debt}`;

console.log('I have save $25000 but I debt $5000 then I will stay in the bank $' + (moneyInBank - debt))

const name2 = "Juan David";
const lastName2 = 'Castro Gallego';
const completeName = name2 + lastName2;
const nickName = 'juandc';

Funciones
• ¿Qué es una función?
Conjunto de sentencias que podemos utilizar para generar ciertas acciones con los valores ya guardadas en las variables. Procedimientos, tareas, para hacer ciertos pasos o cálculos utilizando sus valores, para poder generar o validar otra cosa.
** • ¿Cuándo me sirve usar una función en mi código?**
En cualquier lenguaje de programación, el código necesita realizar decisiones y llevar a cabo diferentes acciones acordes dependiendo de distintas entradas. Los seres humanos (y otros animales) toman decisiones todo el tiempo que afectan sus vidas, desde la más insignificante ("¿Debería comer una galleta o dos?") hasta la más grande (¿Debería quedarme en mi país y trabajar en la granja de mi padre, o debería mudarme a Estados Unidos y estudiar astrofísica?).
** • ¿Cuál es la diferencia entre parámetros y argumentos de una función?**
Un argumento representa el valor que se pasa a un parámetro de procedimiento cuando se llama al procedimiento. 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.
Excersise

function mySelf (completeName) {
    return 'Mi nombre es ' + completeName + ', pero prefiero que me digas ' + nickName + '.'
}
console.log(mySelf(name2 + ' ' + lastName2 ));

Condicionales
** • ¿Qué es una condicional?**
Nos ayudan a construir el flujo de nuestras tareas. Nos permite darles un sentido lógico, condicionarlos y recorrerlos.
** • ¿Qué tipos de condicionales existen en JavaScript y cuáles son sus diferencias?**
** If/Else - Switch - While - Do While – For**
If/Else: Nos permite tranajar bajo una condición es decir, si algo sucede ejecutamos un bloque de código, si no se ejecutará otro bloque de c;odigo, lo que quiere decir, una condición o un requerimiento que le hayamos puesto a nuestra aplicación, vamos a permitir que haya paso a una nueva funcionalidad que se ejecute algo, pero en caso que ese requerimiento no se haya podido cumplir, entonces va a funcionar otra parte de nuesto código y se va a plaicar otra tarea que le hayamos definido.
Switch: Nos permite evaluar un valor y pasarlos por diferentes casos de comparación hasta que uno de esos casos coincida y se ejecute un bloque de código sobre el cuál nuestro algoritmo debe pasar para que sea efectivo y realice la actividad que estamos esperando que haga.
Ciclo For, Do While, While: Es una estructura de control que ejecuta un bloque de instrucciones de manera repetida. Esto quiere decir que podemos tener una condición, un requerimiento de nuestro algorittmo que necesite ejecutarse varias veces o validar que algo suceda para que termine su ejecución y poder continuar con el hilo de trabajo normal de la aplicación.
• ¿Puedo combinar funciones y condicionales?
Sí se puede, lo hacen a menudo.
Exercises

function tipoDeSuscripcion(formFill){
    let result;
    if(formFill === 'Free'){
        result = 'Solo puedes tomar los cursos gratis';
    }else if (formFill === 'Basic'){
        result = 'Puedes tomar casi todos los cursos de Platzi durante un mes';
    }else if (formFill === 'Expert'){
        result = 'Puedes tomar TODOS los cursos de Platzi durante un año';
    }else if (formFill === 'ExpertPlus'){
        result = 'Tú y alguien más pueden tomar TODOS los cursos de Platzi durante un año';
    }else {
        alert('Debes tomar alguna de las Suscripciones de Platzi para poder ingresar');
    };
}      
tipoDeSuscripcion();

function tipoDeSuscripcion2(formFill){
    if (formFill === 'Free') console.log('Solo puedes tomar los cursos gratis')
    if (formFill === 'Basic') console.log('Puedes tomar casi todos los cursos de Platzi durante un mes') 
    if (formFill === 'Expert') console.log('Puedes tomar TODOS los cursos de Platzi durante un año') 
    if (formFill === 'ExpertPlus') console.log('Tú y alguien más pueden tomar TODOS los cursos de Platzi durante un año') 
    if (formFill === '') console.log('Debes tomar alguna de las Suscripciones de Platzi para poder ingresar')    
}

tipoDeSuscripcion2('Free');
tipoDeSuscripcion2('Basic');
tipoDeSuscripcion2('Expert');
tipoDeSuscripcion2('ExpertPlus');
tipoDeSuscripcion2('');

let tipoDeSuscripcion3 = ['Free','Basic','Expert','ExpertPlus'];
let accountant;

for( accountant=0; accountant < 4; accountant++){
    console.log('Tu suscripción es [' + tipoDeSuscripcion3[accountant] + '] ');
} if (tipoDeSuscripcion3 === 'Free' || tipoDeSuscripcion3 === 'Basic' || tipoDeSuscripcion3 === 'Expert' || tipoDeSuscripcion3 === 'ExpertPlus'){
    document.write('Bienvenido a Platzi');
}else {
    document.write('Debes tomar un tipo de Suscripción');
}

Ciclos
• ¿Qué es un ciclo?
Un bucle o ciclo, en programación, es una secuencia de instrucciones de código que se ejecuta repetidas veces, hasta que la condición asignada a dicho bucle deja de cumplirse.
• ¿Qué tipos de ciclos existen en JavaScript?
Los tres bucles más utilizados en programación son el bucle while, el bucle for y el bucle 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.
Por definición un bucle debe contener condiciones que establezcan cuándo empieza y cuándo acaba, de manera que, mientras las condiciones se cumplan, ejecute una secuencia de código de manera repetitiva. En el caso de ciclo infinito, como la condición de finalización no se alcanza, el bucle sigue ejecutando el segmento de código indefinidamente.
• ¿Puedo mezclar ciclos y condicionales?
Si se puede
Exercise

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

 let number = prompt('¿Cuánto es 2 + 2?');
 if ( number === '4'){
     alert('Felicidades adivinaste el acertijo');
 }else{
     alert('Intenta de nuevo, respuesta incorrecta');
 }

Listas
• ¿Qué es un array?
Es una estructura o lista de datos, tipo objeto, ya que es un valor que guardará más valores adentro, pueden ser numeros, string, objetos, pueden ser más arrays dentro de otros arrays.
Sintáxis de un array:
let fruits = [];
• ¿Qué es un objeto?
Los objetos son listas de parejas nombre / valor. El nombre y el valor están separados por dos puntos : y las parejas están separadas por comas. Los objetos se escriben entre llaves { } y los nombres de las parejas se escriben siempre entre comillas dobles.
• ¿Cuándo es mejor usar objetos o arrays?
Los arrays son la única forma que tenemos para enumerar cosas - independientemente de la aplicación con la que estés trabajando, siempre tendrás cosas que enumerar. Por ejemplo: lista de estudiantes, lista de artistas, lista de transacciones … ¡cualquier cosa!
Este tipo de datos hace muchas más cosas que los otros. Las listas son la única forma de almacenar más de un tipo de datos en la misma variable.
Cada array tiene los mismos conceptos básicos:
The items: Son los valores reales dentro de cada posición del array.
The length: es el tamaño o longitud del array (cuántos elementos tiene el array).
Index: es la posición del elemento.
• ¿Puedo mezclar arrays con objetos o incluso objetos con arrays?
Si de hecho la mayoría de las veces los arrays llevan dentro muchos objetos.
Exercise

const arr = ['Gratis', 'Basic', 'Expert', 'ExpertPlus'];
 arr.forEach((first) => console.log(arr[2])); //Devuelve 'Expert'
 arr.forEach((first, i) => console.log(first, i)); //Devuelve 'Gratis' 0, 'Basic' 1, 'Expert' 2, 'ExpertPlus' 3

const Inscription = {
    plan: 'Free', 
    plan1: 'Basic', 
    plan2: 'Expert', 
    plan3: 'ExpertPlus'
   
}
function yourPlan(){
    console.log('Tu plan es ' + this.plan)
    console.log('Tu plan es ' + this.plan1)
    console.log('Tu plan es ' + this.plan2)
    console.log('Tu plan es ' + this.plan3)
}

Inscription.yourPlan = yourPlan;
Inscription.yourPlan()

Primera sección de preguntas

  • Una variable es un elemento de programación que nos permite guardar valores cómo si fueran cajitas dentro de nuestra PC la cual le pedimos guardar nuestro valores
  • Cuando declaramos let nombre_variable donde solo creamos una caja pero no hay nada dentro y inicializar let nombre_varaible = valor es cuando ya guardamos algo dentro de esta caja
  • Sumar es 1 + 3 = 4 pero concatenar string seria 1 + 3 = 13 ya que no ejecuta operación si no junta caracteres
  • Operador para sumar/concatenar = +

Segunda sección preguntas

let name = "Santiago"; // string
let last_name = "Gomez"; // string
let user_name = "Santiago12"; // string
let age = 12; // number
let email_adress = "[email protected]"; // string
let older = true; // boolean
let saved_money = promt(parseInt(How much money do you have in the bank)); // number 
let debts = promt(parseInt(How much money do you owe ? )); // number

Ejersicio 4

let full_name = `${name} ${last_name}`
let total_money = saved_money - debts;

Funciones

  • Función es un bloque de código el cual tiene series de instrucciones de algo que podemos ejecutar que va a poder ser usado en varias partes de nuestro código de forma repetitiva
  • Una función sirve para poder usar alguna función como puede ser una función de multiplicar en varios lugares sin tener que crear un bloque de código cada ves que necesito multiplicar
  • Un parámetro es la cajita que espera un valor dentro de nuestra función, mientras que el argumento es ese valor que metimos o tenemos dentro de nuestra cajita
function print_data_names(
  name = "Juan David",
  lastname = "Castro Gallego",
  nickname = "juandc"
) {
  let fullname = `${name} ${lastname}`;
  return `Mi nombre es ${fullname}, pero prefiero que me digan ${nickname}.`;
}

console.log(print_data_names());

Condicionales

  • Forma en la cual condicionamos una acción algo así cómo si esto es verdad ejecuta esto si no as otra cosa
  • Esta if (si esto pasa as esto), else (si no as esto otro), else if (si no y esto es verda prueba), switch (dame casos para evaluar si son verdad y si lo son los hare)
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 {
	consloe.log("No tienes un plan")
}
// solo con uso de if
const tipoDeSuscripcion = "Basic";
tipoDeSuscripcion == "Free" ? console.log("Solo puedes tomar los cursos gratis") :
tipoDeSuscripcion == "Basic" ? console.log("Puedes tomar casi todos los cursos de Platzi durante un mes") :
tipoDeSuscripcion == "Expert" ? console.log("Puedes tomar casi todos los cursos de Platzi durante un año") :
tipoDeSuscripcion == "ExpertPlus" ? console.log("Tú y alguien más pueden tomar TODOS los cursos de Platzi durante un año") :
console.log("No tines nuguna suscripción");

Ciclos

  • Esta Estructuras de control una manera de poder repetir tareas si tener que hacerlo de manera manual así si nosotros tenemos una tarea que se repite siempre y cuando esté pasando algo pues ejecutara esta tarea en ciclos asta que ya deje de ser verdad. Así se ejecutara las veces necesarias asta que algo suceda
  • for , while y do while
  • Es un ciclo el cual no tiene un limite y se ejecuta infinitamente esto hace que nuestra PC pueda colpasar
  • Si se puede
    let i = 0;
    while (i < 5) {
    console.log(“El valor de i es: " + i)
    i++
    }
    let i = 10;
    while (i >= 2) {
    console.log(“El valor de i es: " + i);
    i–
    }
    // Ejercicio pregunta
    function ejersicio () {
    let pregunta = parseInt(prompt(”¿Cuanro es 2 mas 2?”));
    if (pregunta == 4) {
    console.log(“Correcto esta es la respueta correcta”);
    } else {
    ejersicio()
    }
    }
    ejersicio();

Array

  • Estas son Estructuras de datos (Programación) las cuales son muy similares a las Variables (Progra), ya que es un valor que contiene varios valores (lo especifico para entender que son valores lo que tiene no nombres o esas cosas nuevas) internos algo asi como Conjuntos de elementos en fila
  • Forma en que traemos un obeto con cualidaddes, funciones, y todo de la vida a real a la Programación para tener funciónes, cualidad, caracteristicas
  • Objeto: tener datos que tengan mas cualidad o funciones aunque depende la necesidad y en otros casos arrays
  • Si
let array = ["Dato1","Dato2","Dato3"]
function ejersicio(array) {
    console.log(array[0]);
}
ejersicio(array)
// 2
let arrays = ["Dato1","Dato2","Dato3"];
function ejersicio(array) {
    for (let i=0; i < array.length; i++) {
        console.log(array[i]);
    }
}
ejersicio(arrays)
let objeto = {
    nombre: "Santiago",
    apellido: "Gomez",
    edad: 17
};
function ejersicio(imprime) {
    Object.values(imprime).forEach((element) => {
        console.log(element);
    });
};
ejersicio(objeto)

Termine, me gusto mucho, fuen un buen repaso…!!

//  1. Es un Espacio reservado en memoria;
//     Declarar es reservar el espacion en memoria;
//     Inicializar es asignarle un valor;
//     El operador es " + " 

// 2 / 3
var names = 'Gabriel'; //String
var lastNames = 'Rotger'; //String
var nameUserPlatzi = 'Gabriel'; //String
var year = 34; //Number
var email = '[email protected]'; //String
var mayorEdad = true; //Boolean
var dineroAhorrado = 5000; //Number
var deudas = 2000; //Number

// 4.
const personalData = (newName, newLastName, newMoney, newBebts) => {
    console.log(`Mi nombre es: ${newName} ${newLastName}`)
    let balance = (newMoney - newBebts)
    console.log(`Mi saldo es: ${balance}`)
}

personalData(names, lastName, dineroAhorrado, deudas);

//FUNCTIONS
//1.
    // A.  Es un procedimiento, un conjunto de instrucciones, 
    //     pero para ser definido como funcion debe tener una entrada de datos y una salida
    // B.  Cuando es necesario repetir una acción.
    // C. Un parámetro es una variable y los argumento son datos.
//1-2.
const NAME = 'Gabriel Augusto';
const LAST_NAME = 'Rotger';
const COMPLETE_NAME = `${NAME} ${LAST_NAME}`;
const NICK_NAME = 'Gaby';

const completeName = () => {
    console.log(`Mi nombre es ${COMPLETE_NAME}, pero prefiero que me digas ${NICK_NAME}`)
}

completeName(COMPLETE_NAME, NICK_NAME)

//CONDITIONALS
    // A. Es una condicion para discernir entre una opción u otra.
    // B. If-Else If, For, Switch, Ternario
    // C. Si es posible combinar condicionales y funciones

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");
}else{
    console.log("Registrate para mas info")
}

const tipoDeSuscripcion = "ExpertPlus";

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

sinElseIf(tipoDeSuscripcion)


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

var dataIn = parseInt(prompt(`Ingresa el numero de suscripcion deseada 
    1 - (Free)
    2 - (Basic) 
    3 - (Expert) 
    4 - (ExpertPlus)`
))

var data = [
    { 
        id: 1,
        name: 'Free', 
        description: 'Solo puedes tomar los cursos gratis'
    },
    { 
        id: 2,
        name: 'Basic', 
        description: 'Puedes tomar casi todos los cursos de Platzi durante un mes' 
    },
    { 
        id: 3,
        name: 'Expert', 
        description: 'Puedes tomar casi todos los cursos de Platzi durante un año' 
    },
    { 
        id: 4,
        name: 'ExpertPlus', 
        description: 'Tú y alguien más pueden tomar TODOS los cursos de Platzi durante un año'
    }
]

let arrayBonus = data.map((newData) => {
    if(newData.id === dataIn) {
        console.log(`Suscripción: ${newData.name} / ${newData.description}`)
    }
})

//Ciclos

//1

//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.
// Los Siclos que existen son 3. While, Do-while, For
// Un ciclo infinito es un ciclo que no tiene fin. Es un problema porque relentiza la aplicacion, en la Web por ejemplo satura al navegador bloqueandolo.
//¿Puedo mezclar ciclos y condicionales?. Si es posible hacerlo en ciertos casos.

//2

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

const dosMasDos = () =>{
    
    do{
        var dataIn = parseInt(prompt('Cuanto es 2 + 2'))
    } while(dataIn !== 4){
        if(dataIn === 4) {
            console.log(`Felicidades 2 + 2 es: ${dataIn}`)
        }
    }
}

dosMasDos()

//Listas

//¿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 una colección de propiedades, y una propiedad es una asociación entre un nombre (o clave) y un valor
//¿Cuándo es mejor usar objetos o arrays?
// - - - - - -
//¿Puedo mezclar arrays con objetos o incluso objetos con arrays?
//Si es posible mezclarlos


// Crea una función que pueda recibir cualquier array como parámetro e imprima su primer elemento.
var data = ['Gabriel', 34, 'Dev Junior', true]

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

firstElement(data)

//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 data = ['Gabriel', 34, 'Dev Junior', true]

function allElemnts (firstE) {
    for(var i = 0; i < firstE.length; i++)
    console.log(firstE[i])
}
allElemnts(data)

//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 data = {
    name:'Gabriel',
    age: 34,
    country: 'Argentina',
    mail: '[email protected]',
    studiant: true,
    proffesion: 'Dev Junior',
}

function allElementsObjetc (allElements) {
    for(const props in allElements)
    console.log(`${props} = ${allElements[props]}`)
}

allElementsObjetc(data)
  1. Responde las siguientes preguntas en la sección de comentarios

    1. Que es una varibale y para que sirve?. Una variable es un espacio en memoria para guardar datos.
    2. Declarar es cuando se genera un espacio en memoria y se inicializa para guardar informacion en la misma
    3. Una suma de un numero y concatenar un string, tienen algo en comun y es el operador + pero hacen dos cosas distintas pero casi identicas. Una suma es lo que hemos estado aprendiendo desde primaria y concatenar strings es unir “Hola” + " Mundo", en “Hola mundo”
  2. Determina el nombre y tipo de dato para almacenar en variables la siguiente información:

    1. String
    2. String
    3. String
    4. Number
    5. String
    6. Number
    7. Number
    8. Number
  3. Traduce a código JavaScript las variables del ejemplo anterior y deja tu código en los comentarios.

    var nombre = "Cristian";
    var Apellido = "Cavanzo";
    var userIdPlatzi = "Clair";
    var edad = 17;
    var email = "[email protected]";
    var mayoriaDeEdad = false;
    var dineroAhorrado = 0;
    var deudas = 0;
    

Funciones

  1. Responde las siguientes preguntas en la sección de comentarios
    1. Que es una funcion. Una funcion es una serie de pasos
    2. Cuando queremos repetir una accion en codigo
    3. Los parametros es una variable que esta en la definicion en la funcion y los argumentos son los datos que se le pasan a los parametros
function estudiante(name, lastname, nickname) {
  this.name = name;
  this.lastname = lastname;
  const completeName = name + lastname;
  this.nickname = nickname;
  console.log(
    `Mi nombre es ${completeName}, pero prefiero que me digas ${nickname}`
  );
}

var Juan = new estudiante("Juan David", " Castro", "Juandc");

Condicionales

  1. Responde las siguientes preguntas en la sección de comentarios:
    1. Una condicion es validar si algo es verdad se cumple x sentencia y si no hace y cosa
    2. If (if,else,else if) switch, terneario
    3. 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 === "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("Solo puedes tomar los cursos gratis");
}
var tipoDeSuscripcion = ["Basic", "Free", "Expert", "ExpertPlus"];
var suscripionActiva = tipoDeSuscripcion[1];
const Respuesta = [
  "Puedes tomar casi todos los cursos de Platzi durante un mes",
  "Solo puedes tomar los cursos gratis",
  "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 hola = tipoDeSuscripcion.indexOf(suscripionActiva);
var idk =
  suscripionActiva === tipoDeSuscripcion[3]
    ? console.log(Respuesta[3])
    : console.log(Respuesta[hola]);

me gusto mucho el reto

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

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

    Es un espacio que se guarda en memoria.

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

    Cuando declaramos la variable, solo reservamos su espacio pero no le damos ningun valor

    Cuando la inicializamos le asignamos un valor.

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

    Cuando se suman numeros, se suman sus valores y cuando se concatena, simplemente se unifican.

  • ¿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 - float
  • Deudas - float

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

let nombre = "Elisa"
let apellido = "Rogriguez"
let nomebreUsuarioPlatzi = "elirodriguez"
let edad = 18
let correoElectronico = "[email protected]"
let mayorEdad = true
let dineroAhorrado = 1000000 
let deudas = 20000

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

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

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

  • ¿Qué es una función?

    Un bloque de codigo.

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

    Cuando necesite utilizar el mismo codigo varias veces.

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

    Sinceramente, no se.

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

    Condicionales

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

    • ¿Qué es una condicional?

      Es un bloque de codigo que se ejecutara si es verdadero o falso.

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

      if, else if y else.

    • ¿Puedo combinar funciones y condicionales? Yes.

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

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

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

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

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

    //nisiquiera use la condicional xD
    
    const suscripciones = ["Free", "Basic", "Expert", "ExpertPlus"];
    
    const 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"];
    
    const tipoDeSuscripcion = "Basic";
    let index = suscripciones.indexOf(tipoDeSuscripcion)
    console.log(beneficios[index])
    

    Ciclos

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

    • ¿Qué es un ciclo?

      Sinceramente, no se definirlo.

    • ¿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 cuya condicion para que se realize siempre sera verdadera y nunca se rompe.

    • ¿Puedo mezclar ciclos y condicionales? Si mi rey

      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}`
      
      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.

      while (true) {
      	let input = prompt("Cuanto es 2 + 2?")
      
      	if (input == 4) {
      	        alert("Felicidades")
      	        break;
      	} else {alert("no bro")}
      
      }
      

      Listas

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

      let myArray = [1, 4, 2]
      
      function primerElemento(array) {
      	alert(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 myArray = [1, 4, 2]
      function imprimirArray(array) {
      	for (let i of array) {
      	        console.log(i)
      	}
      }
      

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

      let myObject = {primer: 1, segundo: 2, tercero: 3}
      
      function imprimirObjecto(objeto) {
      	for (let i in objeto) {
      
      	        console.log(`${i}: ${objeto[i]}`)
      	}
      }
      
      imprimirObjecto(myObject)
      

Hice mi prueba en un archivo de HTML, pueden varla haciendo click en el corazón verde 💚

De igual manera, si te sirve de algo mi código te dejo el repositorio aquí 📜.

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

-Es un espacio de memoria sirve para almacenar información.

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

  • Cunado declaras un variable indicas a la memoria que se va a guardar un dato allí, cuando la inicializas envias a la memoria el valor de la variable (el dato).

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

2+2 = 4
2 + “2” = 22

¿Cuál operador me permite sumar o concatenar?

Nombre = String
Apellido = String
Nombre de usuario en Platzi = String
Edad = Number
Correo electrónico = String
Mayor de edad = Booleano
Dinero ahorrado = Number
Deudas = Array (Lista de deudas)

Lo explicaré como lo entiendo…
¿Qué es una variable y para qué sirve?
Yo le llamo “cajita” para guardar algo y esa cajita se guarda en memoria en una posición que no sabemos.

¿Cuál es la diferencia entre declarar e inicializar una variable?
Si no mal me confundo… Declarar es decir su tipo (por ejemplo string), en el caso de JS, ponerle nombre, pues, por ejemplo, así sería:

let i;

E inicializar la variable es cuando le damos que guarde algo, ejemplo:

let i = 1;

¿Cuál es la diferencia entre sumar números y concatenar strings?
Que la suma, los números (vaya redundancia) se suman y en la concatenación solo se juntan, es decir, si yo quiero sumar 1 + 2 me va a dar como resultado 3, pero si lo concateno, me va a dar como resultado 12 (está juntando el 1 con el 2)

¿Cuál operador me permite sumar o concatenar?
Para sumar podemos hacerlo con el signo “+”, ya depende si queremos que sea de cierto tipo, y para concatenar podemos usar el método “concat” o simplemente si tenemos string, con el mismo signo de suma podemos hacerlo.

• Apellido string
  • Nombre de usuario en Platzi string
  • Edad number
  • Correo electrónico string 
  • Mayor de edad true/false
  • Dinero ahorrado  number
  • Deudas true/false
const apellido = ‘Ponce’;
const nombreUsuario = ‘maideduwu’;
const edad = 18;
const correo = “andybiersackteamo@gmail.com”;
const mayorEdad = true;
const dineroAhorrado = 1000;
const deudas = 400;

function imprimir(){
    const inverso = deudas - dineroAhorrado;
    const derecho = dineroAhorrado - deudas;
    const calc = dineroAhorrado < deudas ? inverso : derecho;
    console.log(`Mi nombre es ${nombre} ${apellido} y tengo ahorrado ${calc}`)
}

imprimir()

¿Qué es una función?
Es un bloque de código que realiza cierta operación dependiendo de lo que le indiques hacer.
¿Cuándo me sirve usar una función en mi código?
1. Para no repetir mucho código
2. Cuando la misma acción se ejecutará múltiples veces
¿Cuál es la diferencia entre parámetros y argumentos de una función?
Los parámetros son como sus propiedades y los argumentos son los valores que queremos que tomen esos parámetros.

¿Qué es una condicional?
Es una palabra reservada donde nos ayuda a validar si se cumple algo.
¿Qué tipos de condicionales existen en JavaScript y cuáles son sus diferencias?
If, else if, else, switch/case
¿Puedo combinar funciones y condicionales?
Sí, como bien dijimos, estas sirven para validar y pueden estar dentro de funciones que es lo usual.

function imprimirSeud(name, lastname, nickname) {
    const completeName = name + ' ' + lastname
    console.log(`Mi nombre es ${completeName}, pero prefiero que me digas ${nickname}`)
}

imprimirSeud("Maided", "Ponce", "Maidedp")

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

suscripcion("Expert")

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

suscripcion("ExpertPlus")

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

function suscripcion(sus) {
     const search = tipoDeSuscripcion.find((suscription) => suscription.Tipo === sus)
     if(!search) {
          console.log('No venimos manejandole esa gueritx :((')
     }
     console.log(search.Desc)
}

suscripcion("Expert")

¿Qué es un ciclo?
Una condición que se tiene que cumplir hasta cierto punto
• **¿Qué tipos de ciclos existen en JavaScript? **
For, for each, while
¿Qué es un ciclo infinito y por qué es un problema?
Es un ciclo que se ejecuta sin tener un final porque no le indiqué dónde parar y ese es el problema, que no resuelve lo que quiero porque no se detiene.
¿Puedo mezclar ciclos y condicionales?
Chi u.u

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

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

function dow(){
    do {
     pregunta = parseInt(prompt('cuánto es 2 + 2?'));  
     
    } while (pregunta !== 4);
    if(pregunta == 4){
        alert('Excelente!')
    }
}

dow()

¿Qué es un array?
Es una cajita más grande que guarda varios valores de los cuales pueden ser de diferente tipo.
¿Qué es un objeto?
Es similar a la cajita, solo que este tiene una llave y un valor
¿Cuándo es mejor usar objetos o arrays?
Cuando tenemos propiedades que requieran de otro valor, por ejemplo, si quisieramos guardar datos de un usuario, queremos guardar email, name y pass, tendríamos que describir quienes son esas propiedades llenando en conjunto con los datos de los usuarios.
¿Puedo mezclar arrays con objetos o incluso objetos con arrays?
Chi x2

const articulos = ['planta', 'escritorio', 'cafetera']

function mapeando(a) {
    const primer = a[0]
    console.log(primer)
}

mapeando(articulos)

const bandas = ['Black Veil Brides', 'Palaye Royale', 'The Neighbourhood', 'Sleeping With Sirens', 'Motionless In White']
function unoXuno(b) {
    for(let i = 0; i < b.length; i++) {
        console.log(`Gracias por existir ♥ ${bandas[i]}`)
    }
}
unoXuno(bandas)

const why = {
    banda: 'Black Veil Brides',
    vocalista: 'Andy Biersack',
    razon: 'Es mi favorita porque sus canciones son con las que más me identifico a pesar de no ser mi sonido favorito'
}

function reason(w){
    console.log(`Amo a:`)
    for(let l in w){
        console.log(`${w[l]}`)
    }
}

reason(why)

VARIABLES Y OPERACIONES

RESPONDE

¿Que es una variable y para que sirve?
Es un espacio en memoria que nos permite almacenar diferentes datos.

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

  • Al declarar una variable, le ponemos un nombre, para así poder llamarla cuando queramos.
  • Al inicializar una variable, le damos un valor o valores esa variable.

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

  • Sumar números es aplicar la operación matemática de sumar como todos lo conocemos,
  • Al concatenar strings lo que hacemos es unir valores uno al lado del otro.

¿Cuál operador me permite sumar o concatenar?

  • Para ambos casos se utilisa el signo de +.

NOMBRE Y TIPOS DE DATOS:

let myname = 'Lester'; // String
let lastname = 'Inga'; // String
let username = 'lesterim'; // String
let age = 16; // Number
let email = '[email protected]'; // String
let adult = false; // Boolean
let saving = 600; // Number
let debt = 100; // Number

CALCULA E IMPRIME:

console.log( myname + ' ' + lastname );
console.log( saving - debt );

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

¿Qué es una variable y para qué sirve? R/ Es un espacio reservado en memoria donde podemos guardar un valor de cualquier tipo, consultarlo y modificarlo a necesidad
¿Cuál es la diferencia entre declarar e inicializar una variable? R/Declararla es crearla con const, let o var y darle un nombre pero no asignarle ningun valor. Inicializarla es asignarle un valor.
¿Cuál es la diferencia entre sumar números y concatenar strings? R/Al sumar se hace la operación matemática para generar un resultado (4+4=8). Cuando concatenamos string, simplemente ponemos un valor adelante del otro (“4”+“4”=“44”)
¿Cuál operador me permite sumar o concatenar? el símbolo más "+"
2️ Determina el nombre y tipo de dato para almacenar en variables la siguiente información:

Nombre = name/string
Apellido = lastname/string
Nombre de usuario en Platzi = platziUserName/string
Edad = age/number
Correo electrónico = email/string
Mayor de edad = isAnAdult/boolean
Dinero ahorrado = savedMoney/number
Deudas = debt/number

3️ Traduce a código JavaScript las variables del ejemplo anterior y deja tu código en los comentarios.
let name = “Johann”;

let lastname = “Perez”;
let platziUserName = “johannp”;
let age = 29;
let email = “[email protected]”;
let isAnAdult = true;
let savedMoney = 10000;
let debt = 5000;

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

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

console.log(Nombre completo: ${name} ${lastname});
console.log(Dinero real: ${savedMoney-debt});

Funciones

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

¿Qué es una función? R/Es un segmento de código reutilizable que al ejecutarse realiza una acción. Puede recibir o no parametros y retornar o no valores
¿Cuándo me sirve usar una función en mi código? R/Cuando es un código que voy a necesitar ejecutar más de una vez en diferentes partes de mi programa.
¿Cuál es la diferencia entre parámetros y argumentos de una función? R/Los parámetro son los que se le definen a una función que podría recibir o no. Los argumentos son los valores reales que le estoy pasando cuando la ejecuto.

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/

const presentacion = (name, lastname, nickname)=>
console.log(Mi nombre es ${name} ${lastname}, pero prefiero que me digas ${nickname}.)

presentacion(“Juan David”,“Castro Gallego”,“juandc”);

Condicionales

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

¿Qué es una condicional?R/Es un control de flujo que nos permite ejecutar código siempre y cuando se cumpla una condición predeterminada
¿Qué tipos de condicionales existen en JavaScript y cuáles son sus diferencias?R/“If” cuando es sólo una condición, “else if” cuando son varias, “else” cuando no se cumple la condición, “switch” dependiendo del caso se ejecuta un código u otro.
¿Puedo combinar funciones y condicionales? R/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;
}
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).

const tipoDeSuscripcion = “Basic”;

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

console.log(infoSuscripcion[tipoDeSuscripcion])

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

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

¿Qué es un ciclo? R/Es un código que se repite las veces que nosotros lo programemos o hasta que se cumpla una condición
¿Qué tipos de ciclos existen en JavaScript?R/ For, while, do while, foreach, forin
¿Qué es un ciclo infinito y por qué es un problema? Es cuando nuestro ciclo no tiene una condición que le permita finalizarse, entonces se va a quedar ejecutando hasta que el dispositivo se quede sin recursos.
¿Puedo mezclar ciclos y condicionales? R/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);
}
for (let i = 10; i >= 2; i–) {
console.log("El valor de i es: " + i);
}

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

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

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

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

const pregunta = (callback) => {
let respuesta = parseInt(prompt(“Cuanto es 2+2?”));
callback(respuesta);
};

const validacion = (respuesta) => {
if (respuesta === 4) {
alert(“Felicitaciones”);
} else {
pregunta(validacion);
}
};

pregunta(validacion);

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

¿Qué es un array? R/Es un tipo de dato compuesto en el cual se pueden poner todos los valores que queramos, separados con coma, y a cada uno se le asignará un índice empezando por 0 al primer elemento.
¿Qué es un objeto? R/Es un tipo de dato compuesto el cual en su interior tiene valores que se componen de una llave y un valor, no se busca en ellos por índice sino por el nombre de la llave.
¿Cuándo es mejor usar objetos o arrays? R/ Usamos objetos cuando cada dato está asociado a un nombre, clave o key
¿Puedo mezclar arrays con objetos o incluso objetos con arrays? R/Sí

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

const miArray = [“a”, “b”, “c”];
const imprimirPrimero = (array) => {
console.log(array[0]);
};
imprimirPrimero(miArray);

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

const miArray = [“a”, “b”, “c”];

const imprimirTodos = (array) => {
for (let i = 0; i < array.length; i++) {
console.log(array[i]);
}
};

imprimirTodos(miArray);

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

const yo = {
nombre: “Johann”,
apellido: “Pérez”,
edad: 29,
Pais: “Colombia”,
};

const imprimirObjeto = (object) => {
let keys = Object.keys(object);
let values = Object.values(object);
for (let i = 0; i < keys.length; i++) {
console.log(${keys[i]}: ${values[i]});
}
};

imprimirObjeto(yo);

Respuestas 😄
Variables y operaciones:

  1. Responde las siguientes preguntas en la sección de comentarios:
  • Una variable es un espacio en memoria el cual puede cambiar su valor en un futuro y su alcance es global.

  • declarar una variable es el estado en el que se reserva un espacio para después dar un valor; Inicializar una variable es cuando ya se va a usar una variable en algún punto del código.

  • Sumar números se refiere al proceso matemático como tal de sumar dos o mas valores numéricos, y concatenar strings hace referencia a cuando se quieren unir dos o mas textos tipo string.

  • El operador +.

  1. Determina el nombre y tipo de dato para almacenar en variables la siguiente información:
let nombre = string
let apellido = string
let nombreDeUsuarioEnPlatzi = string
let edad = number
let correroElectronico = string
let mayorDeEdad = boolean
let dineroAhorrado = null
let deudas = null
  1. Traduce a código JavaScript las variables del ejemplo anterior y deja tu código en los comentarios.
var Information = 
{
    nombre: "Carlos Daniel",
    apellido: "Corrales",
    nombreDeUsuarioEnPlatzi: "Carlos Daniel",
    Edad: 18,
    correoElectronico: "[email protected]",
    mayorDeEdad: true,
    dineroAhorrado: null,
    Deudas: null
}
  1. Calcula e imprime las siguientes variables a partir de las variables del ejemplo anterior:
let nombreCompleto = Information.nombre + " " + Information.apellido;
let dineroReal = Information.dineroAhorrado - Information.Deudas;

Funciones

  1. Responde las siguientes preguntas en la sección de comentarios:
  • Una función es un conjunto de sentencias que se pueden utilizar para generar acciones con los valores que ya se guardaron en las variables.

  • Una función se usa mas que todo cuando alguna parte del código se repite mucho, entonces, se usan las funciones para ahorrar y hacer mas fácil el código.

  • El parámetro de una función hace referencia a una ayuda que nos da esta para generar cálculos o resultados en un la función, y por otro lado, los argumentos son los datos que se le pasan a los parámetros de la función

  1. Convierte el siguiente código en una función, pero, cambiando cuando sea necesario las variables constantes por parámetros y argumentos en una función:
function exercise(name,lastName,nickName)
{
    return "Mi nombre es " + name + " " + lastName + ", pero prefiero que me digas " + nickName + ".";
}
console.log(exercise("carlos","corrales","Danny"));

Condicionales

  1. Responde las siguientes preguntas en la sección de comentarios:
  • Un condicional es una instrucción que el código nos va a ejecutar o no dependiendo del valor de una condición que se va a efectuar si algo es verdadero, sino, es esto, sino, es tal otra cosa, y así sucesivamente.

  • Existen 2 tipos de condicionales en JavaScript:

    • El primero es el if, else y else if, este se emplea que por medio del if se puede indicar que una condición que en caso de cumplirse permite la ejecución del enunciado, por medio del else se puede establecer una alternativa a esa primera condición mencionada anteriormente, el else if sirve cuando se trata de analizar el valor exacto de una variable.
    • El segundo es el switch que por medio de este condicional se puede listar una serie de enunciados que se van a ejecutar dependiendo del valor de la variable.
  • Si se puede

  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") 
{
    return console.log("Solo puedes tomar los cursos gratis");       
}
else if(tipoDeSuscripcion == "Basic")
{
    return console.log("Puedes tomar casi todos los cursos de Platzi durante un mes");
}
else if(tipoDeSuscripcion == "Expert")
{
    return console.log("Puedes tomar casi todos los cursos de Platzi durante un año");
}
else if(tipoDeSuscripcion == "ExpertPlus")
{
    return console.log("Tú y alguien más pueden tomar TODOS los cursos de Platzi durante un año");
}
else
{
    return console.log("vuelve a introducir el tipo de suscripcion para un mejor resultado de la busqueda");
}
  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")
{
    return console.log("Solo puedes tomar los cursos gratis");
}
else;
if(tipoDeSuscripcion == "Basic")
{
    return console.log("Puedes tomar casi todos los cursos de Platzi durante un mes");
}
else;
if(tipoDeSuscripcion == "Expert")
{
    return console.log("Puedes tomar casi todos los cursos de Platzi durante un año");
}
else;
if(tipoDeSuscripcion == "ExpertPlus")
{
    return console.log("Tú y alguien más pueden tomar TODOS los cursos de Platzi durante un año");
}
else;

Ciclos

  1. Responde las siguientes preguntas en la sección de comentarios:
  • Un ciclo es una manera rapida y sencilla de poder hacer que una tarea pueda repetirse sin necesidad de realizarlo de nuevo.

  • While y for (este ultimo con algunas variaciones como for of, for in) :con el for podemos definir un fin de intentos y con el while mientras se cumpla algo, que lo siga haciendo.

  • Un ciclo infinito es un error que consiste en realizar un ciclo que se repite de forma indefinida ya que la condicion para finalizar nunca se va a cumplir, es un problema ya que por un lado la condicion nunca se va a cumplir y por otro lado pondra nuestro pc mas lento por gastar tanta memoria 😦

  • si se puede mezclar

  1. Replica el comportamiento de los siguientes ciclos for utilizando ciclos while:
var numero = 0;

while (numero < 5) 
{
    console.log("El valor de numero es: " + numero);
    numero ++;
}
var numero = 10;

while (numero >= 2) 
{
    console.log("El valor de numero es: " + numero);
    numero --;
}
  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.
function exercise() 
{
    let usuario;
    do
    {
        usuario = prompt("Cual es el resultado de 2 + 2? /n: ");
    }while(usuario !== 4);
    
    if (usario === 4) 
    {
        return console.log("¡FELICIDADES!");    
    }
}
exercise();

Listas

  1. Responde las siguientes preguntas en la sección de comentarios:
  • Un array es un tipo de estructura de datos, tipo objeto. Puede guardar datos distintos dentro, guarda los datos en forma de lista.

  • Un objeto es una colección de propiedades, y una propiedad es un valor. ejemplo:

var miAuto=
{
	marca: "toyota",
	modelo:"corolla",
	año: 2020
}
  • Depende de el problema y el estilo de código con el que se quiera trabajar de una forma mas eficiente, en mi opinion un array es mas facil de manejar para poder guardar mejor las propiedades sobre algo o alguien.

  • creo(creoooooo…) que si xd

  1. Crea una función que pueda recibir cualquier array como parámetro e imprima su primer elemento.
var lista = ['carlos', 'daniel', 'corrales']

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

primerElemento(lista);
  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).
var lista = ['carlos', 'daniel', 'corrales']

function restoElementos(x) 
{
    for(var i = 0; i < lista.length; i++)
    {
        console.log(x[i]);
    }
}

restoElementos(lista);
  1. Crea una función que pueda recibir cualquier objeto como parámetro e imprima todos sus elementos uno por uno (no se vale imprimir el objeto completo).
var miPersona = 
{
    nombre: 'Carlos',
    apellido: 'Corrales',
    años: 18,
    pais: 'Colombia'
}

function object(x)
{
    console.log("Nombre: " + miPersona.nombre);
    console.log("Apellido: " + miPersona.apellido);
    console.log("Años: " + miPersona.años);
    console.log("Pais: " + miPersona.pais);
}

object(miPersona);

El bonus tal vez pueda ser abordado de la siguiente forma

const tipoDeSuscripcion = "Basic";
var suscripciones = ["Free","Basic","Expert","ExpertPlus"];
var mensaje = [
	"Solo puedes tomar los cursos gratis",
	"Solo puedes tomar los cursos gratis",
	"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 (!(suscripciones.indexOf(tipoDeSuscripcion) == -1)){
	let posicion = suscripciones.indexOf(tipoDeSuscripcion);
	console.log(mensaje[posicion])
}

1)Variable:
Es un espacio en memoria al cual le asignaremos un valor para su uso.
Diferencia entre declarar e inicializar: Al declarar una variables estamos creando un espacio vacío en memoria, al momento de inicializarla se le asignará el valor.
Diferencia entre sumar y concatenar: Al sumar números estamos realizando una operación matemática entre dos elementos de tipo number. Al concatenar strings estamos uniendo dos elementos de tipo texto en un único conjunto.
Operador para sumar y conctenar: En JS el operador que se utiliza es el +.

var nombre tipo string
var apellido tipo string
var usuario tipo string
var edad tipo number
var email tipo string
var mayorEdad tipo boolean
var dineroAhorrado tipo number
var deudas tipo number

var nombre = "Carlos";
var apellido = "Massarino";
var nombUsuario = "CMassarino";
var edad = 26;
var email = "[email protected]";
var mayorEdad = true;
var dineroAhorrado = 15000;
var deudas = 0;
var nombreCompleto = nombre + " " + apellido;
var DineroReal = dineroAhorrado - deudas;

Funciones
1)
Función: Una función es una serie de instrucciones con el fin de realizar una tarea. Pueden recibir parámetros (que son datos) los cuales utilizaremos para dicho tarea.
Cuándo usarla: Cuando necesitemos realizar una serie de instrucciones esperando un valor como retorno.
Diferencia entre parámetros y argumentos: Los parámetros son las variables que utilizamos al definir la función, mientras que los argumentos son los datos que le pasamos al llamar la función.

function nombre(name, lastname, nickname) {
    console.log(`Mi nombre es ${name} ${lastname} pero prefiero ${nickname}`);
}
nombre("Juan Davidad", "Castro Gallego", "juandc");

Condicionales:
Qué es: Permite evaluar condiciones y bifurcará en diferentes caminos dependiendo de si se cumple o no la condición.
Tipos de condicionales: Existe If y Switch. Switch valida casos verdaderos y lo compara contra una serie de valores. If valida condiciones verdaderas o falsas, si no se cumple la primera pasa a la siguiente. Sí se pueden combinar con funciones.

const tipoSuscripcion = "Basic";

if (tipoSuscripcion === "Free") {
    console.log("Solo puedes tomar los cursos gratis");
}else if (tipoSuscripcion === "Basic") {
    console.log("Puedes tomar casi todos los cursos de Platzi durante un mes");
}else if (tipoSuscripcion === "Expert") {
    console.log("Puedes tomar casi todos los cursos de Platzi durante un año");
}else if (tipoSuscripcion === "ExpertPlus"){
    console.log("Tú y alguien más pueden tomar TODOS los cursos de Platzi durante un año");
}else {
    console.log("Seleccione un tipo de suscripción válido(Free, Basic, Expert o ExperPlus)");
}

La función fue para que lo ingrese el usuario.

var suscripcion = ["Free","Basic","Expert","ExpertPlus"];
var respuesta = ["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 encontrar(dato){
    var posicion = suscripcion.indexOf(dato);
    if (posicion != -1) {
        console.log(respuesta[posicion]);
    }
}

Ciclos:
Es un bloque de código el cual se repite hasta que una condición es alcanzada.
Tipos que existen: For, for of, while.
Ciclo infinito: es un ciclo que se repite infefinidamente ya que la condición para salir nunca se cumple.
Sí se pueden mezclar ciclos con condicionales.

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--;
} 
var resultado = prompt("¿Cuánto es 2+2?");
if (resultado == 4) {
    console.log("Lo lograste!!");
}else {
    while (resultado != 4) {
        var nuevo = prompt("Fallaste, ¿Cuánto es 2+2?");
        if (nuevo == 4) {
            console.log("Lo lograste!!");
            resultado = nuevo;
        }
    }
}

Listas:
Qué es Array: Es un objeto tipo lista, estructura los datos de tal manera que puedan agregarse y quitarse elementos independientemente de su tipo.
Qué es Objeto: Es un contenedor de propiedades, donde cada propiedad tiene un nombre y valor.
Ambos pueden mezclarse.

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

var lista = ["Uno","Dos","Tres"];
function mostrarPrimerElemento(lista) {
    return lista[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).

var lista = ["Uno","Dos","Tres"];
function mostrarTodos(lista) {
    for (var i = 0; i < lista.length; i++){
        console.log(lista[i]);
    }
}

La de objetos de pude je.

// Variables y operaciones

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

// ¿Qué es una variable y para qué sirve?
es la representacion de algun lugar en memoria que reservamos para poder guardar un valor.

// ¿Cuál es la diferencia entre declarar e inicializar una variable?
La diferencia es que en la varibale declarda ya se encuentra guardo un valor en memoria y en inicializada es que se va a ejecutar la variable

// ¿Cuál es la diferencia entre sumar números y concatenar strings?
La diferencia esta en que los numeros se suman y los stings se concatenan

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

let Nombre 'String'
let Apellido 'String'
let Nombre de usuario en Platzi 'String'
let Edad 'Number'
let Correo electrónico 'String'
let Mayor de edad 'boolean'
let Dinero ahorrado 'Number'
let Deudas 'Number'

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

let Nombre ='Juan’
let Apellido ='Gomez’
let Nombre_de_usuario_en_Platzi ='Juan’
let Edad = '28’
let Correo_electrónico = '[email protected]
let Mayor_de_edad = 'true’
let Dinero_ahorrado = '2’
let Deudas = ‘Number’

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

Nombre completo (nombre y apellido)

let fullName = ${nombre} ${apellido};
console.log(fullName)

Dinero real (dinero ahorrado menos deudas)

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

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

¿Qué es una función?

Las funciones son fracciones de código reutilizable.

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

cuando esta se va a reutilizar

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

lo parametros,es lo que se va a ejecutar y los argumentos es como se va a ejecutar

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 ejemplo = (name, lastName, nickname) => {
let fullName = ${name} ${lastName};
return Mi nombre es: ${fullName}, pero prefiero que me digas ${nickname};
}
console.log(miFuncion(‘Juan David’, ‘Castro Gallego’, ‘juandc’));

Condicionales

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

¿Qué es una condicional?

es como se debe ejecuat un proceso es decir que tiene que cumplir con unos requesitos para que se pudeda ejecutar

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

if elseif else, switch, Operador Ternario

¿Puedo combinar funciones y condicionales?

si se pueden convinar.

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

function tipoDeSuscripcion(s) {
if (s == ‘Free’) {
return console.log(“Solo puedes tomar los cursos gratis”);
} else if(s == ‘Basic’) {
return console.log(“Puedes tomar casi todos los cursos de Platzi durante un mes”);
}
else if(s == ‘Expert’) {
return console.log(“Puedes tomar casi todos los cursos de Platzi durante un año”);
}
else if(s == ‘Expert +’) {
return console.log(“Tú y alguien más pueden tomar TODOS los cursos de Platzi durante un año”);
} else {
return console.log(‘Que esperas para adquirir tu suscripción’);
}
}

// tipoDeSuscripcion(‘Expert +’); // Resultado: Tú y alguien más pueden tomar TODOS los cursos de Platzi durante un año
tipoDeSuscripcion(‘no tengo’); // Resultado: Que esperas para adquirir tu suscripción

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

Ciclos

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

¿Qué es un ciclo?

Un ciclo es la ejecucion de una accion por x cantidad de veces

¿Qué tipos de ciclos existen en JavaScript?

ciclos for, for in, for of, while, do while

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

Como su palabra lo dice es infinito y es un problema porque hace que nuestro ordenador se “trabe” y las siguientes acciones que se tienen que ejecutar, nunc se ejecutan por el error que hay.

¿Puedo mezclar ciclos y condicionales?

Si se pueden mezclar

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

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

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

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

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

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

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

function juego() {
let resultado;
do {
resultado = parseInt(prompt(’¿Cuál es el resultado de “2 + 2”. R: ‘));
} while ( resultado !== 4 );
if (resultado === 4);
return console.log(’¡felicitaciones’);
}
juego();

Listas

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

¿Qué es un array?

Los arrays son estructuras que nos permiten organizar elementos dentro de una colección. Estos elementos pueden ser números, strings, booleanos, objetos, etc.

¿Qué es un objeto?

Un atributo se compone de una clave (key) y un valor (value), que se separan entre sí por dos puntos “”:"". Los valores pueden ser de tipo string, número, booleano, etc. Cada atributo está separado del siguiente por una coma.

¿Cuándo es mejor usar objetos o arrays?

Esto depende.
¿Puedo mezclar arrays con objetos o incluso objetos con arrays?
Si se pueden mezclar
2️⃣ Crea una función que pueda recibir cualquier array como parámetro e imprima su primer elemento.
const tiposSuscripciones = [‘Free’,‘Basic’,‘Expert’,‘Expert+’]

const primerElemento = (array) => console.log(El primer elemento del array es ${array[0]})

primerElemento(tiposSuscripciones)

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 tiposSuscripciones = [‘Free’,‘Basic’,‘Expert’,‘Expert+’]

const elementos = (array) => array.forEach((elemento,index) => console.log(El elemento ${index} del array es ${elemento}))

primerElemento(tiposSuscripciones)

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

for (const property in objetoCarro) {
if (Object.hasOwnProperty.call(objetoCarro, property)) {
const element = objetoCarro[property];
console.log(element);
}
}

//BONUS:
const platziCurses = (curse) => {
const subscriptionType = curse;

const subscriptions= [“Free”,“Basic”,“Expert”,“ExpertPlus”];
const answer=[“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”];

index=subscriptions.indexOf(subscriptionType);
if (index==-1){
console.error(“Solo puedes tomar los cursos gratis”);
}
else{
console.log(answer[index]);
}
}
platziCurses(‘ExpertPlus’);

Prueba 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 en memoria donde podemos guardar distintos tipos de dato como números, textos o valores binarios, entre otros. Accedemos a éstos a través de un nombre, y son una característica principal de casi cualquier lenguaje moderno de programación.
¿Cuál es la diferencia entre declarar e inicializar una variable?
Cuando declaro una variable le asigno un nombre pero todavía no ocupa espacio en memoria ni tiene algún valor asignado. Es cuando la inicializamos que ocurre este proceso.
¿Cuál es la diferencia entre sumar números y concatenar strings?
Cuando se suman números se realiza una operación aritmética de adición entre dos números, pero concadenar strings no es lo mismo que sumar dos números. Concadenar variables implica con una cierta sintaxis juxtaponer dos o más variables.
¿Cuál operador me permite sumar o concatenar?
Para sumar dos valores es preciso utilizar el famoso símbolo de adición “+”. Para concadenar variables también se puede usar este símbolo, tal que así:

var nombreCompleto = "Aidan" + " Cloquell"

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: valor binario (booleano)
Dinero ahorrado: número fraccionario (punto flotante)
Deudas: (Numero de deudas: numero entero)(cantidad a pagar aún: número fraccionario)
3️⃣ Traduce a código JavaScript las variables del ejemplo anterior y deja tu código en los comentarios.

var nombre = "Aidan"
var apellido = "Cloquell"
var username = "aidanLorenzo"
var edad = 15
var correo = "[email protected]"
var mayorDeEdad = false
var dineroAhorrado = 111
var deudas = -12

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

Nombre completo (nombre y apellido)

var nombreCompleto = "nombre" + " " + "apellido"

Dinero real (dinero ahorrado menos deudas)

var dineroReal = 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 el cual puede recibir argumentos por parámetro y tiene un nombre por lo general para hacer referencia a ésa. Un ejemplo es una función que realiza una suma entre dos números.
¿Cuándo me sirve usar una función en mi código?
Es increíblemente útil cuando hay una parte de tu código que debe ser usada en varias ocasiones, evitando así repetir código innecesariamente.
¿Cuál es la diferencia entre parámetros y argumentos de una función?
Un parámetro es una propiedad o parte de los problemas en sí. El argumento es más bien los valores asignados para esos parámetros en cada caso específico e instancia.
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 name(name, surname, nickname) {
    const completeName = `${name} ${surname}`
    console.log(`My name is ${completeName}, but I rather that you call me ${nickname}`)
}

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

¿Qué es una condicional?
Es una estructura de flujo con la que se puede ramificar un programa. Éstas evaluan una sentencia lógica, y el resultado de eso puede ser un valor falso o verdadero indicado con el valor booleano que es un tipo de dato como mencionado previamente. Dada una condición, se podrá ejecutar cierto código o no.

	if (condition) {
		executeCode()
	} else if (newCondition) {
		executeNewCode()
	} else {
		alert()
	}

¿Qué tipos de condicionales existen en JavaScript y cuáles son sus diferencias?
Además de la estructura básica presentada anteriormente, en JavaScript tenemos otra que permite analizar varios casos particulares. Pasamos entre paréntesis al lado de la palabra reservada switch la variable a evaluar o utilizar.
¿Puedo combinar funciones y condicionales?
Es desde luego posible de combinarlas. Puedes escribir una función que contenga una estructura condicional para evaluar lo que necesites, pudiendo pasar como argumento valores a los parámetros que añadas a tu 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;

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

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

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

No conseguí concebir esto. Espero aprender de los comentarios de algún experto.

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

¿Qué es un ciclo?
Es una serie de pasos que se realizan sistemáticamente hasta que una cierta condición se evalue en el valor que esperamos.
¿Qué tipos de ciclos existen en JavaScript?
Existe el ciclo for que ejecuta el código que escribas en su interior tantas veces como le indiques. Su estructura es:
for (var i = 0 “inicio en cero”; i === 10 “marco las veces que necesito que se ejecute el código, número entero siempre”; i++ “esto equivale a i = i + 1, que va incrementando el valor del iterador i hasta llegar al valor de la condición indicada previamente”)
Otro ciclo es el while, que ejecuta un bloque de código hasta que una condición se de. Tal que así:

while (condition === false) {
		executeCode()
	}

¿Qué es un ciclo infinito y por qué es un problema?
Es un ciclo cuyo bloque de código nunca hace que se llegue al valor especificado en la condición, por lo que continua ejecutando el código indefinidamente. Esto se conoce como los bucles infinitos. Y naturalmente rompe el código.
¿Puedo mezclar ciclos y condicionales?
Sí se puede, y en algunos proyectos de prueba lo he hecho casi sistemáticamente.
2️⃣ Replica el comportamiento de los siguientes ciclos for utilizando ciclos while:

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

let i = 0
while (i < 5) {
	console.log(i)
	i = i + 1
}

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

let i = 10

while (i >= 2) {
	console.log(i)
	i = i - 1
}

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

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

function canYouAdd(numa, numb) {
    let inputValue = prompt(`${numa} + ${numb} = ?`)
    let expectedValue = numa + numb
    if (inputValue === expectedValue){
        alert("Great, you can add.")
    } else {
        alert("You better start learning some basic arithmetic.")
    }
}

canYouAdd(2, 2)

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

¿Qué es un array?
Es una estructura en JavaScript que nos permite guardar una sarta de datos en una variable con un nombre determinado. Se puede acceder a cada uno de sus elementos con su índice, que indica su lugar en la lista con los números desde el 0.
¿Qué es un objeto?
Es una estructura en JavaScript similar a un array en cierta manera, pues se puede pensar al objeto como un array cuyos elementos tienen un nombre que corresponde a las propiedades del objeto.
¿Cuándo es mejor usar objetos o arrays?
Probablemente fuese mucho mejor utilizar arrays en vez de objetos cuando se manejan varios datos, o cuando todos los datos miden una cosa determinada y pierde en parte el sentido asignarle un nombre a cada valor de la estructura de datos.
¿Puedo mezclar arrays con objetos o incluso objetos con arrays?
Sí: puedes perfectamente crear un array cuyos elementos son objetos y objetos con ciertas propiedades que contengan arrays.
2️⃣ Crea una función que pueda recibir cualquier array como parámetro e imprima su primer elemento.

function printFirstElement(array) {
    return array[0] 
    //(o 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 printElements(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).

function printObjectElements(obj) {
    let text = ""
    for (var i in obj) {
        text += `${obj[i]} ` 
    }
    return text
}

1️⃣ . Variables y operaciones.
¿Qué es una variable y para qué sirve?
es un espacio reservado en la memoria RAM y sirve para recurír a valores guardados o guardar valores dentro del programa (según lo que sé O_O).
¿Cuál es la diferencia entre declarar e inicializar una variable?
declarar es para crear la variable e inicializar es darle valor a la variable.
¿Cuál es la diferencia entre sumar números y concatenar strings?
que los strings van encerrados entre comillas dobles o simples y los números solo son números como: “4”+“4”=“44” y 4+4=8
¿Cuál operador me permite sumar o concatenar?
+

<hr>

name=“string”;
firstLastName=“string”;
userName=“string”;
age=21; //number
eMail=“string”;
adult=true; //boolean
saveMoney=1000; //number
debts=false; //boolean

<hr>

console.log(name+firstLasName);
debtsMoney=0; //number
console.log(saveMone-debtsMoney);

const tipoDeSuscripcion = "Basic"

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("Solo puedes tomar los cursos gratis");
}

----------Variables y operaciones----------
1.-
Es un espacio en memoria que puede tomar diferentes valores
Al declarar una variable solo se esta reservando el espacio en memoria, mientras que al inicializar una variable se le esta asignando un valor ya sea numerico, cadena, arrayt etc.
Concatenar string lo que hace es unir los caracteres que se encuentran en las variables.
El operador de suma (+) permita tanto realizar una suma como concatenar strings, sin embargo se puede usar la nueva sintaxis de ECMASCRIP (nombre completo ${nombre} ${apellido}) lo que hace es concatenar las cadenas que se tengan adentro de los parentesis con las variables que estan entre llaves

2.-
Nombre -> String
Apellido -> String
Nombre de usuario en Platzi -> String
Edad -> Intger
Correo electrónico -> String
Mayor de edad -> Integer
Dinero ahorrado ->Number (tambien se puede Float o Double pero depende del lenguaje en este caso para javascript seria Number)
Deudas -> Number (tambien se puede Float o Double pero depende del lenguaje en este caso para javascript seria Number)

3.-
fullName = nombre + apellido
tambien se puede fulname = ${nombre} ${apellido}
realMoney = savedMoney - debts

----------Funciones----------
1.-
Una funcion es una seccion de codigo que es modular y puedo llamar a ejecutar en cualquier parte del codigo
Cuando se esta repitiendo mucho una seccion de codigo como una suma
Parametro es el valor que se espera a recibir en la funcion o metodo, el argumento es el valor que se le asigna al parametro que se espera a ser pasado

2.-
const fullName = (name, lastName, nickname) => {
console.log(Mi nombre es ${name} ${lastName} per prefiero que me digas ${nickname})
}

Condicionales
1.-
Es una pieza de codigo que determina que parte del codigo debe ejecutarse
(=, ==, =) , (!=, !=), (<=, >=), (>, <)
Si

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 {
console.log(“Tú y alguien más pueden tomar TODOS los cursos de Platzi durante un año”);
}

3.-
const mySubscription = “Expert”;

const subscriptionType = [
{ subscription: “Free”, message: “Solo puedes tomar los cursos gratis” },
{
subscription: “Basic”,
message: “Puedes tomar casi todos los cursos de Platzi durante un mes”,
},
{
subscription: “Expert”,
message: “Puedes tomar casi todos los cursos de Platzi durante un año”,
},
{
subscription: “ExpertPlus”,
message:
“Tú y alguien más pueden tomar TODOS los cursos de Platzi durante un año”,
},
];

const printSubscription = subscriptionType.map(
(item) => item.subscription === mySubscription && console.log(item.message)
);

----------Ciclos----------

1.-
Es un bloque de codigo que se ejecuta determinadas veces
for, do while, while, for in, for of,
Es cuando no se establece un limite en el ciclo, esto es un problema ya que puede generar problemas al llenar lamemoria ram o el callback de java script y puede causar congelamientos en el programa
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.-
let result = prompt(“Cuanto es 2 + 2”);

while (result !== “4”) {
result = prompt(“Cuanto es 2 + 2”);
}

----------Listas----------
1.-
Una serie de elementos almacenados en memoria
Una variable que tiene atributos y puede tener metodos
Si ejemplo:
const myArray = [
{
subscription: “Free”,
message: “Solo puedes tomar los cursos gratis” },
{
subscription: “Basic”,
message: “Puedes tomar casi todos los cursos de Platzi durante un mes”,
},
{
subscription: “Expert”,
message: “Puedes tomar casi todos los cursos de Platzi durante un año”,
},
];

2.-
const array = [0,1,2,3,4]

const firstElement = (array) => {
console.log(array[0])
}

firstElement(array)

3.-
const array = [0, 1, 2, 3, 4];

const allElements = (array) => {
for (let item of array) {
console.log(${item})
}
}

allElements(array)

4.-
const objectArray = [
{ text: “uno”, num: 1 },
{ text: “dos”, num: 2 },
{ text: “tres”, num: 3 },
{ text: “cuatro”, num: 4 },
];

const allObject = (objectArray) => {
for (const item in objectArray) {
console.log(objectArray[item]);
}
};

allObject(objectArray);

// Prueba JavaScript

//1- Preguntas

Una variable es un espacio en memoria, tiene al función de asignarle un valor a dicho espacio.

Cuando declaramos una variable estámos indicando que proximamente esa variable va a tener un valor y cuando la inicializamos se lo asignamos.a

En la suma de números se hace la operación matemática, en cambio en la concatenación en solo la unión de strings.

El operador de suma es +.

// Variables

let nombre=“Fabiola”;
let apellido=“Odio”;
let usuarioPlatzi=“fabiolaodio”;
let edad=21;
let correo= “[email protected]”;
let mayorEdad= true;
let dineroAhorrado=20 000;
let deuda= 5000;

// Variables

var nombreCompleto= nombre + " " + apellido;
var dineroReal= dineroAhorrado-deuda;

// Funciones

Una funcion en un conjunto de instrucciones y datos, que tiene una tarea a cumplir.

// Cambio a función

function saludo(name, lastname, nickname){
let nombreCompleto= name + " " + lastname;
console.log("Mi nombre es " + nombreCompleto + ", pero prefiero que me digas " + nickname + “.”);

}

saludo(“Fabiola”, “Odio”, “Lola”);

//Condicionales

Un condicional es conjunto de instrucciones que se pueden cumplir o no, dependiento del parametro que se vaya a evaluar.

Los tipos de condicionesl son: if, else, else if y switch.

Si se pueden combinar condicionales y funciones.

//Condicional cambio

const tipoDeSuscripcion= “Expert”;

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

//Condicional 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==“Expert+”) {
console.log(“Tú y alguien más pueden tomar TODOS los cursos de Platzi durante un año”);
}

//Ciclos

Un ciclo es cuando se ejecuta una accion mientras una cóndicion se cumpla o en cierta cantidad de repeticiones.a

Los ciclos que hay son, for, while, do while.

Un ciclo infinito es cuando la condición nunca se cumple y el código no va a tener nunca un fin y el problema es que el programa va a quedar pegado.

Si se pueden mezclar ciclos y condicionales.

//Ejercicio de ciclos

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

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

//Ejercicio de preguntar al usuario

function respuesta(resultado){
var resultado = window.prompt("¿Cuánto es 2+2?");

    if (resultado!=4) {
        respuesta(resultado);
        
    }else{
        console.log("Felicidades")
    }

}
respuesta();

// Listas

Un array es un conjunto de datos almacenados en una variable, y deben de ser del mismo tipo de dato.

// Listas ejercicio 1

rgb=[];

function primerColor(rgb){

console.log("El primer color primario es: " + rgb[0]);

}

primerColor([“red”,“green”,“blue”]);

// Listas ejercicio 2

rgb=[];

function primerColor(rgb){

for (let i = 0; i < rgb.length; i++) {
    console.log(rgb[i]);
    
}

}

primerColor([“red”,“green”,“blue”]);

  1. Respuestas
  • ¿Qué es una variable y para qué sirve?
    Una variable es un espacio de memoria en donde se almacenan datos de un programa.

  • ¿Cuál es la diferencia entre declarar e inicializar una variable?
    La diferencia se basa en que inicializar una variable se especifica el valor de dicha desde el inicio.

  • ¿Cuál es la diferencia entre sumar números y concatenar strings?
    Sumar número es una operación matemática, mientras que concatenar es la unión de elementos.

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

  • 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 Mynameis(name, lastname,nickname){
     let completeName = name +' '+lastname;
    console.log("Mi nombre es " + completeName + ", pero prefiero que me digas " + nickname + ".");
}
Mynameis("Sergio", "Diaz", "codediaz");

const tipoDeSuscripcion = “Basic”;
var listOfSubscirptions = [
{ plan : “Free”, message : “Solo puedes tomar cursos gratis”},
{ plan : “Basic”, message : “Puedes tomar casi todos los cursos de Platzi durante un mes”},
{ plan : “Expert”, message : “Puedes tomar casi todos los cursos de Platzi durante un ano”},
{ plan : “ExpertPlus”, message : “Tu y Alguien mas pueden tomar Todos los cursos de Platzi durante un ano”}
];

var toPrint = listOfSubscirptions.find(e => e.plan === tipoDeSuscripcion);
console.log(toPrint.message);

el condicional de If no mas por si a alguien le interesa, yo encontre de esta forma

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

let eleccion = 'Basic';

let posicion = suscricionesDisponibles.indexOf(eleccion)
if(posicion== -1){
    console.log('escoge un plan valido')
}else{
  console.log(mensajes[posicion])
<code> 

Operaciones y variables

1 a) Una variable sirve para guardar elelmentos
b) declarar una variable es asignar un espacio en memoria para una variable, mientras que inicializar asigna un valor a esa variable.
c) ejemplos :
sumar números
var a = 32 + 12;
a = 44

concatenar strings var b = “32” + “12”; b = “3212” d) +
2
a) string: nombre
b) string: apellido
c) string: usarioPlatzi
d) int: edad
e) string: email
f) boolean: mayor de edad
g) int : dinero ahorrado
h) int: deudasvar nombre;
3
var apellido;
var usuarioPlatzi;
var edad;
var email;
var mayorEdad;
var dineroAhorrado;
var deudas;

a)
console.log(nombre + " " + apellido);
b) console.log(dineroAhorrado - deudas);

Funciones:

  1. a) Una funcion es un bloque de codigo donde están las instrucciones necesarias para realizar una serie de opericiones con un objetivo determinado
    b)para evitar escribir tanto codigo repeptitivo, por ejemplo si hay una serie de instrucciones que se repiten muchas veces, con un cierto patrón, esas serie de instrucciones se pueden agrupar en una función.
    c) los argumentos son los valores del scope local, mientras que parámetro es mas global

var name = "Aaron";
var lastname = "Quintana";
var nickname = "Aaronquin";
function nombreCompleto(name, lastname, nickname){
	const completeName = name +" "+ lastname;
	console.log("Mi nombre es " + completeName + ", pero prefiero que me digas " + nickname+ ".");
}

Espero comentarios…exitos a todos.

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

Here we gooo!!!

  1. Etapa 1.
  • ¿Qué es una variable?

Una variable es un espacio asignado en memoria para guardar un valor. Nos sirve para tener datos asignados a una palabra y utilizarla constantemente de manera más sencilla.

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

Declarar una variable es únicamente asignar el espacio en memorio:

var variable;

En cambio inicializar una variable es cuando asignamos un valor a la misma:

var variable: "Hola";
  • ¿Cuál es la diferencia entre sumar números y concatenar strings?

Al sumar números realizamos una operacion con dos valores de un mismo tipo de dato. Al concatenar strings estamos uniendo dos datos distintos tipo strings sin realizar ningún tipo de operación matemática.

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

El operador de suma “+” Ejemplo:

var nombre = "Luis"
console.log("Hola mi nombre es " + nombre);
  1. Determina el nombre y tipo de dato para almacenar en variables la siguiente información:

El tipo de dato será un objeto y el nombre puede ser el que nosotros deseemos. En este caso es factible que el objeto se llame “usuario”.

  1. Traduce a codigo Javascript las variables del ejemplo anterior y deja tu codigo en los comentarios:
 var usuario = [{
           nombre:"Luis",
           apellido: "Martinez",
           platziUsername: "Luinez",
           edad: 22,
           email: "[email protected]",
           mayorDeEdad: true,
           dineroAhorrado: 1200,
           deudas: 0

       }]

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

Nombre completo y Dinero real.

const usuario = {
           nombre:"Luis",
           apellido: "Martinez",
           platziUsername: "Luinez",
           edad: 22,
           email: "[email protected]",
           mayorDeEdad: true,
           dineroAhorrado: 1200,
           deudas: 10,
           dineroReal: function()
           {
               return this.dineroAhorrado - this.deudas
           }
           
       };

       console.log("Nombre del usuario: " + usuario.nombre + " " + usuario.apellido + " Y su dinero real es: " + usuario.dineroReal())


1️

  1. Responde las siguientes preguntas en la sección de comentarios:
  • ¿Qué es una función?
    Una funcion es un codigo que encapsulamos o guardamos en memoria para cumplir una funcion especifica y luego usarla facilmente cuando deseemos.
  • ¿Cuándo me sirve usar una función en mi código?
    

Una funcion te sirve en tu codigo cuando ves que hay un codigo que repites muchas veces que siempre tiene la misma estructura.

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

Un parametro es lo que pasamos por los parentesis de la funcion. Son los datos que necesitamos tener para que la funcion funcione. Podemos entenderlo como variables locales. Los argumentos son lo mismo que los parametros.

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

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

¿Qué es una condicional?

Una condiconal es una herramienta de programacion en la que un codigo ocurrira si se cumple una condicion dada
¿Qué tipos de condicionales existen en JavaScript y cuáles son sus diferencias?

If(){} Es un tipo de condicional base. Si la condicion entre parentesis ocurre, el codigo entre llaves ocurrira

else if(){} Lo usamos para indicar que si ocurre otro caso especifica pero distinto al primer if, ocurre un codigo distinto. 

else() Lo usamos para indicar que si ocurre cualquier otra cosa no especifica, ocurrira ese codigo

{}
¿Puedo combinar funciones y condicionales?

Si se pueden combinar.

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

const tipoDeSuscripcion = ["Free", "Basic", "Expert", "ExpertPlus"]

let decision = "ExpertPlus";

function mensaje()
{
    function saludar()
    {
        console.log('Disfruta de tus cursos, usuario ' + decision)
    }
    if(decision === tipoDeSuscripcion[0])
    {
        saludar()
        
    }

    else if(decision === tipoDeSuscripcion[1])
    {
        saludar()
        
    }
    
    else if(decision === tipoDeSuscripcion[2])
    {
        saludar()
        
    }

    else if(decision === tipoDeSuscripcion[3])
    {
        saludar()
        
    }

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

var plan = "ExpertPlus"

function llamar()
{
    if(plan === "Free")
    {
        console.log("Solo puedes tomar los cursos gratis");

    }

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

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

    if(plan === "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:
  1. ¿Qué es un ciclo?
    

    Un ciclo es una herramienta de javascript que repetira un codigo mientras se cumpla una funcion

  2. ¿Qué tipos de ciclos existen en JavaScript?

    Puefdes encontrar ciclos for, while, for of

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

    Un ciclo infinitio es cuando no colocamos una condicion de cierre para cerrar el ciclo. Se vuelve un problema porque es un proceso que nunca termina, y puede relentizar nuestra computadora.

  4. ¿Puedo mezclar ciclos y condicionales?

Si puedes mezclar ciclos y condicionales. lo haras muchas veces tambien

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

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

let respuesta = parseInt(prompt("¿Cuánto es 2 + 2?"));

function llamarNumero()
{
    if(respuesta == 4)
    {
        console.log("Respuesta correcta");
    }

    else
    {
        console.log("Respuesta incorrecta!")
    }
}

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

¿Qué es un array?

Un array es un contenedor de datos tipo objeto. Podemos decir que es una manera de guardar datos dentro de un dato.
¿Qué es un objeto?

Un objeto es una representacion en codigo de algo en la vida real. Puede verse como un contenedor de datos. Guardar variables dentro de una variable

  1. Variable: Consiste en guardar un dato en memoria. Sirve para reutilizar los datos almacenados en cualquier momento del desarrollo.
  2. Declarar una variable es asignar un nombre, inicializar una variable es dar un valor a ese nombre.
  3. Sumar numeros es una operacion matematica. Concatenar strings significa juntar caracteres o palabras.
  4. El operador de +.
  5. ‘Fabio’ = Strings
    6.‘Sosa’ = Strings
    7.‘fesm’ = Strings
    8.28 = number
  6. [email protected]’ = Strings
  7. true = boolean
  8. 1000000 = number
  9. 0 = number.
const nombre = 'Fabio';
const apellido = 'Sosa';
let nombreUsuario = 'fesm';
let edad = 28;
let correo = '[email protected]';
let mayorEdad = true;
let dineroAhorrado = 1000000;
let deudas = 0;
console.log(`${nombre}${apellido}`);
console.log(dineroAhorrado - deudas);
  1. Funcion: Declaracion de sentencias de codigos dentro de un bloque.
  2. Cuando se necesita realizar tareas especificas.
  3. Parametros: Son los datos que solicita nuestra funcion, se declara dentro de los parentesis. Argumentos: Son los datos que ingresamos al llamar a la funcion.
function usuario(name, lastname, nickname) {
	const name = name;
	const lastname = lastname;
	let nickname = nickname;
	console.log(`Mi nombre es ${name} ${lastname}, pero prefiero que me digas ${nickname}`);
}
usuario('Fabio', 'Sosa', 'fesm');

Una condicion es una comparacion de datos donde se devuelve verdadero(true) o falso(false).
if else, switch, operador ternario
if else = se ejecuta el if cuando una condicion es verdadero, si la condicion es falsa se ejecuta el else.
switch = compara el valor de una variable con la expresion de condicion dentro de los casos que se encuentra dentro del switch
operador ternario = forma abreviada de if else, donde expresamos la condicion seguido de un ? para indicar que se ejecutara cuando sea true, de lo contrario se ejecuta false, expresado con el simbolo :

Si, dentro de las funciones se puede agregar condicionales. y dentro de las condicionaes declarar o expresar funciones.

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


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");
} 
if{
	console.log('Registrate en platzi para que nunca pares de aprender');
}

BONUS :
let free = 'Solo puedes tomar los cursos gratis';
let basic = 'Puedes tomar casi todos los cursos de Platzi durante un mes';
let expert = 'Puedes tomar casi todos los cursos de Platzi durante un año';
let expertplus = 'Tú y alguien más pueden tomar TODOS los cursos de Platzi durante un año';

const tipoDeSuscripcion = [free, basic, expert, expertplus];

function preguntarSuscripcion(suscripcion) {
    let buscar = tipoDeSuscripcion.filter(item => item === suscripcion);
    if(buscar) {
        console.log(buscar)
    }
    else {
        console.log('No estas registrado en Platzi.com')
    }
}

preguntarSuscripcion(expert)

Ciclo: Un ciclo o bucle es iterar o simplemente reptir un codigo cuando una condicion sea verdadera.
tipos: for, while, do while
Un blucle infinito es cuando la condicion no ha sido planteado de la mejor manera, dando como resultado un bucle de ejecucion infinito, es decir nunca finalizara. Es un problema porque no vamos a poder visualizar algun resultado, o ralentizara la maquina del usuario, o porque es un bloque de codigo sin fines de uso.
Si, se pueden mesclar.


let i = 0;
while( i < 5){
	console.log('El valor de i es: '
 + i);


let j = 10;
while(j >= 2) {
	console.log('el valor de j es : ' + j);
	j--;
}

let pregunta = prompt('Cuanto es 2 + 2?');
if(pregunta === 4){
	alert('felicidades, respondiste bien');
} else {
	alert('Respuesta incorrecta')l
}

Un array es una coleccion de datos de tipo objeto.
Un objeto es la representacion abstrata de los objetos de la vida que representado en codigo se utiliza propiedades y metodos.
Arrays es util cuando necesitamos agregar cualquier tipo de dato para luego poder manipularnos con los metodos de un array. Un objeto es util cuando necesitamos representar datos de forma legible.

Si, ambos se pueden mesclar.

const miarray = ['lista1', 'lista2']
function mostrarArray(lista){
	console.log(lista[0]);
}
mostrarArray(miarray)


function mostrarTodo(lista){
	lista.forEach(item => console.log(item));
}
mostrarTodo(miarray);

const user = {
 nombre: 'fabio',
 pais: 'Paraguay'
}

function mostrarObjetos(objetos){
	Object.entries(user).forEach(([key,value] => console.log(value)))
}

🥵

let nombre = "Christian";
let apellido = "Chavez";
let usuario = "chrischavez1216";
let edad = 22;
let correo = "[email protected]";
let mayoria = edad >= 18 ? true:false;
let ahorros = 1700;
let deudas = 300;

let nombreCompleto = nombre + " " + apellido;
let dineroTotal = ahorros - deudas;

console.log(`Nombre completo: ${nombreCompleto}
Dinero Real: ${dineroTotal}
Usuario: ${usuario}
Edad: ${edad}
Mayor de edad: ${mayoria}`
);

Variables y operadores.
1-
A- Una variable es un espacio reservado en memoria donde se almacena información.
B- Al declarar una variable reservamos ese espacio en memoria, al inicializarla le almacenamos información en dicho espacio.
C- La suma de números es una operación matemática, mientras que concatenar strings es unificar dos bloques de caracteres.
D- El operador + es el que nos permite sumar o concatenar.
2-
Nombre:
var nombre (string)
Apellido:
var apellido (string)
Nombre de usuario en Platzi:
var Nombredeusuario (string)
Edad:
var edad (número)
Correo electrónico:
var Email (string)
Mayor de edad:
var mayoredad (booleano)
dinero ahorrado:
var ahorros (número)
Deudas:
var deudas (número)

3-

<
var nombre = "Alejandro"
var apellido = "Lafferriere"
var Nombredeusuario = "AleLaffe"
var edad = 38
var Email = "[email protected]"
var mayoredad = true
var ahorros = 350000
var deudas = 100000
> 

4-

<
var nombrecompleto = nombre + " " + apellido o  "${nombre} ${apellido}"
> 
<
dReal = ahorros - deudas
> 

Acá esta mi aporte.
/*VARIABLES Y OPERACIONES 1.Declarar una variable es darle un nombre a un valor que se guarda en memoria para reutilizar. Inicializar una variable es asignar un valor a un nombre declarado la diferencia es que sumar numeros arroja un valor numerico, el concatenar strings usa valores asignados en forma de texto.

Nombre = String
Apellido = String
Nombre de usuario de Platzi = Arrays
Edad = Fechas, predefinido.
Correo Electronico = String
Mayor de edad = Booleano
Dinero ahorrado = Funcion
Dudas

var nombre = ‘Julian’;
var apellido = ‘Andrade’;
var usuario = ‘Julifeli123’;
var edad = 28;
var email = ‘Andrade8***@hotmail.com’;
var edad = true;
var ahorros = 10900;
var deudas = 2300;
4.*/
var nombreCompleto = nombre + apellido;
var dineroReal = ahorros - deudas;

console.log (“Bienvenido” + nombreCompleto +
“Su dinero actual es” + dineroReal);
/*
FUNCIONES

  1. Una función es un conjunto de sentencias que se usan para generar una accion especifica con los valores previamente asignados en variables.
    una función es util cuando se requiere reutilizar procesos.

2.*/
var nombre;
var apellido;
var alias;
var nombreCompleto;
nombreCompleto = nombre + " " + apellido;

function saludar(nombre, apellido ,alias){
console.log(“Soy " + nombre + apellido + " y en videojuegos me dicen " + alias + " att:” + nombreCompleto)
}
saludar("Julian ", "Andrade " , "Laires ")
/*
CONDICIONALES
1.
una condicional es un conjunto de comandos que toma deciciones true o false (boolean) dependiendo si cumple los parametros hace esta orden IF o hace la siguiente ELSE, o 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;
}
*/
var tipoDeSuscripcion;
var free;
var basic;
var expert;
var expertPlus;

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

/*
ahora solo con if
*/
var free;
var basic;
var expert;
var expertPlus;
var tipoDeSuscripcion = plan;
var plan = [free , basic , expert , expertPlus];
free = (“Puedes tomar casi todos los cursos de Platzi durante un mes”);
basic = (“Solo puedes tomar los cursos gratis”);
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 === plan[0]){
console.log(plan[0])
}

/*
CICLOS

    • un ciclo es un loop y se repetie hasta cumplir una regla
    • existen varios tipos = for, for … of … , while.
  1. fot to while
    for (let i = 0; i < 5; i++) {
    console.log("El valor de i es: " + i);
    }
    */
    i = 5 ;
    while(i > 0){ i – ; console.log("El valor de i es: " + i); ;

    }

/*segundo de while

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

}*/
i = 10;
while (i >= 0) { i-- ; console.log("The number is " + i ) ;
}

/*
LISTAS
1.
-un array es un conjunto de datos asignados a un mismo valor.
-un objeto es un conjunto de arrays asignados a un mismo valor.
- un objeto sirve para que una variable tenga varias variables, ejemplo recetas = [{
proteina = carne;
cereal = arroz ;
vegetales = cebolla ;
}]
en cambio un array sirve para que una variable ahora tenga multiples valores ej

deportes = [ tennis , futbol , bolos , golf]
- si se pueden mezclar arrays con objetos u objetos con arrays solo hay que asegurarse que no haga hoisting  y que el scope aplicado a cada variable sea la adecuado. 

2.*/

var numeros
numeros = [1,2,3];
var nuevo
function nuevonumero(nuevo){
agregarnumeros = numeros.unshift(nuevo)
console.log(numeros[0])
}

var Cualquiera
Cualquiera = [1,2,3,4,5];
var imprimirCualquiera

function imprimirCualquiera(Cualquiera){
console.log(Cualquiera)

}
for (var i = 0; i < Cualquiera.length; i++){
imprimirCualquiera(Cualquiera[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).
*/

var marca = [“susuki”,“yamaha”,];
var modelo = [“2010”,“2011”];

function barco (marca,modelo) {
this.marca = marca;
this.modelo = modelo;
}

for (var i = 0; marca.length > i && modelo.length > i; i++){
var barcoNuevo = new barco(marca[i], modelo[i]);
console.log(barcoNuevo)
}

Variables y operaciones

  • ¿Qué es una variable y para qué sirve?
    Una variable es un espacio en memoria que se reserva para almacenar información.
  • ¿Cuál es la diferencia entre declarar e inicializar una variable?
    La declaración no guarda datos, solo guarda el espacio en memoria.
  • ¿Cuál es la diferencia entre sumar números y concatenar strings?
    La suma de numeros se da entre datos de tipo number. Concatenar strings se da entre datos de tipo string.
  • ¿Cuál operador me permite sumar o concatenar?
    El operador suma “+”.

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

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

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

var nombre = “Carlos”;
var apellido = " López";
var userName = “@Carloslopez29”;
var email = “[email protected]”;
var mayorEdad = true;
var dineroAhorrado = 5000;
var deudas = 2000

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

  • Nombre completo (nombre y apellido)
    var fullName = ${nombre}${apellido};
  • Dinero real (dinero ahorrado menos deudas)
    var dineroTotal = dineroAhorrado - deudas;

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

  • ¿Qué es una función?
    Es un bloque de código que realiza una serie de instrucciones que se guardan en memoria.
  • ¿Cuándo me sirve usar una función en mi código?
    Cuando quiero repetir las mismas instrucciones en diferentes partes del código
  • ¿Cuál es la diferencia entre parámetros y argumentos de una función?
    Los parámetros son condiciones que delimitan a la función mientras que los argumentos configuran el contenido 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:
function myPresentation (name,lastname,nickname){
var fullName = ${name }${lastname}
return "Mi nombre es " + fullName + ", pero prefiero que me digas " + nickname + “.”
};

console.log(myPresentation(“Carlos”,“López”,“Charly”));

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

  • ¿Qué es una condicional?
    Un bloque de código que toma decisiones en base a la interacción del usuario para arrojar una respuesta.
  • ¿Qué tipos de condicionales existen en JavaScript y cuáles son sus diferencias?
    If, else If, switch y ternario.
  • ¿Puedo combinar funciones y condicionales?
    Así es.

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

const tipoDeSuscripcion = “Free”;

if (tipoDeSuscripcion === “Free”){
console.log(“Solo puedes tomar 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 curos de Platzi durante un año”);
}
else if (tipoDeSuscripcion === “Expert Plus”){
console.log(“Tú y alguien más pueden tomar TODOS los cursos de Platzi durante un año”)
};

3️⃣ Replica el comportamiento de tu condicional anterior con if, else y else if, pero ahora solo con if (sin else ni else if).
//Solo con If
const tipoDeSuscripcion = “Free”;

if (tipoDeSuscripcion === “Free”){
console.log (“Solo puedes tomar 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 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”);
}
}
}

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

  • ¿Qué es un ciclo?
    Es una sentencia que se realiza repetidas veces a una parte específica de código.
  • ¿Qué tipos de ciclos existen en JavaScript?
    for, do… while, while, labeled, break, continue, for … in, for … of.
  • ¿Qué es un ciclo infinito y por qué es un problema?
    Un ciclo infinito es una sentencia de código que se repite indefinidamente, su condición para finalizar nunca se cumple.
  • ¿Puedo mezclar ciclos y condicionales?

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

let i = 0;
while(i<5){

console.log("El valor de i es : "+i);
i++;

}

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

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

let respuesta = 0;
do{
respuesta = prompt("¿cuanto es 2+2");
respuesta *= 1;
} while (!(respuesta === 4))

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

  • ¿Qué es un array?
    Es un conjunto de valores del mismo tipo almacenados en una sola variable
  • ¿Qué es un objeto?
    Es una colección de propiedades
  • ¿Cuándo es mejor usar objetos o arrays?
    Depende del problema a resolver
  • ¿Puedo mezclar arrays con objetos o incluso objetos con arrays?

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

  • Un espacio reservado en la memoria
  • La diferencia es que al declara la variable esta ya tiene un espacio en la memoria, luego se inicializa para su uso en ese mismo espacio.
    -el operador de suma
  1. Determina el nombre y tipo de dato para almacenar en variables la siguiente información:

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

let nombre = "David";
let apellido = "Perez";
let nombreUserPlatzi = "David Abraham";
let edad = 21;
let correo = "[email protected]";
let mayordeEdad = true;
let dineroAhorrado = 1000;
let deudas = null;

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

let mensaje = `Hola mi nombre es ${nombre} ${apellido}, y tengo ahorrado ${dineroAhorrado}Q y no tengo dedudas`;

console.log(mensaje);

FUNCIONES

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

-Una función es un proceso en el que creamos para luego ejecutarlo cuantas veces queramos.
-Porque asi puedo reutilizar mi codigo y no tenes muchas lineas de codigo de más.
-El parametro es como la variable cual se usara en la funcion y el argumento es una serie de datos que necesitara para ejecutarse.

CONDICIONALES

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

-Una condción es una serie de pasos que tiene que valdiar para ejecutarse siera acción.
-if, switch, operadores logicos,operadores ternearios.
-si, puedo hacerlo.

  1. Replica el comportamiento del siguiente código que usa la sentencia switch utilizando if, else y else if:
// Declaramos la variable con el valor basic
let tipoDeSuscripcion = "Basic";

// hacemos la condicion
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("Puedes tomar casi todos los cursos de Platzi durante un año");
} else {
  console.log("No puedes ingresar a platzi");
}
// Declaramos la variable con el valor basic
let tipoDeSuscripcion = "Basic";

// hacemos la condicion
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("Puedes tomar casi todos los cursos de Platzi durante un año");
}
{
  console.log("No puedes ingresar a platzi");
}

CICLOS

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

-Un ciclo es algo que se repite varias veces o infinitas veces.
-for,do while,while,for in, for of.
-si.

let i = 0;

while (i <= 5) {
  console.log(`El valor de la i es: ${i}`);
  i++;
}
// Replica 2
let i = 10;

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

do {
  respuesta = prompt("Ingrese la repuesta de 2 + 2: ");
} while (respuesta != 2);
{
  alert("Respuesta Correcta");
}

LISTA

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

-Es una estructura de da tos tipo objeto,
-es una coleccion de datos.
-depende del uso al que se le debe de dar, para datos más especificos yo usaria los objetos.
-si

let personas = ["Juan", "David", "Mateo", "Rodolfo"];

function array() {
  console.log(personas[1]);
}

array();
let personas = ["Juan", "David", "Mateo", "Rodolfo"];

personas.forEach(function mostara(persona) {
  console.log(persona);
});
let personas = [
  { nombre: "David" },
  { nombre: "Juan" },
  { nombre: "Roberto" },
  { nombre: "Ana" },
];

let mostrarPersonas = personas.map(function (persona) {
  return persona;
});

console.log(mostrarPersonas);

1-
Qué es una variable y para que sirve?
R: Una variable es un espacio en memoria y sirve para guardar informacion.
Cual es la diferencia entre declarar e Inicializar una variable?
R: Declarar una variable es crearla en java y lo hacemos con la palabra reservada Var, e inicializar una variable es asignarle un valor, ejemplo: var a = “Juanito”; o var = 89.
Cual es la diferencia entre sumar números y concatenar strings?
R: Sumar números es realizar una operacion aritmetica, en este caso la suma usando el operador
"+" ejemplo: total = a + b o total = 8 + 9
y concatenar strings, es asignarle a otra variable, valores tipo string dos valores tipo string a una variable tipo string: ejemplo:
var nombrecompleto;
var nombre = “juan”;
var apellidopat = “López”;
var apellidomat = “Pérez”;
nombrecompleto = nombre + " " + apellidopat + " " + “” + apellidomat;
Cual operador me permite sumar o concatenar?
el operador que me permite sumar o concatenar es el operador “+”.
2-
Determina el nombre y tipo de datos para almacenar en variables la siguiente informacion:

Nombre string
Apellido string
Nombre de usuario en Platzi string
edad number
Correo Electronico string
Mayor de edad boolean
Dinero ahorrado number
Deudas number

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

var nombre = “Juan”;
var Apellido = “Perez”;
var Nombredeusuarioenplatzi = “Juan Perez”;
var edad = 45;
var Correoelectronico = “[email protected]”;
var mayordedeedad = true boolean;
var Dineroahorrado = 2000;
var deudas = 2500. 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 nombrecompleto;
var nombre = “Jacinto”;
var apellido = "Hernández"
consolelog("Mi :"nombrecompleto = nombre + apellido);

5
Qué es una función?
es una herramienta de la POO en la cual puedes encapsular codigo, para usarlo en varias partes de tu codigo.

¿Cuándo me sirve usar una función en mi código?
Una función sirve cuando el codigo es muy extenso y se usan muchas variables, y de esta manera podemos acortar el codigo y hacerlo mas entendible .

¿Cual es la diferencia entre parametros y argumentos de una función?
Los parametros son variables los argumentos son las instrucciones para arrojar un resultado.

var dineroreal;
var dineroahorrado = 5000;
var deudas = 3000;
consolelog("Mi dinero real es: " dineroreal = dineroahorrado-deudas);

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 nikname = “Juandc"
function mifuncion ()
{
const completeName = name +lastname;
console.log (“Mi nombre es: " + completeName +”, pero prefiero que me digas “+ nickname”.”);
}
mifuncion();

Condicionales

¿Qué es un condicional?
Es una expresión que me arroja varios resultados dependiendo de la respuesta del usuario.

¿Qué tipos de condicionales existen en JavaScript y cuáles son sus diferencias?
if then:
Condicional que me arroja un solo resultado

if then else:
condicional que me arroja un solo resultado, o bien
arroja otro resultado si el usuario tiene otra respuesta.

else if
condicional que cambia de resultado si el usuario cambia de opinión.

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 mes”)
}else if(tipoDeSuscripcion = “ExpertPlus”)
{
Tú 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).

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

Ciclos
¿Qué es un ciclo?
Es un bucle que inicia cuando se cumple una condición.
¿Qué tipos de ciclos existen en JavaScript?
For
do while
until

¿Qué es un ciclo infinito y por qué es un problema?
Un ciclo infinito es aquel que nunca se termina de cumplir y es un problema porque inunda la memoria cache y provoca un desbordamiento.

¿Puedo mezclar ciclos y condicionales?
si

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

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

  • Es dato que guarda en el espacio de memoria.

-Declara: es cuando se reserva ese espacio en la memoria.
Inicializar: es cuando se guarda información en la
memoria.

  • Cuando se suman números se hace la operación matemática y su resultado es un número. Cuando concatenamos agregamos un string a otro y su resultado es un string.
  • El símbolo +.

2.3
-let Nombre: 'Juan’
let Apellido: 'Lozano’
let nombreUsario: 'juansenic’
let Edad: 24;
let correoElectronico: '[email protected]
let mayorDeEdad: true;
let dineroAhorrado: 0;
let deudas: 1500;

let Nombre= 'Juan’
let Apellido= 'Lozano’
let nombreUsario= 'juansenic’
let Edad= 24;
let correoElectronico= '[email protected]
let mayorDeEdad= true;
let dineroAhorrado= 0;
let deudas= 1500;
undefined
nombreCompeto = Nombre + Apellido;
'JuanLozano’
miDinero = dineroAhorrado-deudas;
-1500

console.log('Mi nombre es ’ +nombreCompeto + ’ y tengo ’ + miDinero + ‘- pesos’)

VM911:2 Mi nombre es JuanLozano y tengo -1500- pesos

Buenas jeje, aqui van mis respuestas 😉
(Porci, comenten si me equivoque en algo)

Variables y operaciones
1

  • Una variable es un espacio en la memoria en donde se puede guardar un tipo de dato
  • Al declarar una variable, se crea un espacio en la memoria de un tipo especifico o no de un dato, pero este espacio esta vacio
    Al inicializar una variable le estamos dando un valor a la misma
  • Al sumar numeros, obtendriamos valores numericos. Pero al concatenar strings junto con otros strings u otros tipos de datos, los unimos como si fueran cadenas de texto
  • El simbolo +
    2
  • Nombre-String-CadenaTexto
  • Apellido-String-CadenaTexto
  • Nombre de usuario en Platzi-String-CadenaTexto
  • Edad-int-entero
  • Correo Electronico-String-CadenaTexto
  • MayorDeEdad-boolean-expresionBooleanaComo1==1(tambien puede ser true o false)
  • Dinero ahorrado-double-enteroConDecimal
  • Deudas-int-entero
    3 y 4
    Nombre = “Juan”;
    Apellido = “Locko”;
    UsuarioPlatzi = “JLock”;
    Edad = 17;
    CorreoElectronico = “[email protected]”;
    MayorEdad = false;
    DineroAhorrado = 99.99;
    Deudas = 13;
    console.log(“Nombre Completo: “+Nombre+” “+Apellido+”\n”+"Dinero real: "+(DineroAhorrado-Deudas));

Funciones
1

  • Una funcion es un conjunto de operaciones que pueden ser llamadas (cuando se invoca a la funcion) N veces en la funcion principal Main
  • Cuando queremos hacer determinadas operaciones en nuestro programa varias veces sin tener que reescribir codigo
  • Un argumento es el tipo de dato que la funcion recibira al ser llamada y un parametro es un dato que le pasamos a la funcion cuando la invocamos
    2
    const name = “Juan David”;
    const lastname = “Castro Gallego”;
    const nickname = “juandc”;
    function presentacion(name, lastname, nickname){
    completeName = name + " " + lastname;
    console.log("Mi nombre es " + completeName + ", pero prefiero que me digas " + nickname + “.”);
    }
    presentacion(name,lastname,nickname);

Condicionales
1

  • Es un control del flujo que puede ser o no usado en un programa
  • Tenemos a los if que reciben una expresion booleana para evaluar si es true o false, los else if son subIfs que se usan y ejecutan siempre luego de un if (si es que la condicion de este if dio false), y los else son las sentencias que se ejecuta en caso de que el if y los else if hayan dado false (por cada if debe haber un solo else, pero pueden haber entre un if y un else varios else if)
    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{
    console.log(“Tú y alguien más pueden tomar TODOS los cursos de Platzi durante un año”);
    }
    3
    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

  • Es un bucle que se repetira las N veces requeridas hasta que se cumpla una condicion booleana. Tambien es considerado un control de flujo del programa
  • Tenemos a los for, while, do while, etc
  • Es un bucle que nunca de los nunca acaba, como lo es:
    while(true){consol.log(“hola”);}
    Ellos causan que nuestro programa no se ejecute completamente y se quede trancado en cierta parte de la ejecucion del programa
  • Si, ya sea un bucle dentro de un condicional, o un condicional dentro de un bucle
    2
    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
function pregunta(){
a=”";
while(a!=“4”){
a=prompt(“Cuanto es 2+2?”);
if(a==“4”){
alert(“felicitaciones”);
}
}
}
pregunta();

Listas
1

  • Es una estructura de datos, la cual puede guardar varios datos de un mismo tipo como: array=[1,2,3,4,5];
  • Un objeto es la instancia de una clase
  • Depende del objetivo que tenga el programa
  • Es posible, es como si hicieramos un arreglo de objetos por ejemplo
    2
    array = [1,2,3,4,5];
    function mostrarElemento(array){
    alert(array[0]);
    }
    mostrarElemento(array);
    3
    array = [1,2,3,4,5];
    function mostrarElemento(array){
    array.forEach(element => {
    console.log(element);
    });
    }
    mostrarElemento(array);

En lo personal creo que lo mas importante de la prueba es leer con atencion lo que se te pide, fuera de eso me diverti realizando la prueba.
.
Me costo mucho ultima de todas pero todo salio bien c:
Good ending
.

Variables y operaciones

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

  • ¿Qué es una variable y para qué sirve?
    • Una variable un identificador a un espacio de memoria y sirve para reservar un espacio en memoria
  • ¿Cuál es la diferencia entre declarar e inicializar una variable?
    • Al declarar solo le pones una “etiqueta” pero realmente no cuenta con ningún valor, el inicializar la variable se le asigna un valor
  • ¿Cuál es la diferencia entre sumar números y concatenar strings?
    • Sumar se realiza un calculo, una adición, una operación matemática, al concatenar simplemente se adhiere un valor junto a otro además que se realiza una transformación de tipo de datos
  • ¿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
    • 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.

Respuesta

var nombre = "Kevin";
var apellido = "Santiago";
var nicknamePlatzi = "MrKetchupp";
var edad = 22;
var email = "[email protected]";
var mayorEdad = true;
var dineroAhorrado = 4302;
var deudas = 324;

//Tambien pense que puede ser un objeto.
var platzinauta = {
    nombre:"Kevin",
    apellido:"Santiago",
    nicknamePlatzi:"MrKetchupp",
    edad:22,
    email:"[email protected]",
    mayorEdad:true,
    dineroAhorrado:4302,
    deudas:324
}

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

Respuesta

  • Nombre completo (nombre y apellido)

    var resultado = nombre + " " + apellido;
    console.log(resultado);
    
    //ejemplo 2
    var resultado = platzinauta.nombre + " " + platzinauta.apellido;
    console.log(resultado);
    
  • Dinero real (dinero ahorrado menos deudas)

    var dineroReal = dineroAhorrado - duedas;
    console.log(dineroReal);
    
    //ejemplo 2
    var dineroReal = platzinauta.dineroAhorrado - deudas:
    console.log(dineroReal);
    

Funciones

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

  • ¿Qué es una función?
    • Es una sección donde puedes agrupar código
  • ¿Cuándo me sirve usar una función en mi código?
    • Cuando parte de mi código se repite se puede remplazar con el uso de una función
  • ¿Cuál es la diferencia entre parámetros y argumentos de una función?
    • Los parámetros podría compararse como una variable y los argumentos el valor que toma esa variable pero llevado 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:

Respuesta

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

var nombre = prompt("Cual es tu nombre");
var apellido = prompt("Cual es tu apellido");
var username = prompt("Cual es tu nickname");

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

console.log(nombres(nombre, apellido, username));

Condicionales

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

  • ¿Qué es una condicional?
    • Un Verdadero o Falso
  • ¿Qué tipos de condicionales existen en JavaScript y cuáles son sus diferencias?
    • If, Else, else if, switch
  • ¿Puedo combinar funciones y condicionales?

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

Respuesta

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

var suscripción = prompt("¿Cual suscripción tienes?" + "\n" + "-Free" + "\n" + "-Basic" + "\n" +"-Expert" + "\n" + "-ExpertPlus");
const tipoDeSuscripcion = suscripción.toLocaleLowerCase();

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("Tu subscripción "+ tipoDeSuscripcion + " no es valida, revisa de nuevo tu respuesta")
}

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

Respuesta

var suscripción = prompt("¿Cual suscripción tienes?" + "\n" + "-Free" + "\n" + "-Basic" + "\n" +"-Expert" + "\n" + "-ExpertPlus");
const tipoDeSuscripcion = suscripción.toLocaleLowerCase();

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

Bonus

var tipoDeSuscripcion =
["free",
 "basic",
 "expert",
 "expertplus"];

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 suscripcion = prompt("¿Cual suscripción tienes?" + "\n" + "-Free" + "\n" + "-Basic" + "\n" +"-Expert" + "\n" + "-ExpertPlus");
var suscripcion = suscripcion.toLowerCase();

suscripcion = tipoDeSuscripcion.indexOf(suscripcion);
if(suscripcion === 0){
    console.log(beneficios[suscripcion]);
}

Ciclos

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

  • ¿Qué es un ciclo?
    • Es una forma de ejecutar el mismo código una candidad de veces definida
  • ¿Qué tipos de ciclos existen en JavaScript?
    • For y While
  • ¿Qué es un ciclo infinito y por qué es un problema?
    • Es cuando se deja indefinida la cantidad de veces que se debe ejecutar un ciclo
  • ¿Puedo mezclar ciclos y condicionales?
    • Si, sin problemas

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

var i = 0;

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

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

Respuesta

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

Respuesta

var suma = prompt("¿Cuanto es 2 + 2?")
suma = Number(suma);

if (suma === 4) {
    console.log("Felicidades!🎉, tu respuesta es correcta")
} else {
    console.log("Tu respuesta " + suma + " es incorrecta🚫")
}

Listas

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

  • ¿Qué es un array?
    • Es una agrupación de valores
  • ¿Qué es un objeto?
    • Es una colección de definiciones con un valor
  • ¿Cuándo es mejor usar objetos o arrays?
    • Array es mejor cuando solo se agrupan opciones de un mismo tipo, sean ejemplos de los meses del año y los Objetos es mejor usarlos cuando se desea agrupar una variedad de valores con distintos tipos, sea el caso de los atributos de un personaje o las especificaciones de un producto
  • ¿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.

Respuesta

var tipoDeSuscripcion =
["free",
 "basic",
 "expert",
 "expertplus"];

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

cualquierArray(tipoDeSuscripcion);

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

Respuesta

var tipoDeSuscripcion =
["free",
 "basic",
 "expert",
 "expertplus"];

function cualquierArray (array) {
    for (let i = 0; i < 4; i++) {
        console.log(array[i]);
    }
}
cualquierArray(tipoDeSuscripcion);

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

Respuesta

function personaje(nombre, region, elemento, arma) {
    this.nombre = nombre;
    this.region = region;
    this.elemento = elemento;
    this.arma = arma;
}
var nombre = prompt("¿Nombre de tu personaje?")
var region = prompt("¿De cual region es tu personaje?");
var elemento = prompt("¿Cual elemento domina tu personaje?" + "\n" + "Ejemplo: Agua, fuego, tierra..etc");
var arma = prompt("¿Cual arma porta tu personaje?");

var personajes = new personaje( nombre, region, elemento, arma);
console.log("Felicidades!🎉 Haz creado un nuevo persoanje" + "\n" + "Sus atributos son los siguentes:")

function imprimir(objecto) {
    for (i in objecto) {
      console.log(` Su ${i} es ${objecto[i]}`);
    }
  }

imprimir(personajes);
var nombre = "Percy";
var apellido = "Barriga";
var user_name = "[email protected]";
var edad = 26;
var mayorde_edad = true;
var ahorros= 17000;
var deudas = 2800;

var nombrecompleto= nombre +" " + apellido;
var dineroreal = ahorros - deudas;
  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 reservado para guardar información.

¿Cuál es la diferencia entre declarar e inicializar una variable?
Cuando declaras la variable estás reservando un espacio en la memoria con el nombre de la variable, se inicializa cuando se le asigna un valor (número, string, etc).

¿Cuál es la diferencia entre sumar números y concatenar strings?
Al sumar números estamos haciendo una operación aritmética entre dos valores numéricos, cuando concatenamos estamos simplemente uniendo los caracteres de dos strings.

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

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

//Nombre 
	var nombre = "Vicki"; //string
//Apellido 
	var apellido = "Fraga"; //string
//Nombre de usuario en Platzi 
	var username: "vickifraga"; //string
//Edad 
	var edad: 28; // número
//Correo electrónico 
	var email: "[email protected]"; // string
//Mayor de edad 
	var mayorDeEdad = true; // boolean
//Dinero ahorrado 
	var dineroAhorrado = 8000; // número
//Deudas 
	var deudas = 2000; // número
  1. Calcula e imprime las siguientes variables a partir de las variables del ejemplo anterior:

Nombre completo (nombre y apellido)

var nombreCompleto = "nombre" + "apellido";
console.log(nombreCompleto);

Dinero real (dinero ahorrado menos deudas)

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

Funciones

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

    ¿Qué es una función?
    Es un pedazo de código que puede ser reutilizado en función de ciertos parámetros que uno designa.

    ¿Cuándo me sirve usar una función en mi código?
    Cuando quiero hacer un mismo procedimiento varias veces.

    ¿Cuál es la diferencia entre parámetros y argumentos de una función?
    Los parámetros son las variables que van a ser utilizadas, mientras que los argumentos son los que modifican o interactuan con 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”;

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

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

Condicionales

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

¿Qué es una condicional?

Es un operador que funciona a partir de condiciones, según algo sea cierto o no, ejecutará cierto código.

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

if, else, else if
Estos tres suelen trabajar juntos, el else if puede o no ser utilizado. Estos operadores son autoexplicativos en inglés. El if nos ayuda a validar una condición específica, else if se usa cuando necesitamos más de un caso específico y else se usa para hacer una generalización de todos los casos restantes.
Una condicional adicional es switch, que es muy similar a if y else if, pero especificas ya los casos, haciendo iteración entre ellos.

¿Puedo combinar funciones y condicionales?

yo diría que sí.

  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");
}
else {
	console.log("Revisa tu suscripción");
}

Ciclos

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

    ¿Qué es un ciclo?
    Es un pedazo de código que se estará repitiendo por un número establecido de veces, según las condiciones.

    ¿Qué tipos de ciclos existen en JavaScript?
    for
    while

    ¿Qué es un ciclo infinito y por qué es un problema?
    Es un ciclo que se repite indefinidamente, es un problema porque si se hace indefinidamente, no podrá avanzar a lo que falta del código y no terminaría nunca

    ¿Puedo mezclar ciclos y condicionales?
    sí 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);

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

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

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

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

var respuesta = prompt("¿Cuánto es 2 + 2?");

if (respuesta == "4") {
	console.log("Exacto! Se ve que pasaste con 10 Matemáticas!")
}
else if (respuesta == "cuatro") {
	console.log("Exacto! Se ve que pasaste con 10 Matemáticas, pero las Matemáticas se escriben con números")
}
else {
	console.log("Creo que necesitas repasar tus matemáticas")
}

Listas

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

    ¿Qué es un array?
    Es una lista de datos en forma objeto.

    ¿Qué es un objeto?
    Es una colección de propiedades

    ¿Cuándo es mejor usar objetos o arrays?
    Los objetos se usan cuando necesitas mandar llamar propiedades de algo por nombre (edad, nombre, color, etc),
    Los arrays sirven más cuando se necesita un subconjunto de algo, varias cosas del mismo tipo, podría ser.

    ¿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 repasandoArrays(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 repasandoArrays(array) {
	console.log('los elementos de ' + array + ' son: ')
	for (element in array) {
  		console.log(element + ' ');
	}
}

VARIABLES Y OPERADORES

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

    • Es un espacio en memoria, que nos sirve para almacenar información.
    • Al declarar la variable solo le asignamos un espacio en memoria y al inicializarla le damos un valor que se guardara en ese espacio.
    • Al sumar efectuamos una operación matemática y al concatenar unimos strings para que se muestre como solo uno.
    • El signo de suma (+).
  2. Determina el nombre y tipo de dato para almacenar en variables la siguiente información:

    • var Nombre = “Catalina”; (String).
    • var Apellido = “Rocha”; (String).
    • var NombreDeUsuarioPlatzi = “catalinaRocha”; (String).
    • var Edad = 19; (Number).
    • var email = “[email protected]”; (String).
    • var mayorDeEdad = true; (Booleano).
    • var dineroAhorrado = 400; (Number).
    • var deudas = 0; (Number).
  3. Traduce a código JavaScript las variables del ejemplo anterior y deja tu código en los comentarios.

    var Nombre = “Catalina”;
    var Apellido = “Rocha”;
    var NombreDeUsuarioPlatzi = “catalinaRocha”;
    var Edad = 19;
    var email = “[email protected]”;
    var mayorDeEdad = true;
    var dineroAhorrado = 400;
    var deudas = 0;

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

    • Nombre completo (nombre y apellido) : console.log(Nombre + “ ” + Apellido);
    • Dinero real (dinero ahorrado menos deudas): console.log(dineroAhorrado - deudas);

FUNCIONES

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

    • ¿Qué es una función?. R: Es un bloque de código que cumple ciertas instrucciones y que podemos reutilizar en cualquier parte de nuestro código.
    • ¿Cuándo me sirve usar una función en mi código?. R: Cuando necesito ejecutar ciertas instrucciones y cuando necesito reutilizar código.
    • ¿Cuál es la diferencia entre parámetros y argumentos de una función?. R: Los parámetros son nombres que ponemos en la definición de la función, mientras que los argumentos son los valores que le pasamos a la función por estos 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:

function informacionPersonal(nombre, apellido, nombreCompleto, sobreNombre)
{
var Name = nombre
var lastName = apellido;
var completeName = Name + lastName;
var nickName = sobreNombre;

console.log(”Mi nimbre es ”+ completeName + “ pero me gusta mas que me llamen” + nicKName “ 😃 ”);

}

CONDICIONALES

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

    • ¿Qué es una condicional?. R: Es un bloque de codigo que nos permite validar si algo es verdadero o falso mediante una sentencia y dependiendo del resultado de esta, se ejecutara cierta accion.
    • ¿Qué tipos de condicionales existen en JavaScript y cuáles son sus diferencias?. R: if, else, else if, se utilizan al momento de validar si algo es falso o verdadero. Tambien existe el condicional switch que se usa para elegir una opción cuando tenemos varias.
    • ¿Puedo combinar funciones y condicionales?. R: Si, se pueden combinar.
  2. Replica el comportamiento del siguiente código que usa la sentencia switchutilizando if', elseelse if:
    const tipoDeSuscripcion = “Basic”;
    if (tipoDeSuscripcion === “Basic”)
    {
    console.log("Puedes tomar casi 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 más pueden tomar TODOS los cursos de Platzi durante un año”);
    }
    else
    {
    console.log(”Estas usando platzi en modo Free, solo puedes tomar los cursos gratis 😃 ” );
    }

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

const tipoDeSuscripcion = “basic”;
if (tipoDeSuscripcion === “Basic”)
{
console.log(“Puedes tomar casi 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 más pueden tomar TODOS los cursos de Platzi durante un año”
);
}
if (tipoDeSuscripcion === “Free”)
{
console.log(“Estas usando platzi en modo Free, solo puedes tomar los cursos gratis 😃”);
}

CICLOS

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

    • ¿Qué es un ciclo?. R: Es un bloque de código que se utiliza para hacer tareas repetidas con base en una condición.
    • ¿Qué tipos de ciclos existen en JavaScript?. R: for, for if, while, do while.
    • ¿Qué es un ciclo infinito y por qué es un problema?. R: Es un loop que según su lógica seguirá corriendo infinitamente, el problema de esto es que no deja que el programa continúe con normalidad.
    • ¿Puedo mezclar ciclos y condicionales?. R: Si se pueden mezclar.
  2. Replica el comportamiento de los siguientes ciclos for
     utilizando ciclos while:

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

For # 2
var i = 10;
while(i ≥ 2)
{
console.log("El valor de i es: " + i);
i–;
}

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

var Solucion = 0;
do
{
Solucion = Nomber (prompt(”¿Cuanto es 2 +2 ? ”))
}
while(Solucion! == 4);

LISTAS

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

    • ¿Qué es un array?. R: Es una estructura de datos de tipo objeto, en el cual se puede almacenar información.
    • ¿Qué es un objeto?. R: Es una entidad con propiedades y tipos.
    • ¿Cuándo es mejor usar objetos o arrays?. R: Cuando debemos almacenar cierta informacion de un mismo tipo.
    • ¿Puedo mezclar arrays con objetos o incluso objetos con arrays?. R: Si
  2. Crea una función que pueda recibir cualquier array como parámetro e imprima su primer elemento.

var diasDeLaSemana = [’Lunes’, ‘Martes’, ‘Miercoles’, ‘Jueves’, ‘Viernes’, ‘Sabado’, ‘Domingo’]

var primerElemento = (array) ⇒ console.log(’El primer elemento del array es ${array[0]}’)

primerElemento(diasDeLaSemana)

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

var diasDeLaSemana = [’Lunes’, ‘Martes’, ‘Miercoles’, ‘Jueves’, ‘Viernes’, ‘Sabado’, ‘Domingo’]

var items = (array) ⇒ array.forEach((elemento.index))⇒ console.log(’El elemento ${index} del array es ${elemento}’)

primerElemento(diasDeLaSemana)

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

Adjunto mis respuestas, si me quedaron algunas malas perdonadme

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

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

  • Un espacio reservado de memoria y sirve para almacenar la información.

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

  • Una variable se declara para reservar su espacio de memoria y se inicializa para guardar la información en ese espacio de memoria.

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

  • Sumar números como operación matemática, concatenar es cuando se juntan dos textos para formar uno mismo.

¿Cuál operador me permite sumar o concatenar?

  • El signo que permite esto es el + como se puede evidenciar en el ejemplo (4)

2️⃣ Determina el nombre y tipo de dato para almacenar en variables la siguiente información:
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)
2️⃣ R// 
var nombre = 'juan jose', apellido =  ' borrero',
userPlatz =  ' juanjosbg',  edad = 26,
correo = '[email protected]',  
selfMoney = 1200000,  mayorEdad =  true, deudas = 890000;

4️⃣ R // 
var allName = nombre + apellido;
console.log('Mi nombre completo es: ' + allName);

 var realDinero = selfMoney - deudas;
 console.log('El dinero que tengo ahorrado hasta ahora es: ' + realDinero);

Funciones

  1. 1️⃣ Responde las siguientes preguntas en la sección de comentarios:
    ¿Qué es una función?
  • Un bloque de código que hace una serie de procedimientos

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

  • Cuando se repite varias lineas de codigo en el proyecto

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

  • en que un parametro es una variable que está en la definición de una función, y un argumento son los datos que se le pasan a los parametros de una función
  1. 2️⃣ Replica el comportamiento del siguiente código que usa la sentencia switch utilizando if, else y else if:
var tipoDeSuscripcion = "Basic";
    if (tipoDeSuscripcion === "Free") {
        console.log("Solo puedes tomar los cursos gratis");
    } else if (tipoDeSuscripcion === "Basic"){
        console.log("Solo puedes tomar los cursos gratis");
    } else if(tipoDeSuscripcion ==="Expert") {
        console.log("Puedes tomar casi todos los cursos de Platzi durante un año");
    } else if(tipoDeSuscripcion === "ExpertPlus") {
        console.log("Tú y alguien más pueden tomar TODOS los cursos de Platzi durante un año");
    }
console.log(tipoDeSuscripcion); 
  1. 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 tipoDeSuscripcion = "Basic";

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

  1. Ciclos**
    1️⃣ Responde las siguientes preguntas en la sección de comentarios:
  • ¿Qué es un ciclo?
    R// Un bloque de codigo que se repite x cantidad de veces
  • ¿Qué tipos de ciclos existen en JavaScript?
    R// el cilclo for, el ciclo for of o for in, y los ciclos while, do-while
  • ¿Qué es un ciclo infinito y por qué es un problema?
    R// Es un ciclo que nunca se va a detener, puede causar que nuestro ordenador se apague por exceso consumo de memoria en el navegador
  • ¿Puedo mezclar ciclos y condicionales?
    R// si

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


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

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

let resUsurio = 0;
do {
  resUsurio = prompt('¿Cual es el resultado de 2 + 2?')
  resUsurio *= 1;
} while (!(resUsurio === 4))

Listas

  • 2️⃣ Crea una función que pueda recibir cualquier array como parámetro e imprima su primer elemento
let animals = ['Dog', 'Cat', 'Crap'];
animals.forEach(Element => {
  console.log(animals[0])
});

1.- Una variable es un lugar en memoria donde almacenamos algún valor.
1- Cuando declaramos la variable solo tiene un nombre pero no tiene valor cuando la inicializamos le asiganmos un valor string number boolean.
1.- la suma es para numeros y concatenar es para string (aunque js nos permite concater string con number
1.- “+”

2.-
Nombre:string
Apellido: string
nameUser:string
edad: number
correo: string
mayoredad: bolean
DineroAhorrado:floats, number
Deudas: floats number negativos

3.-
let nombre=“luis”;
let apellido=“Escobedo”;
let nameUser=“Horus400”;
let edad=22;
let mail=‘[email protected]’;
let mayorEdad=true;
let ahorro= 1523.65;
let deudas= 6541.3;

4.-

console.log( ${nombre} ${apellido} );
const dineroReal = ahorro-deudas;
console.log(Dinero Real:+dineroReal);

1.- Una variable es un espacio en memoria al que le es asignado un valor.
2.- Declarar significa asignarle un nombre a una variable, es decir, solo crearla. Mientras tanto, inicializarla quiere decir poner un valor de un tipo de dato específico dentro de la variable.
3.- La suma de números es una operación aritmética que ocurre siempre y cuando los datos implicados en la operación sean númericos. La concatenación ocurre cuando uno o más datos de la operación son de tipo string. La concatenación pega los caractéres y forma un solo string.
4.- El mismo operador (+), JS detecta que debe hacer según los tipos de datos utilizados.
5.- Nombre, apellido, nombre de usuario de Platzi, Correo electrónico -> String
Edad, dinero ahorrado -> Number
Mayor de edad, deudas -> Boolean
6.- Variables

var nombre = "Thomas";
var apellido = "Medina";
var usuarioPlatzi = "ThomasMedina";
var edad = 21;
var mayorEdad = true;
var dineroAhorrado = 1000;
var deudas = 50;

7.- Cadena

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

8.- Una función es un bloque de código reutilizable que realiza una tarea determinada.

9.- Una función sirve para optimizar nuestro código, ya que nos permite ahorrarnos algunas líneas.

10.- Los argumentos son las variables que la función utilizará como parámetros.

11.- Funciones

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

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

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

12.- Un condicional es una estructura que ejecuta un bloque de código específico según una condición.

13.- Exiten el if y el switch y se diferencian en sintaxis, el switch es mas entendible si lo que se tienen son varios casos de uso.

14.- Condicionales

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

for (const susc in suscripciones) {
    if (tipoDeSuscripcion === susc) {
        console.log(`${susc}: ${suscripciones[susc]}`);
    }
}

15.- Un ciclo es una estructura que repite una dterminada cantidad de veces un bloque de codigo dada una instraucción o condición.

16.- while, do while, for, for of, for in, for each.

17.- Son bucles que por algún error se repiten infinitamente y no son buenos porque gastan muchos recursos y hacen que le cueste trabajo a la computadora ejecutar el programa.

18.- Si se pueden mezclar, siempre y cuando tengan coherencia.

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

19.- Prompt

let suma = prompt("¿Cuanto es 2 + 2?");

var condicion = true;
while(condicion === true) {
    if (Number(suma) === 4) {
        alert("Felicidades, es correcto");
        condicion = false;
    }
    
    else {
        suma = prompt("¿Cuanto es 2 + 2?");
    }
}

20.- Listas
Un array es un conjunto de elementos iterables.
Un objeto es también un conjunto de elementos iterables, pero con características asociadas a él.
Depende de la complejidad del requerimiento, si los elementos a almacenar deben tener características o atributos dentro de ellos, recomiendo utilizar objetos.
Si se pueden mezclar, podríamos tener un array de objetos.

21.- Primer elemento

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

primerElemento(["Thomas", "Medina", 21]);

22.- Todos los elmentos

function imprimirElementos(array) {
    for (const x in array) {
        console.log(array[x]);
    }
}

imprimirElementos(["Thomas", "Medina", 21]);

23.- Objetos

var persona = {
    name: "Thomas",
    edad: 21
}

function imprimirObjeto(objeto) {
    for (const x in objeto) {
        console.log(`${x}: ${objeto[x]}`);
    }
}

imprimirObjeto(persona);
let nombre="luis";
let apellido="Escobedo";
let nameUser="Horus400";
let edad=22;
let mail='[email protected]';
let mayorEdad=true;
let ahorro= 1523.65;
let deudas= 6541.3;

console.log( `${nombre} ${apellido}` );
const dineroReal = ahorro-deudas;
console.log(`Dinero Real: `+dineroReal);

//* Ejercicio 2 Funciones

function mostrarDatos(name,apellido,nickname){
    const nameComplete=`${name} ${apellido}`;
    return console.log(`Mi nombre es ${nameComplete} pero prefiero que me digan ${nickname}`)
}

mostrarDatos("luis","Escobedo", "Horus");

//* Ejercicio 3 Condicionales
const tipoDeSuscripcion = "Expert";
if(tipoDeSuscripcion=='Free'){
    console.log("Solo puedes tomar los cursos gratis");
}else if(tipoDeSuscripcion=='Basic'){
    console.log("Puedes tomar casi todos los cursos de Platzi durante un mes");
}else if(tipoDeSuscripcion=='Expert'){
    console.log("Puedes tomar casi todos los cursos de Platzi durante un año");
}else if(tipoDeSuscripcion=='Expert Plus'){
    console.log("Tú y alguien más pueden tomar TODOS los cursos de Platzi durante un año");
}else{
    console.log('No cuenta con una suscripcion');
}

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

//*PLUS Ejercico 3
//! No soy tan pro todavia :(
    


//* Ciclos
console.log("\n Ciclos ");
// for (let i = 0; i < 5; i++) {
//         console.log("El valor de i es: " + i);
//     }
i=0;
while(i<5){
        console.log("El valor de i es:",i);
        i++;
}
console.log("Ciclo 2");
//  for (let i = 10; i >= 2; i--) {
//      console.log("El valor de i es: " + i);
//  }

j=10;
while(j>=2){
    console.log("El valor de j es: " + j);
    j--;
}
//*3️⃣ Escribe un código en JavaScript que le pregunte a los usuarios cuánto es 2 + 2. Si responden bien, mostramos un mensaje de felicitaciones, pero si responden mal, volvemos a empezar.
console.log("Ciclo 3");
do {
    user=window.prompt('Cuanto es 2 + 2');    
} while (user!=4);
    alert('Felicidades lo hiciste');
    
//* ARRAYS y OBJETOS

function miArreglo(array=[]){
    return console.log(array[0]);
}
miArreglo(["Luis","pepe","Paco"]);

function arregloDos(arrayTwo=[]){
    return arrayTwo.forEach(element => {
        console.log(element);
    });
}

arregloDos([1,2,3,4,5]);

function objeto(miobjeto={}){
    for (const key in miobjeto) {
        console.log(`${key} ${miobjeto[key]}`);
    }
}
objeto({
    name: "Luis",
    edad:22,
    mayorEdad:true
});

Variables y operaciones:

¿Qué es una variable y para qué sirve?
R: Una variable es un espacio en memoria.
¿Cuál es la diferencia entre declarar e inicializar una variable?
R: Declarar es indicar en js que existe un espacio en memoria con un nombre, e inicializar es darle un valor a esa variable.
¿Cuál es la diferencia entre sumar números y concatenar strings?
R: cuando se suman numeros, se reconoce como una operacion aritmetica, y cuando se concatenan strings, se vuelve el string mas grande y se juntan el contenido de ambos strings.
¿Cuál operador me permite sumar o concatenar?
R: +

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

Nombre (string)
Apellido (string)
Nombre de usuario en Platzi (string)
Edad (numero)
Correo electrónico (string)
Mayor de edad (booleano)
Dinero ahorrado (num)
Deudas (num)
3️⃣ Traduce a código JavaScript las variables del ejemplo anterior y deja tu código en los comentarios.
var nombre = “Sergio”;
var apellido = “silva”;
var NombreUsuario = “Cotopaco”;
var edad = 23;
var correoElectronico = “[email protected]”;
var Mayor de edad = true;
var dineroAhorrado = 0000;
var deudas = 00000;

3️⃣
var nombreCompleto = nombre + " " + apellido;
var dineroReal = dineroAhorrado - deudas;

Funciones
1️⃣
¿Qué es una función?
R: un conjunto de sentencias para generar ciertas accione con los valores.
¿Cuándo me sirve usar una función en mi código?
Sirve cuando voy a utilizar una tarea varias veces en un codigo.
¿Cuál es la diferencia entre parámetros y argumentos de una función?
Los parametros son el nombre de los valores que voy a utilzar en la funcion.
los argumentos son los valores que voy a utilizar para llamar la funcion.

2️⃣

function reto(name,lastName,nickname){

    this.name = name;
    this.lastName = lastName;
    this.nickname = nickname;

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


}function reto(name,lastName,nickname){

    this.name = name;
    this.lastName = lastName;
    this.nickname = nickname;

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


}

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

¿Qué es una condicional?
R: es un comando que verifica una condicion, y si es verdadera la condifcion entonces entra dentro del codigo de este comando.
¿Qué tipos de condicionales existen en JavaScript y cuáles son sus diferencias?
R:
exissten 2, if y switch, la diferencia es que if se usa para condicionar algo mas corto y casos mas reducidos y el switch se usa cuando se quiere evaluar muchos casos al mismo tiempo.
¿Puedo combinar funciones y condicionales?
R: Claro que si.
2️⃣

const tipoDeSuscripcion =prompt("Ingresa el tipo de suscripcion");

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("No estas inscrito en platzi");
}

3️⃣

const tipoDeSuscripcion =prompt("Ingresa el tipo de suscripcion");
suscripciones = [
    {susc: "Basic", texto: "Puedes tomar casi todos los cursos de Platzi durante un mes"},
    {susc: "Free", texto: "Solo puedes tomar los cursos gratis"},
    {susc: "Expert", texto: "Puedes tomar casi todos los cursos de Platzi durante un año"},
    {susc: "ExpertPlus", texto: "Tú y alguien más pueden tomar TODOS los cursos de Platzi durante un año"},
]

var suscripcionFiltrada = suscripciones.filter(function(suscripcionFiltrada){
    return suscripcionFiltrada.susc==tipoDeSuscripcion;

});

var textoMostrar = suscripcionFiltrada.map(function(textoMostrar){

    return textoMostrar.texto;
});
console.log(textoMostrar);

Ciclos

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

¿Qué es un ciclo?
R: Es un comando que repite codigo siempre y cuando la condicion se cumpla.
¿Qué tipos de ciclos existen en JavaScript?
R: for, for of, while
¿Qué es un ciclo infinito y por qué es un problema?
Un ciclo infinito es cuando la condicion nunca se rompe y es uin problmea por que no deja que el resto del codgio se ejecute…
¿Puedo mezclar ciclos y condicionales?
R: Si
2️⃣

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

var i=1;
while(i==1){

var respuesta = prompt("Cuanto es 2 + 2");

    if (respuesta==4){
        console.log("Felicidades!! respondiste bien");
        i++;
    }
}

Listas

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

¿Qué es un array?
R: Es una variable tipo objeto con varios elementos.
¿Qué es un objeto?
R: ess un elemento con propiedades.
¿Cuándo es mejor usar objetos o arrays?
R: Objetos los usas cuando tienes un solo eellemento yy arrays lo usas cuando tienes muchos elementos o objetos.
¿Puedo mezclar arrays con objetos o incluso objetos con arrays?
R: array con objetos si pero objetos con arrys no.
2️⃣

var miFuncion = function(array){
    
    console.log(contenedor[0]);
}
miFuncion(contenedor);

3️⃣

var contenedor = ["carro","moto","biscicleta","camion"];

var miFuncion = function(array){
    
    while(array.length>0){

        console.log(contenedor[0]);
        array.shift();

    }

    
}
miFuncion(contenedor);

4️⃣ No pude 😕