82

¿Cuál es tu nivel en JavaScript?

712Puntos

hace 5 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

Qué es memoization

Carlos
Carlos
Platzi

712Puntos

hace 5 años

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

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
5 años

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

4
45660Puntos

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

1
11127Puntos
5 años

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.

4
24864Puntos

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

1
5 años

Somos tres pero yo con Angular y ahora aprendiendo React

3
17680Puntos

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
20168Puntos
  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
21513Puntos

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

3
5089Puntos

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 😅

2
5355Puntos

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

2
18204Puntos
  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
13690Puntos

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
3902Puntos
  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
8070Puntos

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

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

Total : 83

2
7163Puntos

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

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

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

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

95 🧐🤓

2
9456Puntos

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

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

2
8163Puntos

95 😄 Platzi si que funciona

2
7087Puntos

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

2
9982Puntos

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
28614Puntos
  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
4250Puntos

73¡¡¡

Estoy mejor de lo que esperaba 😛

2
338Puntos

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

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

95, creí que estaba peor

2
66724Puntos
  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
66724Puntos
5 años

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

Quien mas se suma?

2
13562Puntos

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

2
2198Puntos

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.

1
7063Puntos

¡¡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. 😄

1
8703Puntos

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

90! pero a seguir aprendiendo!

1
20752Puntos

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

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

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

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

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

5
3902Puntos
5 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
28663Puntos
5 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

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

1
10726Puntos

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

1
11127Puntos

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

1
15540Puntos

68 !!

1
18204Puntos

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

1
11735Puntos
5 años

sí, tiene un descuento para estudiantes con plan expert

1
6062Puntos

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

1
6062Puntos

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

1
25224Puntos

100pts. 😄

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

1
2645Puntos
  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
5778Puntos

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

Cuando harán un evento presencial en Perú?

1
44562Puntos
  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
5190Puntos

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

1
30222Puntos

Obtuve 88 puntos. Alguna sugerencia de libro para profundizar?

1
1628Puntos

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

90 puntos. A seguir mejorando 💪