Un código escalable, optimizado, fácil de leer y mantenible son las características de un desarrollador profesional. Respondiendo a estas 10 preguntas sabrás si hay que mejorar tus prácticas o si ECMAScript te necesita para la siguiente edición.
Si ninguna respuesta se acerca a tu solución o no entiendes la pregunta pasa a la siguiente.
a.
var a = 1;
var b = 2;
b.
const a = 1;
const b = 2;
a.
letcount = 1;
if (true) {
count += 1;
}
b.
varcount = 1;
if (true) {
count += 1;
}
a.
const item = newObject();
b.
const item = {};
a.
someStack[someStack.length] = 'abracadabra';
b.
someStack.push('abracadabra');
a.
functiongetFullName({ firstName, lastName }) {
return`${firstName}${lastName}`;
}
b.
functiongetFullName(user) {
const firstName = user.firstName;
const lastName = user.lastName;
return`${firstName}${lastName}`;
}
c.
functiongetFullName(user) {
const { firstName, lastName } = user;
return`${firstName}${lastName}`;
}
a.
var errorMessage = 'This is a super long errorthat was thrown because \n of Batman. When you stop to think about how Batman had anything to do \n with this, you would get nowhere fast.';
b.
var errorMessage = `This is a super longerror that was thrown because of Batman. When you stopto think about how Batman had anything todowith this, you would get nowhere fast.`;
c.
var errorMessage = 'This is a super long errorthat was thrown because' +
'of Batman. When you stop to think about how Batman had anything to do ' +
'with this, you would get nowhere fast.';
a.
functionsayHi(name){
return'How are you, ' + name + '?';
}
b.
functionsayHi(name){
return ['How are you, ', name, '?'].join();
}
c.
functionsayHi(name) {
return`How are you, ${name}?`;
}
a.
import StyleGuide from'./StyleGuide';
exportdefault StyleGuide.es6;
b.
import { es6 } from'./StyleGuide';
exportdefault es6;
c.
const StyleGuide = require('./StyleGuide');
module.exports = StyleGuide.es6;
sampol
?const sampol = {
frontend: true,
age: 28
};
a.
const isFrontend = sampol['frontend'];
b.
const isFrontend = sampol.frontend;
a.
functionfoo(){
}
b.
const foo = function(){
};
Toma tus respuestas y asígnales el puntaje, el mayor puntaje es la mejor solución. También encontrarás el por qué de cada una:
¿Por qué? Esto asegura que no reasignes tus referencias reduciendo la probabilidad de bugs. También hace un código más comprensible.
¿Por qué?
let
mantiene el alcance de la variable dentro bloque
¿Por qué? Es preferible usar la sintaxis literal al crear un nuevo objeto.
¿Por qué?
Push
está optimizado para agregar el elemento al final del array
¿Por qué? Aprovechar las capacidades de /Destructuring/ te evita crear referencias temporales a las propiedades
¿Por qué? Las cadenas cortadas, concatenadas hacen difícil trabajar en ellas y buscar en su contenido.
¿Por qué? Los
template strings
dan mayor legibilidad, su sintaxis es más concisa y tiene características de interpolación adicionales
¿Por qué? Los módulos son el futuro y siempre podrás transpilar a tu sistema favorito.
¿Por qué? Es más fácil de leer y funciona mejor con minificadores
¿Por qué? Las declaraciones de función son más fáciles de identificar en pilas de llamadas, todo su conteni[do es hoisted y permiten usar funciones Arrow
Parece que aún no tienes los fundamentos de programación. Este curso te servirá
Tienes el conocimiento teórico pero falta experiencia trabajando en equipo. El curso de Fundamentos de JavaScript te llevará al siguiente nivel.
El Frontend definitivamente es tu camino. Unos proyectos más grandes te harán sobresalir de la media. ¿Cómo te sientes con React?
Falta poco ¿Qué tan fácil de testear es tu código? Aquí una ayuda
Oh la la! señor programador.
También podemos discutir del espaciado en indentación 😛
¿Quieres llegar a nivel 100 en el menor tiempo posible? La escuela de JavaScript de Platzi te hará profesional con mentoría personalizada y talleres presenciales.
Gracias Platzi, casi 8 meses estudiando y haciendo proyectos y eh podido alcanzar un buen nivel en javascript
90!! 💪
Bueno el test, sobretodo aporta mucho que en las respuestas especifiquen las razones.
Humildemente les dejo unas observaciones personales:
-Para la la 1) y 2) puede ser confusa la redacción ya que en el contexto de la respuesta, la pregunta debería ser sobre declaración de variables/constantes.
La copia/asignación de referencias es otro concepto que no aparece en las opciones dadas (o también puede ser una confusión regional de mi parte que allá llamen referencias a las variables).
-Para la 6) supuse de las opciones que era sólo javascript standard, pero viendo otras preguntas que ejemplifican con ES6 entonces la mejor solución para strings extensos son sin duda los template literals `long string…` que precisamente resuelven ésto (y no aparece en las opciones).
-En la 10) definitivamente no concuerdo con A, la respuesta correcta debería ser B.
A pesar que js permite hacer hoisting no significa que sea la mejor práctica, en las buenas prácticas de desarollo (cualquier lenguaje) declaras tus objetos antes de utilizarlos, aún así, las expresiones de funciones tienen más ventajas vs las declarativas, que viceversa, ejemplos:
Las declaraciones de funciónes mal colocadas son engañosas y hay pocas situaciones (…si las hay) en las que no se puede usar una expresión de función asignada a una variable
Lo mismo pensé yo con la 6, utilizar comillas simples o dobles te impide hacer saltos de linea en el editor, por ello la solución buena es usar template literals como indicas tu.
Hola a todos!! Parece que me fué muy bien, obtuve 83 pts, me ayudó mucho el curso de Fundamentos de Javascript. Me podrían ayudar a explicarme mejor las respuestas 8 y 10 (Qué significa su ‘contenido es hoisted’) Perdón la ignorancia, gracias
Hola, en javascript el hoisting es un comportamiento del intérprete de código que permite utilizar variables antes de ser inicializadas.
93 parece que no estoy tan mal 😃
Me sorprendió lo de cortar las cadenas, siempre tiendo a cortarlas.
yo también siempre tiendo a cortarlas xD
Es mi segundo día con Fundamentos de JavaScript y saque un 80… creo que aun podemos mejorar.
100 puntos, llevo casi dos años usando exclusivamente este lenguaje xd
Somos 2 bro!
Somos tres pero yo con Angular y ahora aprendiendo React
Excelente test. Mi puntuación fue 93 y juro que no hice trampa 😃 .
Pero discrepo con la pregunta 10, lo correcto debería ser la opción B.
Y si no entendí nada, dónde puedo aprender de 0 Javascript?
Además de la escuela, esta es tu opción
https://platzi.com/clases/fundamentos-javascript/
👌
Te diría que comiences con el curso de programación básica, se ven a grandes rasgos las bases de JS
TOTAL : 93
me gusto mucho este ejercicio, estaria muy bueno que lo hagan para otros lenguajes 😃
93 😄 todavia estoy aprendiendo y me siento particularmente orgulloso de pertenecer a Platzi y pensarque hasta hace 2 meses ni sabia que era una const jajajaja 😅
87pts. Interesante la 5 (destructuring como parametro en la firma de la función )y 10(no me la esperaba) … a seguir aprendiendo!
Total = 95!!
Pensé que aun me faltaba mucho pero vamos por buen camino gracias a Platzi!
93 🤓💪
Nada mal, pero tengo que ver nuevamente los cursos de js y practicar un poco mas algunos temas.
1-a (5)
2-a (10)
3-b (10)
4-b (10)
5-a (10)
6-c (5)
7-c (10)
8-b (10)
9-a (5)
10-b (5)
Total = 80
yo penas 63 kiddescoders jajajaja
Total: 95 puntos 😃 ¡Casi casi!
75 supongo que ya puedo trabajar con node.js
alcance los 70 puntos jajajaj he programado uno que otro programa en node.js pero la verdad es que no tenia mucho cocnocimiento pero me he ido adentrando cada vez mas en el campo de node.js me gusta la idea del backend y como funciona y bueno la verdad es que me gustaria dedicarme a trabajar en seguridad informatica pero primero para ello debo saber de todo y muy bien.
Saque la cuenta y me da 68. Pienso que puedo mejorar y cual código sería mas eficiente la momento de programar. Gracias por este blog.
B = 10
A = 10
B = 10
B = 10
C = 8
C = 5
C = 10
C = 5
B = 10
B = 5
Total : 83
1.- a
2 - a,
3 - b,
4.- b,
5.- b,
6.- b,
7.- c,
8.- a
9.- b
10.- a
Total = 88 Pts.
Mejor de lo que esperaba. Y activo aprendiendo React…
93 no entoy nada mal.
b= 10
a= 10
b= 10
b= 10
c= 8
a= 5
c= 10
b= 10
b= 10
a= 10
Saque, 93 no estoy seguro si la pregunta 10 tiene una buena explicacion de porque la opción B no es la mas idonea.
En la 5 cai en la concha de mango, no detalle bien que se estaba aplicando tambien destructuring jeje.
1 b
2 a
3 b
4 b
5 a
6 a
7 c
8 b
9 b
10 a
95 🧐🤓
1 - a 5
2 - b 5
3 - b 10
4 - b 10
5 - c 5
6 - b 10
7 - c 10
8 - b 10
9 - b 10
10 - a 10
Total = 85
Nada mal
Preguntas: (1,2,3,4,6,7,8,9,10) = 10. Y (5) = 8.
=98.
95 😄 Platzi si que funciona
10X ¡No estoy tan mal tengo el puntaje 10x!
1.b = 10
2.a = 10
3.b = 10
4.b = 10
5.a = 10
6.c = 5
7.c = 10
8.b = 10
9.b = 10
10.a = 10
95
5+10+5+10+8+10+10+5+10+10 = ¡83!
73¡¡¡
Estoy mejor de lo que esperaba 😛
La respuesta de lo de las cadenas es discutible, si se coloca una cadena que no este cortada lo más seguro que el lint te marque un error y si en tu equipo tiene esa regla, hay que cumplirlas.
85 parece que voy en buen camino.Gracias platzi !!!
1)b 10
2)a 10
3)b 10
4)b 10
5)a 10
6)b 10
7)c 10
8)b 10
9)b 10
10)b 5
95, creí que estaba peor
Total 100
Hacen falta mas test como este, para ver que tanto hemos aprendido, sugiero un modulo Platzi TEST.
Quien mas se suma?
80 ptos
ummmm, no me enteré que sabía más de lo que pensé, quizás subestimo lo que he estudiado.
Solo estudie js en Platzi y a pesar de que no lo toco hace 8 meses saque un 85, lecciones que perduran.
Cuando se podrian estas clases presenciales en otros paises?
P.D. escribo de Uruguay.
83!!
98 !!
93!
¡¡75 Puntos!! Siendo honesto esperaba tener menos puntaje y no por minimizarme a mi ni mis conocimientos, tan sólo que nunca había trabajado con JavaScript.
A ponerlo todo para llegar a ese 100, lo mejor es que nunca uno deja de aprender. 😄
70 estoy en termino medio creo, pero veo que me falta mucho que practicar y por recorrer, sin duda esa escuela de javascript se ve tan prometedora
90! pero a seguir aprendiendo!
Unos cuantos cursos y haber quedado con 93 de 100 dice mucho jeje
1.a= 5
2.b= 5
3.a= 5
4.b= 10
5.b= 5
6.c= 5
7.c= 10
8.a= 8
9.b= 10
10.a= 10
73 boy birn
1= b. 10
2= b. 5
3= a. 5
4= b. 10
5= b. 5
6=c. 5
7=a. 5
8=a. 8
9=b. 10
10=b. 5
1.a =5
2.a = 10
3.b = 10
4.b = 10
5.a = 10
6.a =5
7.c = 10
8.b = 10
9.b = 10
10.b = 5
total =85 vamos por buen camino
El la pregunta 10, la respuesta B sería lo mismo que usar las arrow functions?
Entiendo que no. La sintáxis de la respuesta B es la siguiente:
const foo = function(){ };
Mientras que una arrow function tendría la siguiente sintáxis:
const foo = () => { };
La diferencia principal entre una y otra, además de la sintáxis, es el execution context de cada una. En el primer caso, se genera un contexto específico para la función, mientras que en el caso de la arrow function no se genera dicho contexto. Esto tiene efecto directo sobre a qué contexto hace referencia el ‘this’.
Espero que te sirva 😃
jaja gracias por contestar, en realidad ya sabía eso pero era por esa pregunta 10 que no estaba en la forma que yo la usaba que es con arrow functions
93 de 100 y creo que la última podría ser
const foo = () =>{ };
bueno saque un 68 me parece bien siendo que estoy comenzando a conocer este mundo! 😄
93, nada mal no? jeje. y justamente me viene bien tomar el curso de testing
68 !!
Me queda una duda con la escuela de Javascript? si ya soy Platzi Expert no tiene un precio preferencial?
sí, tiene un descuento para estudiantes con plan expert
78
58!! todavia me cuesta entender algunas cosas, pero algun dia los entendere frontend sera el camino!
58!! todavia me cuesta entender algunas cosas, pero algun dia los entendere frontend sera el camino!
100pts. 😄
En la ultima pregunta casi siempre utilizo arrow functions asi que directamente me asigno 10pts xD, si no vale pues nada.
Total = 98
Aún me falta mucho por entender!! XD
1=10
2=5
3=5
4=10
5=5
6=5
7=5
8=10
9=10
10=10
Total 75
Cuando harán un evento presencial en Perú?
Aunque dependiendo la ocasión aveces igual ocupo la ‘c’ de la pregunta 5.
93
Pero no entendí algo. En la pregunta 10 ¿ Por que la respuesta correcta es la a?
Obtuve 88 puntos. Alguna sugerencia de libro para profundizar?
Hola a todos, saque 78 puntos y hace poco que terminé el curso de programación básica y pensé que iba a sacar menos puntos así que me siento orgulloso pk siento que estoy aprendiendo con Platzi.
Aquí va mi puntuación:
1-a 5
2-b 5
3-a 5
4-b 10
5-a 10
6-a 5
7-c 10
8-a 8
9-b 10
10-a 10
100 🧡
90 puntos. A seguir mejorando 💪