70

¿Cuál es tu nivel en JavaScript?

686Puntos

hace un mes

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

686Puntos

hace un mes

Todas sus entradas
Escribe tu comentario
+ 2
Ordenar por:
6
1450Puntos
<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

4
3101Puntos

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
22Puntos
un mes

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

4
14466Puntos

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

1
un mes

Somos tres pero yo con Angular y ahora aprendiendo React

4
22Puntos

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

2
11007Puntos
un mes

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

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

1
5270Puntos
un mes

yo también siempre tiendo a cortarlas xD

4

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

3
2747Puntos

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

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.

3
15689Puntos

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

3
  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

2
4275Puntos

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

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

2
9305Puntos

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

2
1149Puntos

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
4551Puntos
  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
6898Puntos

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

2
4887Puntos

95 😄 Platzi si que funciona

2
1208Puntos

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
10770Puntos
  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
10770Puntos
un mes

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

Quien mas se suma?

2
1662Puntos

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

95, creí que estaba peor

2
5126Puntos

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

2
8Puntos

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

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

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
2119Puntos
  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
4239Puntos

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

Total : 83

2
3498Puntos

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

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

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

2
274Puntos

73¡¡¡

Estoy mejor de lo que esperaba 😛

2
865Puntos

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

2
2386Puntos
  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
3114Puntos

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

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

95 🧐🤓

1
285Puntos

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

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

1
2530Puntos

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

1
1072Puntos

90! pero a seguir aprendiendo!

1

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

1
701Puntos

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

1
3715Puntos

90 puntos. A seguir mejorando 💪

1
4551Puntos

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

1
8084Puntos
un mes

sí, tiene un descuento para estudiantes con plan expert

1
394Puntos

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

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

5
2119Puntos
un mes

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
11498Puntos
un mes

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

100pts. 😄

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

1
4474Puntos

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

1
5630Puntos

Cuando harán un evento presencial en Perú?

1
7907Puntos

Obtuve 88 puntos. Alguna sugerencia de libro para profundizar?

1
1255Puntos

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

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

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

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

1
22721Puntos
  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
1217Puntos

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