987.204.172

Ser estrictos en JavaScript "use strict"

  1. Blog
  2. JavaScript

Quizá te hayas dado cuenta que en algunas librerías sus archivos javascript tienen un código que colocan al principio:

"use strict"

"use strict" es una directiva que indica el modo en que el navegador debe ejecutar nuestro código JavaScript. Por ende, existe dos modos de escribir JavaScript para tus navegadores y tú no lo sabías: el modo normal (normal mode) y el modo stricto (strict mode).

Modo estricto versus modo normal

El modo estricto hace que el navegador sea más exigente con tu código e intentará evitar errores potencialmente malos. Para ello vamos a ver un pequeño ejemplo:

Hemos creado un archivo index.html en la consola de codepicnic. Si te das cuenta, en la zona de javascript hemos comentado la directiva "use strict". Sin descomentar dale click en el botón de ejecutar y mira la consola. Vas a ver que se imprime correctamente la consola. Ahora vamos a descomentar "use strict" y volvemos a ejecutar. En esta ocasión nos saldrá un mensaje de error:

Uncaught ReferenceError: texto is not defined

Como ven, el solo hecho de tener la directiva "use strict" sobre nuestro código ha hecho que salga el mensaje de error indicandonos que no hemos declarado la variable (como deberíamos hacerlo siempre). En la consola escribe var antes de texto = y el mensaje de error ya no saldrá cuando le des en ejecutar.

Seguro dirás que el modo estricto puede causarte problemas en tus proyectos por los mensajes de error que saldrán. En realidad, esos mensajes de error no deberían salir si estas escribiendo un buen código. Por otro lado, el modo estricto elimina los llamados "errores silenciosos". Asi que si algo va mal en el código te será más facil ubicar el problema.

El uso de la directiva "use strict" es un estandar de la versión 5 de ECMAScript (estandar oficial de JavaScript).

Puedes colocar use estrict con comillas dobles o simples.

También puedes usar la directiva en algunas funciones específicas de la siguiente forma:

function function_stricta(){
  'use strict';
  // Código de tu función;
}

Puedes ver más ejemplos y diferencias entre modo normal y estricto en la documentación hecha por la MDN (Mozilla Developer Network).

  • Av. La Paz 2173, San Miguel - Lima

  • (01) 231 8795 | 987.204.172

  • informes@fullstack.pe