Cómo , cuándo y por qué usar "use strict" en Javascript

En el día de hoy vamos a empezar una serie de artículos relacionados con ECMAScript2015 (ES6), aunque ya habíamos empezar a mencionarlo en artículos como

Empezando con ES6

Siguiendo con el tema, el modo estricto nació en ECMAScript 5, vamos a ver por que es recomendable usarlo en ES6.

Y antes de empezar creo que tenemos que tener claro que es esta directiva.

¿Qúe es el modo estricto en Javascript?

Como venimos explicando el modo estricto es el que habilitamos cuando hacemos uso de la directiva "use strict";

¡Cuidado!
La directiva "use strict" sólo se reconoce al principio de un script o una función.

Esta directiva indica al motor de interpretación de Javascript, que sea restrictivo en la ejecución de scripts, consiguiendo las siguientes mejoras:

  • Elimina errores silenciosos de JavaScript haciendo que lancen excepciones.
  • Mejora errores relacionados con el motor de Javascript, mejorando la optimización que realiza y consiguiendo así mejores tiempos de ejecución.
  • Evita que usemos ciertas sintaxis que probablemente sean usadas en versiones posteriores (ES6).
  • No permite que el programador realize una "mala sintaxis":
    • Evitar uso de variables sin definir
    • Evita el uso de delete, para borrar objetos o variables
    • Evita nombres de parámetros duplicados
    • Evita el uso de más palabras reservadas
    • Muestra errores si intentamos modificar una propiedad de solo lectura
    • Otras

Podemos ver ejemplos de algunas características citadas y no citadas aquí.

¿Cuándo tenemos que usar "use strict"?

Pues en proyectos nuevos siempre, ya que es una buena practica, por lo comentado anteriormente.

Usar use strict, no nos hará mejores programadores, pero si que evitará que se nos escapen algunos errores.

Pero en proyectos antiguos, tenemos que tener cuidado si lo activamos, ya que nuestro programa puede empezar a funcionar de una manera inesperada.

 ¿Por qué usar "use strict"?

Como venimos viendo use strict, nos hace más sencillo escribir código Javascript más "seguro" y convierte las anteriormente aceptadas "malas sintaxis" en errores.

Y listo ya tenemos más claro el cómo, cuándo y por qué de cuando usar use strict, hasta la próxima 👻.