Alfredo Olmedo
Oscar Barajas Tavares
Team PlatziLuis Hernando Sendoya Serrato
Omar Esteban Contreras Leal
Lucas Rojas
Agu Damonte
Julian Camilo Sanchez Sosa
Rubén Cuello
Nicolas Forero Quevedo
Alejandro Brand
Joao Ivan Garduño Salgado
Rafael Martínez Rodríguez
Henry Jeffersson Salinas Arenas
Ramsés Castañeda
Guadalupe Monge Barale
Pablo Cesar Acosta Paredes
César Palma
Luis Carlos Zapata García
Santiago Forero Mendez
Brandon Lee Aguero Fernandez
SANDRO SIMON
Oscar Barajas Tavares
Team PlatziCarlos S. Aldazosa
Rodrigo Espinosa
Santiago Rodriguez Chaves
Laura Muñoz
Alan Cabrera
Brandon Lee Aguero Fernandez
David Rangel
Kevin Zavala
Alvaro Eduardo Garzón Pira
Jefred Bedoya
Jess Key
El modo estricto tiene varios cambios en la semántica normal de JavaScript:
Elimina algunos errores silenciosos de JavaScript cambiándolos para que lancen errores.
Corrige errores que hacen difícil para los motores de JavaScript realizar optimizaciones: a veces, el código en modo estricto puede correr más rápido que un código idéntico pero no estricto.
Prohíbe cierta sintaxis que probablemente sea definida en futuras versiones de ECMAScript.
Gracias por el aporte Aldredo.
que buen aporte, gracias
El modo estricto se aplica a un script completo o a funciones individuales. No se aplica a bloques entre corchetes {}; intentar aplicarlo en tales contextos no hace nada. Datos extraídos de MDN. Que gusto es volver a hacer este curso y aprender nuevas cosas =)!
Para profundizar el strict mode https://www.youtube.com/watch?v=7e6ssF78Af4
Un groso sacha
Gracias por el aporte, esta explicacion mereció tal profundidad 👏🏻
Así que fue creado en una semana. Con razón :smile:
con razon que XD
"Ehj todavia tengo tiempo para entregar el trabajo..." jaja
Strict Mode: Nos permite ejecutar de forma estricta reglas particulares. Por ejemplo:
Muchas gracias por el aporte.
les recomiendo que instalen esta extensión Quokka.js Visual Studio Code Extension
¿El 'use strict' se tiene que poner arriba del todo?
Sí.
Así es !
La historia de javascript es el mejor ejemplo de la aplicación de metodologías agiles :D. Un software evolucionando con el tiempo a medida que la necesidad lo amerita o en este caso el alcance del proyecto cambia. El modo estricto otra de las mejoras para escribir un mejor código javascript.
Algo que apuntar sobre el futuro. El modo estricto funciona por defecto en aplicaciones que importan/exportan otros archivos js (módulos). Por ejemplo una web estática importando script type=module o una web usado un framework. Así que en el futuro al desarrollar una web en las prácticas actuales el modo estricto ya está bajo el capó.
Strict mode
¿Sube la complejidad al hacer código con strict mode?
Forma de tener mejor control de la asignación de las variables.
Código cumpla con el mayor de los estandares.
Ejemplo Código Javascript strict mode
'use strict'; pi = 3.1416; console.log(pi); function myFunction() { return pi = 3.1416; } console.log(myFunction());
Entonces 'use strict' que tipo de scope tiene? porque veo que se volvió a usar como si fuera local
Global, solo basta con colocar el "use strict” al inicio de tu archivo
¿Hay forma de establecer 'use strict para todo el proyecto?
si, y existen herramientas como ESLint para crear estas reglas. https://eslint.org/docs/latest/rules/global-strict
Algo que no sabía es que los módulos tienen el "modo estricto" de forma implícita, esto significa que todo modulo esta en "modo estricto", sin necesidad de declararlo con el use strict
function myStrictFunction() { // because this is a module, I'm strict by default } export default myStrictFunction;
Informacion sacada de MDN
El modo estricto añade restricciones al lenguaje para prevenir errores comunes y mejorar la seguridad del código. Algunas de las restricciones incluyen:
No se pueden usar variables sin declarar previamente.
No se puede usar una palabra reservada como nombre de variable o función.
No se puede hacer una asignación a una propiedad no escribible.
No se puede usar un objeto global como objeto "this" en una función sin objeto.
Se recomienda usar 'use strict' en todos los archivos JavaScript para garantizar una mejor calidad del código y prevenir errores.
Strict Mode: Nos permite ejecutar de forma estricta las reglas de JS
En qué tipos de proycto es mejor trabajar con strict mode?
En general no se suele usar ya que tiene usos muy específicos como "arreglar" el uso de var, pero como no se suele usar var en la gran mayoría de proyectos no usamos el strict mode.
Aunque seguro en el futuro encontrarás un proyecto en el que te resulte útil.
Saludos :)
Ahora cuando haga mis proyectos con javascript usare el "strict mode", de esta manera me evito problemitas jejeje
Esta es la justificación para la creación de un "loopy mode" o "modo poco riguroso" y de un modo "estricto", según la documentación de Mozilla:
El modo estricto cambia algunos errores de sintaxis tolerados en modo no estricto y los convierte en errores. JavaScript fue diseñado de modo que fuera fácil para programadores novatos, y puede haber operaciones semánticas que deberían ser errores pero son tratadas como libres de error. A veces esto sirve para solucionar el problema en el momento, pero puede crear problemas más graves en el futuro. El modo estricto trata las equivocaciones como errores, para que se puedan descubrir y subsanar inmediatamente.
Esa curiosidad de que JS fue escrito en una semana no me la sabía :O
Y como curiosidad adicional, JavaScript cuando nació y que fue escrito en este corto tiempo, no se llamaba JavaScript, se llamaba Mocha
El poder de Strict Mode
this como undefined en funciones simples, evitando fugas al objeto global.Restricciones clave
with.