Platzi
Platzi

¡Invierte en ti y celebremos! Adquiere un plan Expert o Expert+ a precio especial.

Antes:$349
$259
Currency
Antes:$349
Ahorras:$90
COMIENZA AHORA
77

¿Cuál es tu nivel en JavaScript?

695Puntos

hace 2 años

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.

1. Al declarar una referencia usas:

a.

var a = 1;
var b = 2;

b.

const a = 1;
const b = 2;

2. Cuando reasignas una referencia lo haces:

a.

letcount = 1;
if (true) {
  count += 1;
}

b.

varcount = 1;
if (true) {
  count += 1;
}

3. ¿Cómo creas un nuevo objeto?

a.

const item = newObject();

b.

const item = {};

4. ¿Cómo agregas elementos a un arreglo?

a.

someStack[someStack.length] = 'abracadabra';

b.

someStack.push('abracadabra');

5. ¿Cómo accedes y usas múltiples propiedades de un objeto?

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

6. ¿Cómo escribes una cadena de texto extensa?

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.';

7. ¿Cómo creas una cadena de texto de forma programática?

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

8. ¿Cómo usas los módulos?

a.

import StyleGuide from'./StyleGuide';
exportdefault StyleGuide.es6;

b.

import { es6 } from'./StyleGuide';
exportdefault es6;

c.

const StyleGuide = require('./StyleGuide');
module.exports = StyleGuide.es6;

9. ¿Cómo accedes a las propiedades de el objeto sampol?

const sampol = {
  frontend: true,
  age: 28
};

a.

const isFrontend = sampol['frontend'];

b.

const isFrontend = sampol.frontend;

10. ¿Cómo declaras una función?

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:

1. a = 5, b = 10

¿Por qué? Esto asegura que no reasignes tus referencias reduciendo la probabilidad de bugs. También hace un código más comprensible.

2. a =10, b = 5

¿Por qué? let mantiene el alcance de la variable dentro bloque

3. a = 5, b = 10

¿Por qué? Es preferible usar la sintaxis literal al crear un nuevo objeto.

4. a = 5pts, b = 10

¿Por qué? Push está optimizado para agregar el elemento al final del array

5. a = 10, b = 5, c = 8

¿Por qué? Aprovechar las capacidades de /Destructuring/ te evita crear referencias temporales a las propiedades

6. a = 5, b = 10, c = 5

¿Por qué? Las cadenas cortadas, concatenadas hacen difícil trabajar en ellas y buscar en su contenido.

7. a = 5, b = 5, c = 10

¿Por qué? Los template strings dan mayor legibilidad, su sintaxis es más concisa y tiene características de interpolación adicionales

8. a = 8, b = 10, c = 5

¿Por qué? Los módulos son el futuro y siempre podrás transpilar a tu sistema favorito.

9. a = 5, b = 10

¿Por qué? Es más fácil de leer y funciona mejor con minificadores

10. a = 10, b = 5

¿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

¿Cuál es tu nivel en javaScript?

Entre 0 y 25

Parece que aún no tienes los fundamentos de programación. Este curso te servirá

Entre 26 y 50

Tienes el conocimiento teórico pero falta experiencia trabajando en equipo. El curso de Fundamentos de JavaScript te llevará al siguiente nivel.

Entre 51 y 75

El Frontend definitivamente es tu camino. Unos proyectos más grandes te harán sobresalir de la media. ¿Cómo te sientes con React?

Entre 76 y 99

Falta poco ¿Qué tan fácil de testear es tu código? Aquí una ayuda

100

Oh la la! señor programador.


¿Cuál fue esa buena práctica que te cambió la vida con JavaScript?.

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.

Escuela de javascript bogota
Escuela de javascript CDMX

Platzi
Platzi
Platzi

695Puntos

hace 2 años

Todas sus entradas
Escribe tu comentario
+ 2
Ordenar por:
6
6561Puntos
<h1>1.b - 10</h1> <h1>2.a - 10</h1> <h1>3.b - 10</h1> <h1>4.b - 10</h1> <h1>5.a - 10</h1> <h1>6.b - 10</h1> <h1>7.c - 10</h1> <h1>8.b - 10</h1> <h1>9.b - 10</h1> <h1>10.a - 10</h1> <h1>Total - 100</h1>

Gracias Platzi, casi 8 meses estudiando y haciendo proyectos y eh podido alcanzar un buen nivel en javascript

5
24Puntos

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) declaración de función.
  • B) expresión de función.

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 expresiones de funciones son compatibles con arrow functions, las declarativas no.
  • Pueden ser exportadas como módulos.
  • Pueden ser almacenadas en variables y compartidas como argumentos.
  • Pueden ser autoinvocadas (anonymous function)

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

3
14548Puntos
2 años

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.

4
18583Puntos

100 puntos, llevo casi dos años usando exclusivamente este lenguaje xd

1
2 años

Somos tres pero yo con Angular y ahora aprendiendo React

4

Es mi segundo día con Fundamentos de JavaScript y saque un 80… creo que aun podemos mejorar.

4
27371Puntos

