2

Respuestas al test de JavaScript

<h1>Introducción</h1>

En la segunda clase de este curso: Curso Práctico de JavaScript se te pide realizar un examen de JavaScript para evaluar cuánto sabes de la tecnologia.

Yo llevo estudiando JavaScript por mas de dos años y trabajando casi un año, por lo que me gustaria que respondieras el examen y despues vengas a comparar respuestas con este tutorial.

<h1>Test de JavaScript</h1>

A partir de este punto se agregaran todas las respuestas a las preguntas del test en el curso:


Variables y operaciones

  • ¿Qué es una variable y para que sirve?
    Una variable es un espacio que se almacena en la memoria temporal de la computadora (cache), nos sirve para guardar informacion de manera temporal en nuestros programas, ya que una vez que se cierre el navegador o Node se deje de ejecutar, este espacio en memoria se libera y nuestra variable ya no existira. Esta variable puede ser cualquier tipo de dato y es mutable, lo que significa que su valor puede cambiar.
  • ¿Cuál es la diferencia entre declarar e inicializar una variable?
    Cuando se inicializa una variable es porque ya se le esta asignando un valor en memoria, mientras que la declaracion es solo para indicar que una variable existe, pero que aun no se le ha asignado un valor en memoria.
// Inicializar
letvariableUno = "Yo soy el valor de memoria, soy un string"

// Declaracion
let variableDos

if (10 > 5) {
  variable2 = true
} else {
  variable2 = false
}
  • ¿Cuál es la diferencia entre sumar numeros y concatenar strings?
    En JavaScript, tanto sumar numeros como concatenar strings se hace con el signo de suma (+).
    Sin embargo, la diferencia es clara, cuando estamos hablando de numeros, es cuando se va a sumar, mientras que cuando son strings se va a concatenar.
// concatenar"1" + "2" -> "12"// suma1 + 2 -> 3
  • ¿Cuál operador me permite sumar o concatenar?
    El signo de más (+)

1. Determina el nombre y el tipo de dato 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

2. Traduce a código JavaScript las variables del ejemplo anterior

const name = "Irving";
constlastName = "Juárez";
const platziUserName = "irvingvjuarez";
const age = 21;
const email = "irving@gmail.com"
const isAdult = true;
const savings = 110;
const debts = 0; 

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

  • Nombre completo (nombre y apellido)
  • Dinero neto (dinero ahorrado menos deudas)
const fullName = `${name}${lastName}`;
const netMoney = savings - debts;

console.log({ fullName, netMoney })

.


Funciones

  • ¿Qué es una función?
    Una función nos ayuda a realizar un bloque de codigo especifico
  • ¿Cuándo me sirve usar una función en mi código?
    Cuando se esta realizando una accion en el codigo que se repite mas de una vez
  • ¿Cuál es la diferencia entre parámetros y argumentos de una función?
    Los parametros se refieren al nombre de la variable que va a usar la funcion, mientras que los argumentos son los valores como tal
// parametros
function sumar(num1, num2){
  ...
}

// arguments
const argumentOne = 10;
const argumentTwo = 50;

constresult = sumar(argumentOne, argumentTwo); // 60

.

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

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

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

Resultado:

functioncreateMessage(name, lastName, nickName) {
	const fullName = `${name}${lastName}`const message = `Mi nombre es ${fullName} pero prefiero que me digas ${nickname}`return message;
}

.


Condicionales

¿Qué es un condicional?
Es una expresion que se usa en programacion para hacer algo si una condicion se cumple, mientras que hacer otra cosa en caso de que la condidcion no se cumpla
¿Qué tipos de condicionales existen en JavaScript y cuáles son sus diferencias?
Existen solo dos: if statement & switch

// if statementif(conditional) {
	...
} else {
	...
}

// switchswitch(condition){
	case"Hello":
		@code
	break;
	case"Bye":
		@code
	break;
	default:
		@code
}

¿Puedo combinar funciones y condicionales?
Si, se puede poner una condicional en una funcion

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

Resultado:

const tipoDeSuscripcion = "Basic";
let message

if (tipoDeSuscripcion === "Free") {
	message = "Solo puedes tomar los cursos gratis"
} elseif (tipoDeSuscripcion === "Basic") {
	message = "Puedes tomar casi todos los cursos de Platzi durante un mes"
} elseif (tipoDeSuscripcion === "Expert") {
	message = "Puedes tomar casi todos los cursos de Platzi durante un año"
} else { // ExpertPlus, la ultima que queda
	message = "Tú y alguien más pueden tomar TODOS los cursos de Platzi durante un año"
}

console.log(message)

.

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

Resultado:

// tipoDeSuscripcion ya se nos fue dado

let message
const isFree = tipoDeSuscripcion === "Free"
const isBasic = tipoDeSuscripcion === "Basic"
const isExpert = tipoDeSuscripcion === "Expert"
const isExpertPlus = tipoDeSuscripcion === "ExpertPlus"if (isFree) message = "Solo puedes tomar los cursos gratis"if (isBasic) message = "Puedes tomar casi todos los cursos de Platzi durante un mes"if (isExpert) message = "Puedes tomar casi todos los cursos de Platzi durante un año"if (isExpertPlus) message = "Tú y alguien más pueden tomar TODOS los cursos de Platzi durante un año"

console.log(message)

.


Ciclos

¿Qué es un ciclo?
Es la manera en la que hacemos que cierto codigo se repita cierta cantidad de veces o hasta que se deje de cunplir una condicion.
¿Qué tipos de ciclos existen en JavaScript?
For, While, Do while
¿Qué es un ciclo infinito y por qué es un problema?
Como se menciono anteriormente, un ciclo se ejecuta mientras una condicion se cumpla. Si esa condicion siempre se cumple, tenemos un ciclo infinito y eso es problematico porque ocupa mucho procesamiento, ya que nunca para, y hace que la computadora se vuelva lenta
¿Puedo mezclar ciclos y condicionales?
Sip

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

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

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

Respuesta:

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

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

.

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

Respuesta:

let userAnswer;do {
  userAnswer = prompt(
    "Hola, ¿cuánto es 2 + 2? \n Hint: La respuesta no es pez"
  );
} while (userAnswer !== "4");

alert("You Finally answered correctly");

Listas

¿Qué es un array?
Es un tipo de dato que nos permite guardar una especie de lista de valores
¿Qué es un objeto?
Es una lista de clave valor, donde nosotros asignamos una llave y un valor de cada propiedad dentro del objeto
¿Cuándo es mejor usar objetos o arrays?
Depende de lo que quieras hacer
¿Puedo mezclar arrays con objetos o incluso objetos con arrays?
Sip, es muy comun hacerlo, aunque depende de que es lo que se este buscando conseguir en el programa.

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

functionprintFirstElement(arr) {
	const firstElement = arr[0];
	console.log(firstElement)
}

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

functionprintEachElement (arr) {
	arr.forEach(element => console.log(element))
}

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

functionprintEachProp(obj) {
  const pairs = Object.entries(obj);
  pairs.forEach((entry) => console.log(`${entry[0]}: ${entry[1]}`));
}
Escribe tu comentario
+ 2