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 aún no sabes sobre este tema, revisa la Escuela de Javascript de Platzi

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.
let count = 1;
if (true) {
count += 1;
}
b.
var count = 1;
if (true) {
count += 1;
}
3. ¿Cómo creas un nuevo objeto?
a.
const item = new Object();
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.
function getFullName({ firstName, lastName }) {
return `${firstName} ${lastName}`;
}
b.
function getFullName(user) {
const firstName = user.firstName;
const lastName = user.lastName;
return `${firstName} ${lastName}`;
}
c.
function getFullName(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 error that 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 long error that was thrown because of Batman. When you stop to think about how Batman had anything to do with this, you would get nowhere fast.`;
c.
var errorMessage = 'This is a super long error that 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.
function sayHi(name) {
return 'How are you, ' + name + '?';
}
b.
function sayHi(name) {
return ['How are you, ', name, '?'].join();
}
c.
function sayHi(name) {
return `How are you, ${name}?`;
}
8. ¿Cómo usas los módulos?
a.
import StyleGuide from './StyleGuide';
export default StyleGuide.es6;
b.
import { es6 } from './StyleGuide';
export default 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.
function foo() {
}
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.