93 parece que no estoy tan mal 😃
Me sorprendió lo de cortar las cadenas, siempre tiendo a cortarlas.

1
10277Puntos
2 años

yo también siempre tiendo a cortarlas xD

4
6193Puntos

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

4
24Puntos
2 años

Hola, en javascript el hoisting es un comportamiento del intérprete de código que permite utilizar variables antes de ser inicializadas.

3
4290Puntos

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 😅

3
17992Puntos

me gusto mucho este ejercicio, estaria muy bueno que lo hagan para otros lenguajes 😃

3
6437Puntos
  1. B 10
  2. A 10
  3. B 10
  4. B 10
  5. C 8
  6. B 10
  7. C 10
  8. B 10
  9. B 10
  10. B 5

TOTAL : 93

3
14954Puntos

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.

2
3716Puntos

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

2
12271Puntos
  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
    Total = 95!!
    Pensé que aun me faltaba mucho pero vamos por buen camino gracias a Platzi!
2
3634Puntos
  1. B
  2. A
  3. B
  4. B
  5. A
  6. B
  7. C
  8. B
  9. B
  10. B

Total: 95 puntos 😃 ¡Casi casi!

2

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.

2
6712Puntos

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.

2
6247Puntos

B = 10
A = 10
B = 10
B = 10
C = 8
C = 5
C = 10
C = 5
B = 10
B = 5

Total : 83

2
5253Puntos

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…

2
19953Puntos

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

2
2565Puntos

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.

2
27476Puntos

1 b
2 a
3 b
4 b
5 a
6 a
7 c
8 b
9 b
10 a

95 🧐🤓

2
8020Puntos

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

2
11535Puntos

Preguntas: (1,2,3,4,6,7,8,9,10) = 10. Y (5) = 8.
=98.

2
6843Puntos

95 😄 Platzi si que funciona

2
7052Puntos

10X ¡No estoy tan mal tengo el puntaje 10x!

2
5314Puntos

87pts. Interesante la 5 (destructuring como parametro en la firma de la función )y 10(no me la esperaba) … a seguir aprendiendo!

2
14077Puntos
  1. a
  2. a
  3. a
  4. b
  5. c
  6. b
  7. c
  8. c
  9. b
  10. a

5+10+5+10+8+10+10+5+10+10 = ¡83!

2
818Puntos

73¡¡¡

Estoy mejor de lo que esperaba 😛

2
12Puntos

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.

2
3576Puntos

85 parece que voy en buen camino.Gracias platzi !!!

2
3119Puntos

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

2
16659Puntos

95, creí que estaba peor

2
53945Puntos
  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. A 10
    Total 100
6
53945Puntos
2 años

Hacen falta mas test como este, para ver que tanto hemos aprendido, sugiero un modulo Platzi TEST.

Quien mas se suma?

2
12690Puntos

80 ptos
ummmm, no me enteré que sabía más de lo que pensé, quizás subestimo lo que he estudiado.

2
1514Puntos

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.

2
8515Puntos

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

1
4481Puntos

90 puntos. A seguir mejorando 💪

1
1370Puntos

90! pero a seguir aprendiendo!

1

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
4519Puntos

58!! todavia me cuesta entender algunas cosas, pero algun dia los entendere frontend sera el camino!

1
4519Puntos

58!! todavia me cuesta entender algunas cosas, pero algun dia los entendere frontend sera el camino!

1
21903Puntos

Obtuve 88 puntos. Alguna sugerencia de libro para profundizar?

1
12271Puntos

Me queda una duda con la escuela de Javascript? si ya soy Platzi Expert no tiene un precio preferencial?

1
11014Puntos
2 años

sí, tiene un descuento para estudiantes con plan expert

1

93 de 100 y creo que la última podría ser
const foo = () =>{ };

1
23198Puntos

El la pregunta 10, la respuesta B sería lo mismo que usar las arrow functions?

5
3634Puntos
2 años

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 😃

1
23198Puntos
2 años

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

1
5245Puntos

Unos cuantos cursos y haber quedado con 93 de 100 dice mucho jeje

1
10277Puntos

93, nada mal no? jeje. y justamente me viene bien tomar el curso de testing

1
454Puntos

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

1
7943Puntos

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

1
2065Puntos

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

1
14548Puntos

100pts. 😄

En la ultima pregunta casi siempre utilizo arrow functions asi que directamente me asigno 10pts xD, si no vale pues nada.

1
4768Puntos

bueno saque un 68 me parece bien siendo que estoy comenzando a conocer este mundo! 😄

1
2530Puntos
  1. B 10
  2. A 10
  3. B 10
  4. B 10
  5. C 8
  6. B 10
  7. C 10
  8. B 10
  9. B 10
  10. A 10
    Total = 98
1

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
44364Puntos
  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. a - 10

Aunque dependiendo la ocasión aveces igual ocupo la ‘c’ de la pregunta 5.

1
4966Puntos

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

1
5170Puntos

93
Pero no entendí algo. En la pregunta 10 ¿ Por que la respuesta correcta es la a?

1
6868Puntos

Cuando harán un evento presencial en Perú?