Use Strict en Javascript
Use strict se refiere a un “modo estricto” esta es una funcionalidad de ECMAScript 5 que permitió en su momento desarrollar todo un código o partes del mismo, ejecutarse en un contexto “estricto”.
Es una expresión literal, es compatible con versiones anteriores JS e innecesaria en ECMAScript 6.
La funcionalidad de utilizar el modo estricto es indicar que el código o parte de éste, debe ejecutarse previniendo que se tomen ciertas acciones erróneas o malos hábitos de programación y de esta manera arrojando más excepciones.
Beneficios:
- Obtenemos errores comunes (mala sintaxis) en nuestro código y nos muestra la excepción.
- Las partes más inseguras (peligrosas) o inútiles en JS están prohibidas o lazan errores en ejecución.
- Es más entendible el código evitando funcionalidades confusas y malos hábitos de programación.
- Utilizar modo estricto mejora nuestro código y facilita escribir código más seguro.
- Cuando modo estricto está desactivado permite por ejemplo, propiedades, variables y objetos no existentes (no declarados) haciendo inseguro el código.
¿Cómo usar use strict?
- Modo estricto se encuentra desactivado por default, para activar el modo estricto en un script, es necesario agregar la directiva entre comillas “use strict”.
- Colocar la directiva depende hasta qué punto deseas utilizarla, es decir si se coloca en el inicio del archivo el modo estricto afectará a todo el script, pero también puede utilizarse a una función en específico.
Modo estricto en todo el script:
1 2 3 4 5 6 7 |
// Todo el código en modo estricto. "use strict"; // x = 7; ERROR variable no declarada (definido). // Variables declaradas ejecución exitosa. var x = 7, y = 7; var res = x + y; |
Modo estricto en una función:
1 2 3 4 5 6 7 8 9 10 11 12 13 |
// Código en modo no estricto. name = "Alfredo"; // Variable no declarada, pero sin modo estricto ejecución exitosa. fun(); function fun() { // Código en modo estricto. "use strict"; // lastName = "Urbano"; ERROR variable no declarada (definido). var lastName = "Urbano"; // Variable declarada ejecución exitosa. } // Código en modo no estricto nickName = "Ferillo"; |
Nota: use strict funciona solamente en el comienzo de un script o una función.
Revisar código en Github: https://github.com/AlfredoCU/Use-Strict-Js
Los navegadores que soportan “use strict” son:
Fuente: https://caniuse.com/#feat=use-strict
Conclusión.
¡Puedes usar el modo estricto en todos tus programas de JS! Si deseas tener un mejor control en tu código, más seguro, escribir código más limpio y evitar usar variables no declaradas, usa el modo estricto de ECMAScript 5.
Referencias.
- https://developer.mozilla.org/es/docs/Web/JavaScript/Referencia/Modo_estricto
- https://www.w3schools.com/js/js_strict.asp
- https://caniuse.com/#feat=use-strict