Me gusta como JuanDa hace ver más fácil JavaScript, hay algunos profesores qué te arruinan la experiencia de aprender a programar, pero definitivamente Juan no es uno de ellos ❤️
Introducción
¿Ya tomaste el Curso Básico de JavaScript?
Prueba de JavaScript
Test de JavaScript
Variables
Funciones
Condicionales
Ciclos
Arrays y objetos
Bonus: reducción de condicionales
¡Es tu turno: crea un tutorial!
Quiz: Prueba de JavaScript
Manipulación del DOM
Cómo conectar JavaScript con HTML
Leyendo HTML desde JavaScript
Escribiendo HTML desde JavaScript
Eventos en JavaScript: interactuando con usuarios
addEventListener
Quiz: Manipulación del DOM
Contribución a proyectos
Conectando GitHub a proyectos de JavaScript
Proyectos con JavaScript y GitHub desde cero
Fork a proyectos en GitHub
Analizando código de proyectos open-source
Fusión del menú en desktop
Fusión del menú en mobile
Carrito de compras
Lista de productos: HTML a partir de arrays
Detalles de un producto
Interacción entre todos los componentes
Pull Requests: aportando código a proyectos en GitHub
Feedback: conoce proyectos
Quiz: Contribución a proyectos
Despliegue
Deploy con GitHub Pages
Quiz: Despliegue
Próximos pasos
¿Cuál es tu sueño con JavaScript?
Comparte tu proyecto y certifícate
No tienes acceso a esta clase
¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera
Aportes 95
Preguntas 5
Me gusta como JuanDa hace ver más fácil JavaScript, hay algunos profesores qué te arruinan la experiencia de aprender a programar, pero definitivamente Juan no es uno de ellos ❤️
Falto el condicional ternario
Hey!!
Aquí una forma de como resolver el bonus sin usar condicionales:
opcion = "ExpertPlus"
paquetes = ["Free","Basic","Expert","ExpertPlus"]
descripcion = ["Solo puede tomar dos cursos gratis","Puedes tomar casi todos los cursos durante un mes","puedes tomar todos los cursos durante un año","tú y alguien más pueden tomar todos los cursos durante un año"]
let lugar = paquetes.indexOf(opcion)
function imprime(lugar){
`Con una suscripción ${paquetes[lugar]} entonces ${descripcion[lugar]}.`
}
imprime(lugar);
En pantalla:
Con una suscripción ExpertPlus entonces Tú y alguien más pueden tomar todos los cursos durante un año.
1️.Responde las siguientes preguntas en la sección de comentarios:
¿Qué es un condicional?
¿Qué tipos de condicionales existen en JavaScript y cuáles son sus diferencias?
¿Puedo combinar funciones y condicionales?
2️.Replica el comportamiento del siguiente código que usa la sentencia switch utilizando if, else y else if:
const tipoDeSuscripcion = "Basic";
switch (tipoDeSuscripcion) {
case "Free":
console.log("Solo puedes tomar los cursos gratis");
break;
case "Basic":
console.log("Puedes tomar casi todos los cursos de Platzi durante un mes");
break;
case "Expert":
console.log("Puedes tomar casi todos los cursos de Platzi durante un año");
break;
case "ExpertDuo":
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 == 'ExpertDuo') {
console.log("Tú y alguien más pueden tomar TODOS los cursos de Platzi durante un año");
}
Condicional ternario: 💚💚💚
Estaba aburrido de ver tantos console.log y me puse a jugar con los prompt y los alert.
Aqui dejo mi aporte
let tipoDeSuscripcion = prompt(“Cual es tu suscripcion”);
switch (tipoDeSuscripcion) {
case “Free”:
alert(“Solo puedes tomar los cursos gratis”);
break;
case “Basic”:
alert(“Puedes tomar casi todos los cursos de Platzi durante un mes”);
break;
case “Expert”:
alert(“Puedes tomar casi todos los cursos de Platzi durante un año”);
break;
case “ExpertDuo”:
alert(“Tú y alguien más pueden tomar TODOS los cursos de Platzi durante un año”);
break;
gracias por tanto.
1️⃣ Responde las siguientes preguntas en la sección de comentarios:
¿Qué es un condicional?
Es una expresión que nos permite evaluar dos o más valores y poder realizar acciones en base al resultado de la expresión.
¿Qué tipos de condicionales existen en JavaScript y cuáles son sus diferencias?
if … else…
se usa pasa evaluar una condición, si esta condición es verdadera ejecuta las acciones dentro del bloque del if en caso contrario ejecuta las acciones del bloque else
if … else if…
Se usa para evaluar más de una condición, si esta condición es verdadera ejecuta las acciones dentro del bloque del if, en caso contrario comprueba que la condición de la sentencia else if se cumple y de ser verdadera ejecuta las acciones de ese bloque.
switch
Permite evaluar multiples escenarios y tener una acción por default en caso de que no se cumplan las condiciones evaluadas.
Ternary operator ()? : ;
Es una pequeña sintaxis que prueba una condición y devuelve un valor, si es true, y otro si es false
¿Puedo combinar funciones y condicionales?
Se pueden usar condicionales dentro de funciones. Tambien podemos ejecutar funciones en dependencia del resultado de las codicionales.
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;
}
// ----- Solution ----------
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("Necesitas una suscripción válida")
}
3️⃣ Replica el comportamiento de tu condicional anterior con if, else y else if, pero ahora solo con if (sin else ni else if).
💡 Bonus: si ya eres una experta o experto en el lenguaje, te desafío a comentar cómo replicar este comportamiento con arrays u objetos y un solo condicional. 😏
let suscriptions = [
{
type:"Free",
message: "solo puedes tomar los cursos gratis"
},
{
type:"Basic",
message: "puedes tomar casi todos los cursos de Platzi durante un mes"
},
{
type:"Expert",
message: "puedes tomar casi todos los cursos de Platzi durante un año"
},
{
type:"ExpertPlus",
message: "tú y alguien más pueden tomar TODOS los cursos de Platzi durante un año"
}
];
const mySub = "Basic";
const findSub = suscriptions.find( sub => sub.type === mySub );
const result = findSub !== undefined? findSub.message: "Necesitas una suscripción válida";
console.log(result);
no se si se encuentra bien pero yo realice esta prueba con array de objetos, y un flitro
function suscripcion (index){
let tipoSuscripcion =
[
{
suscripcion : 'Free',
message : 'Solo puedes tomar los cursos gratis',
},
{
suscripcion : 'Basic',
message : 'Puedes tomar casi todos los cursos de Platzi durante un mes',
},
{
suscripcion : 'Expert',
message : 'Puedes tomar casi todos los cursos de Platzi durante un año',
},
{
suscripcion : 'ExpertPlus',
message: 'Tú y alguien más pueden tomar TODOS los cursos de Platzi durante un año',
}
]
var optFiltrada = tipoSuscripcion.filter(function(filtro){ return filtro.suscripcion == index});
console.log(optFiltrada);
}
suscripcion('Free');
Excelente juan David, tu eres el maestro, aqui si falle.
Que es un condicional?
Son la forma en que ejecutamos un bloque de código u otro dependiendo de alguna condición o validación.
Que tipos de condicionales existen en JavaScript y cuales son sus diferencias?
IF (else y else if) , Switch
el condicional IF (con el else y else if) nos permite hacer validaciones completamente distintas(si asi queremos) en cada validación o condicional.En cambio, en el switch todos los cases se comparan con la misma variable o condición que definimos en el switch.
Puedo combinar funciones y condicionales?
Si. Las funciones pueden encapsular cualquier bloque de codigo, incluyendo condicionales.
Yo hice mi código así aunque ahora me acabo de dar cuenta que se puede mejorar al preguntar el tipo de suscripción que tienes jajaja “Mentira es para hacer publicidad a Platzi”.
si las condiciones están dentro de una función se puede escribir un return; al final de cada bloque de código de cada condicional, con el fin de terminar la ejecución de la función.
Nombre este man es un crack ojalá enseñara todos los cursos
Que tal este reto para practicar condicionles?
🌡️🌤️☁️🌧️❄️
Imagina que tienes una aplicación meteorológica que muestra el clima actual. La aplicación utiliza emojis para representar diferentes condiciones climáticas: el sol con una nube ☁️ representa un día parcialmente nublado, la nube con gotas de lluvia 🌧️ representa un día lluvioso, y así sucesivamente.
El reto es escribir un programa en JavaScript que le permita al usuario ingresar el emoji correspondiente a la condición climática actual y mostrar un mensaje que describa la condición en palabras. Por ejemplo, si el usuario ingresa el emoji de la nube con gotas de lluvia 🌧️, el programa debe mostrar el mensaje “Está lloviendo”.
var suscripcionesPlatzi = {
Free: "Solo puedes tomar los cursos gratis",
Basic: "Puedes tomar casi todos los cursos de Platzi durante un mes",
Expert: "Puedes tomar casi todos los cursos de Platzi durante un año",
ExpertPlus: "Tú y alguien más pueden tomar TODOS los cursos de Platzi durante un año",
};
function suscripcion(tipoDeSuscripcion) {
if (tipoDeSuscripcion === "Free" || tipoDeSuscripcion === "Basic" || tipoDeSuscripcion === "Expert" || tipoDeSuscripcion === "ExpertPlus") {
console.log(suscripcionesPlatzi[tipoDeSuscripcion]);
}
}
suscripcion("Free");
muy buena explicacion
Juan es muy claro y super enérgico lo que hace que la clase sea muy llevadera!
function imprimirDescripcion(tipoSuscripcion){
if (tipoSuscripcion == 'Free') {
console.log('Solo puedes tomar los cursos gratuitos')
}else if (tipoSuscripcion == 'Basic') {
console.log('Puedes tomar casi todos los cursos de Platzi')
}else if (tipoSuscripcion == 'Expert') {
console.log('Puedes tomar todos los cursos de Platzi')
} else if (tipoSuscripcion == 'ExpertDuo') {
console.log('Tu y alguien mas pueden tomar todos los cursas de platzi')
} else {
console.log('No existe esta suscripcion en platzi')
}
llamado
imprimirDescripcion('Free');
Tipos de condicionales
tambien se puede usar solamente “if” en lugar de los "else if " y funciona igual, obviamente al final el else solamente y hasta ni se nesecita el else en algunos casos.
tambien existe un tercer condicional que se puede validar con un operador ternario, si estoy equivocado en algo por fa @juanDC corrigeme. saludos!
Hola! Hice lo siguiente, queda mucho más bonito y corto que usar el if…else if, además manda un mensaje cuando no la encuentra:
const tipoDeSuscripcion = "Basic";
const suscripciones = {
"Free": "Solo puedes tomar los cursos gratis",
"Basic": "Puedes tomar casi todos los cursos de Platzi durante un mes",
"Expert": "Puedes tomar casi todos los cursos de Platzi durante un año",
"ExpertPlus": "Tú y alguien más pueden tomar TODOS los cursos de Platzi durante un año"
};
let mensaje = suscripciones[tipoDeSuscripcion];
console.log(mensaje || "No existe esa suscripción...");
Espero les sea útil, saludos!
Un condicional es una sentencia… es una pregunta que lanzamos y espera un SI o un NO… un True o False. Dependiendo de la respuesta hacemos una cosa u otra
Pero… ¿como es esa pregunta que espera el condicional?
Normalmente son comparaciones de las variables:
: mayor que
< : menor que
== : igual que
!= : diferente de
Pero tambien por ejemplo podemos preguntar si un valor existe en un Array con el .some()
¿Qué tipos de condicionales hay?
la estructura if() else if() else
if (numero == 0) console.log(“el número es cero”)
else if (numero > 0) console.log(“el número es positivo”)
else console.log(“el número es negativo”)
el switch()
switch(opcion) {
case 1:
console.log(“seleccionó la opción uno”)
break;
case 2:
console.log(“seleccionó la opción dos”)
break;
}
El operador ternario
pregunta ? respuesta al True : resuesta al False
numero%2==0 ? console.log(“el número es par”) : console.log(“el número es impar”)
También encontramos algunas condiciones en sentencias como el for
for(variable, CONDICION, incremento o decremento)
otras condiciones son por ejemplo las pasadas a los metodos find, filter o some de un Array
Al final siempre son las preguntas que realizamos sobre las variables y con base en la respuesta tomamos una decisión
Un comportamiento por defecto de los ifs es que en cuanto una condición se toma como verdadera ya no se ejecutan los demás else ifs o else (según el caso)
if (1 > 0) {
console.log('code 1');
} else if (1 == 1) {
console.log('code 2');
}
let Free = "Free";
let Basic = "Basic";
let Expert = "Expert";
let ExpertPlus = "ExpertPlus";
const tipoDeSuscripcion =(suscripcion)=>{
return (suscripcion === Free ? console.log("Solo puedes tomar los cursos gratis"):
suscripcion === Basic? console.log("Puedes tomar casi todos los cursos de Platzi durante un mes"):
suscripcion === Expert? console.log("Puedes tomar casi todos los cursos de Platzi durante un año"):
suscripcion === ExpertPlus? console.log("Tú y alguien más pueden tomar TODOS los cursos de Platzi durante un año"):
console.log("No tiene una suscripcion"))
}
tipoDeSuscripcion(Basic)
Usar return como si fuera un break de switch en nuestros ifs (esto aplica solo si el if esta dentro de una función)
😃 Condicionales
1.- Responde las siguientes preguntas en la sección de comentarios:
¿Qué es una condicional?
Es aquella que incluye y lleva consigo un requisito.
¿Qué tipos de condicionales existen en JavaScript y cuáles son sus diferencias?
Tenemos a “if, else, else if” que evalúan si se cumple o no uno o varios requisitos, muestras que el “operador ternario” evalúa si se cumple o no un solo requisito, por otro lado, “switch” nos muestra varias opciones a ser evaluadas en forma de casos.
¿Puedo combinar funciones y condicionales?
Sí.
2.- Replica el comportamiento del siguiente código que usa la sentencia switch utilizando if, else y else if:
const tipoDeSuscripcion = "Basic";
switch (tipoDeSuscripcion) {
case "Free":
console.log("Solo puedes tomar los cursos gratis");
break;
case "Basic":
console.log("Puedes tomar casi todos los cursos de Platzi durante un mes");
break;
case "Expert":
console.log("Puedes tomar casi todos los cursos de Platzi durante un año");
break;
case "ExpertPlus":
console.log("Tú y alguien más pueden tomar TODOS los cursos de Platzi durante un año");
break;
}
// ---------- Solución ----------
const tipoDeSuscripcion = 'Basic';
if(tipoDeSuscripcion === 'Free')
console.log("Solo puedes tomar los cursos gratis");
else if(tipoDeSuscripcion === 'Basic')
console.log("Puedes tomar casi todos los cursos de Platzi durante un mes");
else if(tipoDeSuscripcion === 'Expert')
console.log("Puedes tomar casi todos los cursos de Platzi durante un año");
else if(tipoDeSuscripcion === 'ExpertPlus')
console.log("Tú y alguien más pueden tomar TODOS los cursos de Platzi durante un año");
3.- Replica el comportamiento de tu condicional anterior con if, else y else if, pero ahora solo con if (sin else ni else if).
const tipoDeSuscripcion = 'Basic';
if(tipoDeSuscripcion === 'Free')
console.log("Solo puedes tomar los cursos gratis");
if(tipoDeSuscripcion === 'Basic')
console.log("Puedes tomar casi todos los cursos de Platzi durante un mes");
if(tipoDeSuscripcion === 'Expert')
console.log("Puedes tomar casi todos los cursos de Platzi durante un año");
if(tipoDeSuscripcion === 'ExpertPlus')
console.log("Tú y alguien más pueden tomar TODOS los cursos de Platzi durante un año");
Bonus: si ya eres una experta o experto en el lenguaje, te desafío a comentar cómo replicar este comportamiento con arrays y un solo condicional. 😏
const tipoDeSuscripcion = 'Basic';
const suscripcion = ['Free','Basic','Expert','ExpertPlus'];
const descripcion = ['Solo puedes tomar los cursos gratis',
'Puedes tomar casi todos los cursos de Platzi durante un mes',
'Puedes tomar casi todos los cursos de Platzi durante un año',
'Tú y alguien más pueden tomar TODOS los cursos de Platzi durante un año'];
if(true)
console.log(descripcion[suscripcion.indexOf(tipoDeSuscripcion)]);
let answer;
while(answer!= "12"){
let question = prompt("What's the result of 3x4?");
answer = question;
}
deberian poner como pre-requisito el curso de JavaScript básico y así poder tomar este curso, encuentro que llegar al módulo 5 repasando conceptos del curso anterior es una pérdida de tiempo y recursos para los alumnos.
Me pasa que me siento muy nuevo con este conocimiento y algunos retos no se bien como afróntalos y resultan ser mas sencillos de lo que pensaba, pero me comprometo a estudiar mucho hasta que pueda con cualquier reto.
Este es mi aporte, todavía me hace falta practicar mas como moverme en los arrays, pero con los distintos aportes ya lo estoy haciendo mejor.
const Subscripcion1="Expert";
let tipoDeSuscripciones=[{nombre:"Free", mensaje:"Solo puedes tomar los cursos gratis"},
{nombre:"Basic", mensaje:"Puedes tomar casi todos los cursos de Platzi durante un mes"},
{nombre:"Expert", mensaje:"Puedes tomar casi todos los cursos de Platzi durante un año"},
{nombre:"ExpertPlus", mensaje:"Tú y alguien más pueden tomar TODOS los cursos de Platzi durante un año"},]
let incluyeSubscripcion= tipoDeSuscripciones.find(function(Subscripcion){
return Subscripcion1==Subscripcion.nombre
})
console.log(incluyeSubscripcion.mensaje)
Yo lo hize con una funcion y agregue un prompt para almacenar el argumento.
function Suscripcion(tipoSuscripcion) {
tipoSuscripcion = prompt("Ingrese su tipo de Suscripcion");
if (tipoSuscripcion == 'Free') {
console.log("Solo puedes tomar 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 == 'Expert Duo') {
console.log("Tú y alguien mas pueden tomar TODOS los cursos de Platzi durante un año");
}
}
Suscripcion();
manera mas rapida de hacer condicionales…
var edad = 18;
var mensaje = (edad >= 18) ? "Eres mayor de edad" : "Eres menor de edad";
console.log(mensaje);
La diferencia entre switch e if es básicamente que en el switch no se pone el valor a validar en el encabezado del bloque sino en el cuerpo. Ejemplo:
Switch(suscripción) Esto básicamente checa el valor de suscripción pero aún no le decimos con que tiene que comparar. El valor a contrastar o comparar se pone en los distintos cases.
En cambio en los if siempre se debe poner el valor a comparar en el encabezado del bloque.
El switch es una forma distinta de hacer lo mismo con alguna diferencia estructural
¿Qué es un condicional?
Un condicional es una estructura de control que permite tomar decisiones en función de una condición evaluada. Permite ejecutar diferentes bloques de código dependiendo si una expresión es verdadera o falsa.
¿Qué tipos de condicionales existen en JavaScript y cuáles son sus diferencias?
En JavaScript, existen tres tipos de condicionales:
if
: Permite ejecutar un bloque de código si la condición especificada es verdadera. Si la condición es falsa, se omite el bloque de código.else if
: Se utiliza después de un if
o de otro else if
para evaluar una nueva condición si las anteriores son falsas.else
: Se utiliza después de un if
o de un else if
y se ejecuta si todas las condiciones anteriores son falsas.¿Puedo combinar funciones y condicionales?
Sí, se pueden combinar funciones y condicionales. Puedes llamar a una función dentro de un bloque de código condicional para ejecutarla cuando se cumpla cierta condición.
2️⃣ Replica el comportamiento del siguiente código que usa la sentencia switch utilizando if, else y else if:
const tipoDeSuscripcion = "Basic";
switch (tipoDeSuscripcion) {
case "Free":
console.log("Solo puedes tomar los cursos gratis");
break;
case "Basic":
console.log("Puedes tomar casi todos los cursos de Platzi durante un mes");
break;
case "Expert":
console.log("Puedes tomar casi todos los cursos de Platzi durante un año");
break;
case "ExpertPlus":
console.log("Tú y alguien más pueden tomar TODOS los cursos de Platzi durante un año");
break;
}
//mi Solución
const tipoDeSuscripcion = "Basic";
if (tipoDeSuscripcion === "Free") {
console.log("Solo puedes tomar los cursos gratis");
} else if (tipoDeSuscripcion === "Basic") {
console.log("Puedes tomar casi todos los cursos de Platzi durante un mes");
} else if (tipoDeSuscripcion === "Expert") {
console.log("Puedes tomar casi todos los cursos de Platzi durante un año");
} else if (tipoDeSuscripcion === "ExpertPlus") {
console.log("Tú y alguien más pueden tomar TODOS los cursos de Platzi durante un año");
}
Una posible solucion sin utilizar condicionales
/**
El mismo codigo anterior pero sin utilizar algun condicional
*/
let arrayTipoDeSuscripcion = ["Basic","Free","Expert","ExpertPlus"];
let arrayMessagesToUsers = {
"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",
"ExpertPlus": "Tú y alguien más pueden tomar TODOS los cursos de Platzi durante un año"
}
Object.freeze(arrayTipoDeSuscripcion);
Object.freeze(arrayMessagesToUsers);
let tipoDeSuscripcion = arrayTipoDeSuscripcion[1];
menssageToUser(tipoDeSuscripcion);
function menssageToUser(argument) {
console.log("Cuenta: " + tipoDeSuscripcion + " -> " + arrayMessagesToUsers[tipoDeSuscripcion]);
}
Estoy utilizando el objeto Object.freeze les puede servir como caso de estudio para el manejo de objetos y arreglos.
5/27 Condicionales
Las condicionales son la forma de ejecutar un bloque de código u otro dependiendo de una condición o validación.
En JavaScript existen los condicionales:
-Switch
La diferencia principal entre ellos es que el if con else y else if nos permiten hacer validaciones con diferentes variables, mientras que en el caso de switch todos los casos están validando la misma condición.
Con el if y sus variantes else y else if, podemos hacer valdiaciones comlpletamente distintas en cad condicional, mientras que en el switch todos los casos se comparan con la misma variable o condicón definida en el switch.
Si se pueden combinar funciones y condicionales. Las funciones pueden encapsular cualquier bloque de cpodigo, incluyendo condicionales. En muy buena idea combinarlos.
El switch compara una variable con diferentes casos y ejecuta el código correspondiente al caso que conicida con la variable.
En cambio, en una condicional if, cada condición debe ser evaluada individualmente. Si la primera condición no se cumple, se puede utilziar else o else if para evaluar otra condición en su lugar.
La diferencia entre else y else if es que else se ejecuta automáticamente su todas las condiciones anteriores fallan, mientras que else if sólo se ejecuta si la condición en el if no se cumple y la condición en el else if se cumple.
También se puede utilizar un return en una función para detener la ejecución del código después de una condición.
Bonus con objeto:
const tipoSuscripcion = {
Free: "Solo puedes tomar los cursos gratis",
Basic: "Puedes tomar casi todos los cursos de Platzi durante un mes",
Expert: "Puedes tomar casi todos los cursos de Platzi durante un año",
ExpertPlus:
"Tú y alguien más pueden tomar TODOS los cursos de Platzi durante un año",
};
var aux = "Expert";
if (tipoSuscripcion.hasOwnProperty(aux)) {
console.log(tipoSuscripcion[aux]);
}
Wuuuuuaaaauuuu Estoy aprendiendo como con plastilina.
Nunca lo había visto tan claro, y eso que he hecho como tres cursos de JavaScript.
Gracias Profe JuanDC.
Me encanta tu energía para enseñar y lo fácil que haces ver los temas, me ha aclarado detallitos que no había comprendido cuando resolví el test.
Dejo mis apuntes en Notion aquí! 😄
Usando solamente if
if (tipoDeSuscripcion == "Free" && tipoDeSuscripcion != "Basic" && tipoDeSuscripcion != "Expert" && tipoDeSuscripcion != "ExpertPlus") {
console.log("Solo puedes tomar los cursos gratis");
} if (tipoDeSuscripcion == "Basic" && tipoDeSuscripcion != "Free" && tipoDeSuscripcion != "Expert" && tipoDeSuscripcion != "ExpertPlus") {
console.log("Puedes tomar casi todos los cursos de Platzi durante un mes");
} if (tipoDeSuscripcion == "Expert" && tipoDeSuscripcion != "Free" && tipoDeSuscripcion != "Basic" && tipoDeSuscripcion != "ExpertPlus") {
console.log("Puedes tomar casi todos los cursos de Platzi durante un año");
} if (tipoDeSuscripcion == "ExpertPlus" && tipoDeSuscripcion != "Free" && tipoDeSuscripcion != "Basic" && tipoDeSuscripcion != "Expert") {
console.log("Tú y alguien más pueden tomar TODOS los cursos de Platzi durante un año");
}
Encapcsule la condicional en una funcion y este fue el resultado.
function suscripcion(tipoDeSuscripcion){
if (tipoDeSuscripcion == 'free') {
console.log("Solo puedes tomar los cursos gratis");
} else if (tipoDeSuscripcion == 'Basic') {
console.log("Puedes tomar casi todos los cursos de Platzi durante un mes");
} else if (tipoDeSuscripcion == 'Expert') {
console.log("Puedes tomar casi todos los cursos de Platzi durante un año");
} else if (tipoDeSuscripcion == 'ExperDuo') {
console.log("Tú y alguien más pueden tomar TODOS los cursos de Platzi durante un año");
}
else {
console.log("No tienes una suscripcion, vuelve cuando tengas una.")
}
}
solo hay que ejecutarlo definiendo un argumento para el parametro de la funcion suscripcion el cual al mismo tiempo es la variable tipoDeSuscripcion asi:
suscripcion('pajarito');
que da como resultado:
No tienes una suscripcion, vuelve cuando tengas una.
1️⃣ Responde las siguientes preguntas en la sección de comentarios:
¿Qué es una condicional?
Es una expresión lógica para tomar decisiones o resolver validaciones sencillas, que devuelve un resultado booleano.
¿Qué tipos de condicionales existen en JavaScript y cuáles son sus diferencias?
De tipo if
(incluyendo else
y else if
) y switch
. Con if podemos anidar varias condiciones y con switch damos opciones o casos varios de una vez para elegir.
El operador ternario (condition)? true: false
es una tercera opción para resolver condiciones cortas.
¿Puedo combinar funciones y condicionales?
Si se pueden combinar, sería tener un bloque dentro de otro.
2️⃣ Replica el comportamiento del siguiente código que usa la sentencia switch
utilizando if
, else
y else if
:
const tipoDeSuscripcion = "Basic";
switch (tipoDeSuscripcion) {
case "Free":
console.log("Solo puedes tomar los cursos gratis");
break;
case "Basic":
console.log("Puedes tomar casi todos los cursos de Platzi durante un mes");
break;
case "Expert":
console.log("Puedes tomar casi todos los cursos de Platzi durante un año");
break;
case "ExpertPlus":
console.log("Tú y alguien más pueden tomar TODOS los cursos de Platzi durante un año");
break;
}
if (tipoDeSuscripcion == 'Free')
console.log("Solo puedes tomar los cursos gratis");
else if (tipoDeSuscripcion == 'Basic')
console.log("Puedes tomar casi todos los cursos de Platzi durante un mes");
else if (tipoDeSuscripcion == 'Expert')
console.log("Puedes tomar casi todos los cursos de Platzi durante un año");
else if (tipoDeSuscripcion == "ExpertPlus")
console.log("Tú y alguien más pueden tomar TODOS los cursos de Platzi durante un año");
else
console.log("Adquiere un tipo de suscripción");
3️⃣ Replica el comportamiento de tu condicional anterior con if
, else
y else if
, pero ahora solo con if
(sin else
ni else if
).
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");
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. 😏
let tipoDeSuscripcion = [
{Free: 'Solo puedes tomar los cursos gratis'},
{Basic: 'Puedes tomar casi todos los cursos de Platzi durante un mes'},
{Expert: 'Puedes tomar casi todos los cursos de Platzi durante un año'},
{ExpertPlus: 'Tú y alguien más pueden tomar TODOS los cursos de Platzi durante un año'}
];
let miSuscripcion = tipoDeSuscripcion[1];
if (miSuscripcion == tipoDeSuscripcion[0])
console.log("Solo puedes tomar los cursos gratis");
else if (miSuscripcion == tipoDeSuscripcion[1])
console.log("Puedes tomar casi todos los cursos de Platzi durante un mes");
else if (miSuscripcion == tipoDeSuscripcion[2])
console.log("Puedes tomar casi todos los cursos de Platzi durante un año");
else if (miSuscripcion == tipoDeSuscripcion[3])
console.log("Tú y alguien más pueden tomar TODOS los cursos de Platzi durante un año");
else
console.log("Adquiere un tipo de suscripción");
Easy
<code>
let suscripcion = prompt('que tipo de suscripcion tienes, 1-. free, 2 basic, 3-. expert, 4-. expret duo');
function validacion(){
if(suscripcion == 1)
{return "bienvenido esta suscripcion es de pruba"}
else if(suscripcion == 2)
{return "bienbenido esta suscripcion es basic solo por 30 dias "}
else if (suscripcion == 3)
{ return "bienbenido esta suscripcion es expert solo por 3 meses "}
else if( suscripcion == 4)
{return "bienbenido esta suscripcion es expert duo solo por 1 año "}
}
alert(validacion());
let tipoDeSuscripcion = prompt (" ¿Qué tipo de suscripcion tienes? Free, Basic, Expert, ExpertPlus")
if (tipoDeSuscripcion === "Free"){
document.write("Solo puedes tomar los cursos gratis");
}
else if (tipoDeSuscripcion === "Basic"){
document.write("Puedes tomar casi todos los cursos de Platzi durante un mes");
}
else if (tipoDeSuscripcion === "Expert"){
document.write("Puedes tomar casi todos los cursos de Platzi durante un año");
}
else if (tipoDeSuscripcion === "ExpertPlus"){
document.write("Tú y alguien más pueden tomar TODOS los cursos de Platzi durante un año");
}
else {
document.write ("Ingresa valores validos")
}
Chicos para que entienda un poco más el Switch
let pregunta = prompt("Que tipo de suscripcion es?");
switch (pregunta) {
case 'free':
document.write(" Ya que eres Free, solo puedes tener acceso a estos cursos");
break;
case 'premium':
document.write("El Premium, tienes acceso a todos los cursos");
break
default:
document.write("Lo sentimos, no tenemos ese tipo de cuenta");
break;
}
Saludos 😄
Aqui mi aporte al bonus usando objetos y 1 condicional
let mensajes = {
Free: "Solo puedes tomar los cursos gratis",
Basic: "Puedes tomar casi todos los cursos de Platzi durante un mes",
Expert: "Puedes tomar casi todos los cursos de Platzi durante un año",
ExpertPlus: "Tú y alguien más pueden tomar TODOS los cursos de Platzi durante un año"
}
const tipoDeSuscripcion = "Basic";
if(!!mensajes[tipoDeSuscripcion]) {
console.log(mensajes[tipoDeSuscripcion]);
}
Hay un impostor en esta clase, al profe Juan le gusta usar comillas sencillas en JS, sin embargo, hay bloques de código con comillas dobles. 😱
const tipoDeSuscripcion = "Basic";
//Switch
switch (tipoDeSuscripcion) {
case "Free":
console.log("Solo puedes tomar cursos gratis");
break;
case "Basic":
console.log("Puedes tomar casi todos los curso durante un mes");
break;
case "Expert":
console.log("Puedes tomar casi todos los cursos durante un año");
break;
case "ExpertDuo":
console.log("Puedes tomar todos los cursos tu y alguien mas por un año");
break;
default:
console.log("No tienes suscripcion");
}
//If
if (tipoDeSuscripcion == "Free") {
console.log("Solo puedes tomar cursos gratis");
} else if (tipoDeSuscripcion = "Basic") {
console.log("Puedes tomar casi todos los curso durante un mes");
} else if (tipoDeSuscripcion == "Expert") {
console.log("Puedes tomar casi todos los cursos durante un año");
} else if (tipoDeSuscripcion == "ExpertDuo") {
console.log("Puedes tomar todos los cursos tu y alguien mas por un año");
} else {
console.log("No tienes suscripcion");
Practicando de nuevo. Ahí les va:
const resultadoDelExamen = 'Cinco';
if(resultadoDelExamen == 'Cinco'){
console.log("Tu resultado es 5 en el examen, reflexiona el por qué de tu resultado. Dejáme proporcionate estos materiales para que refuerces y puedas obtener una calificación aprovatoria.");
} else if(resultadoDelExamen == 'siete'){
console.log("Tu resultado es 7 en el examen, te faltó 1 punto para poder aprobar el examen. Te recomiendoe stos materiales e instrumentos para que refuerces los aprendizajes que faltan por concretar.")
} else if(resultadoDelExamen == 'Nueve'){
console.log("Tu resultado es 9 en el examen, es casi perfecto. De todas formas te sugiero aprender lo faltante, mira estos materiales y práctica.")
} else if(resultadoDelExamen == 'Diez'){
console.log("Tu resultado es 10 en el examen, eres la nueva persona más inteligente del mundo. ¡Felicidades!.")
}
Hay un operador que podemos usar como condicional del que no se habla en esta clase, pero quería tocarlo de igual manera por si a alguien le puede ser de ayuda, y es el operador ternario, y es simplemente un signo de interrogación ?
Este operador ternario nos sirve para hacer un if y un else de una sola vez, se puede aplicar de la siguiente manera
condition ? true : false;
//De esta manera podemos decir
let numero = 1;
let resultado = numero === 1 ? console.log("Sí soy un uno") : console.log("No, no soy un uno");
//Y nos regresaría en consola "Sí soy un uno
La manera de leer este operador con el ejemplo anterior, sería la siguiente: Tengo una variable llamada resultado, cuyo valor será la condición a evaluar, si mi condición (en este caso mi variable numero) es estrictamente igual a 1 ejecuta console.log(“Sí, soy un uno” y si no ejecuta console.log(“No, no soy un uno”); Acá les dejo la documentación
Es la ejecucion o no de un bloque de codigo si se cumple alguna validacion o condicional.
If (else y else if), switch, operadores logicos (AND, OR, NOT) y operador ternario (?).
Usamos switch cuando tenemos que usar muchos “else if”, la principal diferencia con if es que en el switch validamos diferentes cases de una sola variable o condicion, con if podemos realizar validaciones completamente diferentes en c/ variable o condicional.
Los operadores lógicos nos permite validar multiples condiciones sin escribir declaraciones If, else anidadas.
Si.
Utilizando condicionales y función tipo fecha
const tipoDeSuscripcion = (miSuscripcion)=>{
if(miSuscripcion == "Free"){
document.write("Solo puedes tomar cursos gratis " + "<br>");
} else if(miSuscripcion == "Basic"){
document.write("Puedes tomar casi todos los cursos de Platzi durante un mes" + "<br>");
} else if(miSuscripcion == "Expert"){
document.write("Puedes tomar casi todos los cursos de Platzi durante un año" + "<br>");
} else if(miSuscripcion == "ExpertDuo"){
document.write("Tu y otra persona pueden tomar todos los cursos de Platzi durante un año" + "<br>");
} else{
document.write("Estas tratando de ingresar una suscripción que no pertenece a los programas de Platzi" + "<br>");
document.write("Que esperas para suscribirte en los programas de Platzi. Nunca Pares de Aprender")
}
}
tipoDeSuscripcion("Free");
tipoDeSuscripcion("Basic");
tipoDeSuscripcion("Expert");
tipoDeSuscripcion("ExpertDuo");
tipoDeSuscripcion("Master");
const tipoDeSuscripcion = "Expert";
if (tipoDeSuscripcion === "Free") {
console.log('Tu tipo de suscripcion es... Free');
} else if (tipoDeSuscripcion === "Basic") {
console.log('Tu tipo de suscripcion es... Basic');
} else if (tipoDeSuscripcion === "Expert") {
console.log('Tu tipo de suscripcion es... Expert');
} else if (tipoDeSuscripcion === "Expert Duo") {
console.log('Tu tipo de suscripcion es... Expert Duo');
} else {
console.log("No estas suscrito al programa");
}
Faltó el operador ternario ‘?’ en la pregunta de los condicionales.
para explicar bien Java Script el mejor es el profe Freddy Vega total!!
al profe Juanda le falta ponerse serio en las explicaciones y dejar de gesticular tanto, salta en la silla me da risa y piedra ver los gestos, que más podemos hacer. Así mismo fue en el curso básico de programación póngale un poco de seriedad a la cuestión
Profe @Juan … Ud es grande!!!
Muy buenas respuestas, en algunas conmigo lo expresaba de otra manera pero añadí las tuyas aparte para complementar. Eso es bueno ya que aceptamos que no solo existe nuestro punto si no muchos.
buena clase
un aporte es que esta bien calida la clase el profe lo explica bien pero si pudiera un poco explicar paso a paso estaria mas genial . pero esta buena la clase . Saludos
Condicionales
1.- Responde:
¿Qué es un condicional?
Es una estructura de control, que valida diferentes expresiones para realizar diferentes acciones.
¿Qué tipos de condicionales existen en JavaScript y cuáles son sus diferencias?
IF (if, else if, else).- Evalúa si una expresición es verdadera o falsa, dependiendo de eso hace o no hace algo.
SWITCH .- Otra estructura de control, con diferencia que se evalúan los valores de la expresión en casos.
¿Puedo combinar funciones y condicionales?
Si. Puede haber condicionales dentro de una función o función en una condicional.
2.- Replica el comportamiento del siguiente código en switch a una sentencia con if, else if y else:
3.- Replica el comportamiento ahora solo con if:
!! Hola, muchas gracias , me quedo super claro la diferencia entre if() {
}else ; y
if(){
}else if ;
gracias que vacano es cuando se entiende!
****Condiconal Ternaria
****Una expresión condicional ternaria, también conocida como operador ternario, es una alternativa compacta a una instrucción if/else. Se escribe en una sola línea y tiene la siguiente sintaxis:
<code>
condición ? expresión1 : expresión2
//ejemplo:
let age = 20;
let status = age >= 18 ? "Adulto" : "Menor de edad";
console.log(status); // output: "Adulto"
En este caso, la condición age >= 18 es evaluada, y dado que es verdadera, se asigna el valor de “Adulto” a la variable “status”. Si la condición hubiera sido falsa, se habría asignado el valor de “Menor de edad”.
en este curso si le entiendo, y explica muy bien, pero en el curso gratis de programación ( con el proyecto de mokepon) me enredo todo
Intente hacer el bonus…espero este bien 😁
//CON ARRAYS
let tipoDeSuscripcion = "Free";
let typeSuscription = ["Free","Basic","Expert","ExpertPlus"];
let beneficio = ["Solo puedes tomar los cursos gratis","Puedes tomar casi todos los cursos de Platzi durante un mes","Puedes tomar casi todos los cursos de Platzi durante un año","Tú y alguien más pueden tomar TODOS los cursos de Platzi durante un año"];
for (let i = 0; i < typeSuscription.length; i++) {
if(typeSuscription[i]==tipoDeSuscripcion){
console.log(beneficio[i]);
}
}
//CON OBJETOS
class typeSuscription {
constructor(plan,beneficio){
this.plan = plan;
this.beneficio = beneficio;
}
}
let tipoDeSuscripcion = "Free";
let free = new typeSuscription("Free","Solo puedes tomar los cursos gratis");
let basic = new typeSuscription("Basic","Puedes tomar casi todos los cursos de Platzi durante un mes");
let expert = new typeSuscription("Expert","Puedes tomar casi todos los cursos de Platzi durante un año");
let expertPlus = new typeSuscription("ExpertPlus","Tú y alguien más pueden tomar TODOS los cursos de Platzi durante un año");
if (free.plan == tipoDeSuscripcion){
console.log(free.beneficio);
}
El tip de terminar un if dentro de una función no lo conocía. Anotado para el libro de la vida 😅.
condicionales!
Pues, pues, creo que se puede hacer a punta de puros if, con las mismas normas, no?
Este profe me da miedo, es bien alegre, rápido, charlatan, algo no cuadra 😒
Un condicional es una estructura de control de flujo de código que permite tomar diferentes caminos dependiendo de ciertas condiciones.
.
existen cuatro tipos de condicionales: if, else if, else y switch. El if se utiliza para evaluar una condición y, en caso de ser verdadera, ejecutar un bloque de código. El else if se utiliza para encadenar múltiples condiciones después del if inicial y el else se utiliza para ejecutar un bloque de código si la condición es falsa. Switch nos deja agregar una variable para validarla por medio de casos.
.
Sí, se pueden combinar funciones y condicionales en JavaScript. De hecho, es muy común hacerlo. Por ejemplo, se puede utilizar una función para realizar un cálculo y luego utilizar un condicional para determinar qué hacer con el resultado del cálculo. También se pueden utilizar funciones para validar la entrada del usuario antes de ejecutar un condicional para determinar qué acción tomar.
Por si quereis hacerlo con diccionario:
let tipos = {
"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",
"ExpertDuo": "Tú y alguien más pueden tomar TODOS los cursos de Platzi durante un año"
}
const tipoDeSuscripcion = "Basic"
for (i in tipos){
if (i == tipoDeSuscripcion){
console.log(`Tienes un plan ${i}: ${tipos[i]}`)
}
}
y a seguir aprendiendoooo
Condicionales
// 1 ** Responde las siguientes preguntas en la sección de comentarios:
//¿Qué es un condicional?
// Definicion Natural
/*Un condicional es una estructura gramatical en la que se plantea una situación hipotética o posible, y se establece una
relación de dependencia entre una condición y una consecuencia.
Los condicionales se expresan mediante el uso de palabras o expresiones como "si", "en caso de que", "a menos que", entre
otras, que introducen la condición, seguidas de la consecuencia que se derivaría de esa condición. Por ejemplo: "Si
estudias, sacarás buenas notas" o "En caso de que llueva, lleva un paraguas".
Existen diferentes tipos de condicionales, dependiendo de la naturaleza de la relación establecida entre la condición y la
consecuencia, y del grado de certeza o probabilidad de que se cumpla la condición. Entre los tipos de condicionales más
comunes se encuentran los condicionales simples (presente y futuro), los condicionales perfectos, los condicionales mixtos,
entre otros.*/
// ¿Qué tipos de condicionales existen en JavaScript y cuáles son sus diferencias?
/*En JavaScript, los condicionales son estructuras de control de flujo que permiten ejecutar diferentes bloques de código
dependiendo de si se cumple o no una determinada condición.
Los condicionales en JavaScript se expresan mediante la palabra reservada "if" seguida de una condición que se evalúa como
verdadera o falsa. Si la condición es verdadera, se ejecuta el bloque de código que se encuentra dentro de las llaves "{}"
que siguen al "if". Si la condición es falsa, se omite este bloque y se continúa con la ejecución del programa.
Por ejemplo, el siguiente código muestra un ejemplo de un condicional simple en JavaScript que verifica si una variable
llamada "edad" es mayor o igual a 18 y, en caso afirmativo, muestra un mensaje en la consola:*/
var edad = 20;
if (edad >= 18) {
console.log("Eres mayor de edad");
}
//Además del "if", también existen otras estructuras de control de flujo condicionales en JavaScript, como el "if-else" (que
// permite ejecutar un bloque de código si la condición es verdadera y otro bloque si la condición es falsa), el "else if" (
//que permite agregar más condiciones a evaluar), y el "switch" (que permite seleccionar entre varias opciones de código
//dependiendo del valor de una expresión).
// ¿Puedo combinar funciones y condicionales?
//Sí, es posible combinar funciones y condicionales en JavaScript. De hecho, es muy común utilizar las estructuras de control
//de flujo condicionales dentro de las funciones para tomar decisiones y ejecutar diferentes acciones en función de una
//condición determinada.
//Por ejemplo, podrías escribir una función que tome un número como parámetro y determine si es positivo, negativo o cero
//utilizando un condicional "if-else". El siguiente código muestra un ejemplo de una función llamada "determinarSigno" que
// utiliza un condicional "if-else" para determinar el signo del número que se le pasa como parámetro y devuelve un mensaje
//correspondiente:
function determinarSigno(numero) {
if (numero > 0) {
return "El número es positivo";
} else if (numero < 0) {
return "El número es negativo";
} else {
return "El número es cero";
}
}
console.log(determinarSigno(5)); // Output: "El número es positivo"
console.log(determinarSigno(-3)); // Output: "El número es negativo"
console.log(determinarSigno(0)); // Output: "El número es cero"
/* 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;
}*/
function suscripcion(tipoDeSuscripcion){
if (tipoDeSuscripcion === "Basic"){
return "Puedes tomar casi todos los cursos de Platzi durante un mes";
}else if (tipoDeSuscripcion === "Free"){
return "Solo puedes tomar los cursos gratis";
}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"
}
}
console.log(suscripcion("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 tipoDeSuscripcion = "Basic";
const mensajes = {
"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(mensajes[tipoDeSuscripcion] ? mensajes[tipoDeSuscripcion] : "Tipo de suscripción no válida");
/*En este ejemplo, se define un objeto 'mensajes' que contiene cada posible valor de la variable 'tipoDeSuscripcion' como clave y el mensaje correspondiente como valor. Luego, se utiliza el operador ternario '?'' para imprimir el mensaje correspondiente si 'tipoDeSuscripcion' existe en el objeto 'mensajes'. Si no existe, se imprimirá el mensaje "Tipo de suscripción no válida".*/
/*Bonus: si ya eres una experta o experto en el lenguaje, te desafío a comentar cómo replicar este comportamiento con arrays u objetos y un solo condicional.*/
const tipoDeSuscripcion = "Basic";
const suscripciones = [
["Free", "Solo puedes tomar los cursos gratis"],
["Basic", "Puedes tomar casi todos los cursos de Platzi durante un mes"],
["Expert", "Puedes tomar casi todos los cursos de Platzi durante un año"],
["ExpertPlus", "Tú y alguien más pueden tomar TODOS los cursos de Platzi durante un año"]
];
const mensaje = suscripciones.find((subscripcion) => subscripcion[0] === tipoDeSuscripcion)?.[1] || "Tipo de suscripción no válida";
console.log(mensaje);
/*En este ejemplo, se define una matriz de suscripciones 'suscripciones' que contiene una submatriz para cada tipo de suscripción. La submatriz incluye el tipo de suscripción en la primera posición y el mensaje correspondiente en la segunda posición.
Luego, se utiliza el método 'find()' para buscar el tipo de suscripción correspondiente dentro de la matriz de suscripciones. Si se encuentra una submatriz correspondiente, se devuelve su segundo elemento (el mensaje). Si no se encuentra una coincidencia, el operador de anulación opcional '?'. devuelve 'undefined', y el operador de fusión nula '||'' establece el mensaje predeterminado "Tipo de suscripción no válida". En general, esta técnica es similar a utilizar un objeto, pero en lugar de claves y valores, se utiliza una matriz de pares clave-valor.*/
<let tipoDeSuscripcion = "green";
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("Tu y alguien mas pueden tomar todos los cursos de platzi durante un año");
}
else if (tipoDeSuscripcion == "free") {
console.log("Solo puedes tomar los cursos gratis");
}else {
console.log("No encontramos ningun tipo de suscripcion");
}
>
yo intente hacer ese bonus del profe y me quedo haci
const tipoDeSuscripcion = [
{nombre :"Basic", descripcion : "Puedes tomar casi todos los cursos de Platzi durante un mes"},
{nombre :"Free", descripcion : "Solo puedes tomar los cursos gratis"},
{nombre :"Expert", descripcion : "Puedes tomar casi todos los cursos de Platzi durante un año"},
{nombre :"Expertplus", descripcion : "Tú y alguien más pueden tomar TODOS los cursos de Platzi durante un año"},
]
let typeSub = "Free";
let encuentraSub = tipoDeSuscripcion.find(function(sub){
return sub.nombre === typeSub})
console.log (enc
Hola a todos, acá está la solución al bonus de la clase:
let tipoDeSuscripcion = "Basic";
let tiposDeSuscripciones = [
{tipoSuscripcion: "Basic", mensaje: "Puedes tomar casi todos los cursos de Platzi durante un mes"},
{tipoSuscripcion: "Expert", mensaje: "Puedes tomar casi todos los cursos de Platzi durante un año"},
{tipoSuscripcion: "ExpertPlus", mensaje: "Tú y alguien más pueden tomar TODOS los cursos de Platzi durante un año"},
{tipoSuscripcion: "Free", mensaje: "Solo puedes tomar los cursos gratis"}
];
function imprimirSuscripcion (suscripcion) {
let confirmarSuscripcion = tiposDeSuscripciones.find(function (suscripciones){
return suscripciones.tipoSuscripcion == suscripcion;
});
if (confirmarSuscripcion !== undefined) {
console.log(confirmarSuscripcion.mensaje);
}
else {
console.log("La suscripción no existe");
}
}
imprimirSuscripcion(tipoDeSuscripcion);
Creo que falto el if ternario
Me cuesta enterder cuando una funcion utiliza otra funcion.
💡 Bonus: si ya eres una experta o experto en el lenguaje, te desafío a comentar cómo replicar este comportamiento con arrays u objetos y un solo condicional. 😏
const tipoDeSuscripcion = {
free: "Solo puedes tomar los cursos gratis",
Basic: "Puedes tomar casi todos los cursos de Platzi durante un mes",
Expert: "Puedes tomar casi todos los cursos de Platzi durante un año",
ExpertPlus: "Tú y alguien más pueden tomar TODOS los cursos de Platzi durante un año"
}
const suscripcion = "Basic";
for(let clave in tipoDeSuscripcion){
if(clave == suscripcion) console.log(tipoDeSuscripcion[clave]);
}
mucha energía cuando explica Juan dc, si me costó acostumbrarme a las clases con este tipo de energía, pero una vez acostumbrado, se es más dinámica la clase, me agrada
Los condicionales son la forma en que ejecutamos un bloque de código u otro dependiendo da alguna condición o validación
No me parece explicas rapidisimo tuve que colocar el video en 0.85x para darte bola.
Es la forma en como controlamos el flujo de ejecución de nuestro código, es decir, si se cumple una condición ejecutamos un bloque de código, si no se cumple ejecutamos otro bloque de código.
If (else y else if) y Switch.
El condicional (else y else if) nos permite permite hacer validaciones completamente distintas en cada condición. En cambio, en el condicional switch todos los cases se comparan con la misma variables que definimos en el switch.
Es una forma abreviada de escribir un condicional if (else).
¿Qué tipo de condicionales hay en JS y cuales son sus diferencias?
¿Que es un condicional?
Yo me confundí en los condicionales, había entendido lo siguiente:
¿Qué es un condicional?: es evaluar un valor y determinar si es false o true
¿Qué tipos de condicionales existe en JavaScript?: igual que, mayor que, menor que, etc.
Los if, for, while y switc, son estructuras de control que realizan una acción en función de una condición.
Esta es mi respuesta a la pregunta Bonus:
const userSub = "Free";
const subsInfo = {
Free: "Solo puedes tomar los cursos gratis",
Basic: "Puedes tomar casi todos los cursos de Platzi durante un mes",
Expert: "Puedes tomar casi todos los cursos de Platzi durante un año",
ExpertPlus:
"Tú y alguien más pueden tomar TODOS los cursos de Platzi durante un año",
};
function verifySubscription(subType) {
Object.keys(subsInfo).forEach((sub) => {
if (subType === sub) {
console.log(subsInfo[sub]);
}
});
}
verifySubscription(userSub);
Los operadores lógicos (AND, OR, NOT) y el operador ternario (?). Tengo entendido que también entran en la definición de condicionales.
2️⃣ Replica el comportamiento del siguiente código que usa la sentencia switch
utilizando if
, else
y else if
:
function newFunction(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");
}
}
newFunction();
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 newFunction(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");
}
}
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 = [
{nombre : "Free", mensaje : "Solo puedes tomar los cursos gratis" },
{nombre : "Basic", mensaje : "Puedes tomar casi todos los cursos de Platzi durante un mes"},
{nombre : "Expert", mensaje : "Puedes tomar casi todos los cursos de Platzi durante un año"},
{nombre : "ExpertPlus", mensaje : "Tú y alguien más pueden tomar TODOS los cursos de Platzi durante un año"},
]
const suscripcion = "Free";
if (tipoDeSuscripcion[0]){
console.log(tipoDeSuscripcion[0].mensaje);
}else{
console.log("No tienes suscripción")
}
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?
o inicia sesión.