Ámbito global
Clase 8 de 24 • Curso de Clean Code y Buenas Prácticas con JavaScript
Contenido del curso
Clase 8 de 24 • Curso de Clean Code y Buenas Prácticas con JavaScript
Contenido del curso
Alejandro Daniel Calderón Prin
Kyb3r Cipher
Cesidio Antonio Di Benedetto Carri
Reinaldo Mendoza
Jonathan Meixueiro
BinaryTreeCode
Camilo Alvarez Avila
Agustina Corvo
Yan Harold Muñoz Dominguez
Buena imagen
A pesar de que let esta en un scope global
let greeting = "Hello world!"; function greet() { console.log(greeting); } greet();
Si se re-declara dentro de la función greet este puede no funcionar, es decir:
let greeting = "Hello world!"; function greet() { console.log(greeting); let greeting = 'another hello world'; } greet();
Ahora el let que se usara dentro de la función sera el interno y al ser declarado despues de su uso, dara error
Le estas cambiando el scope y de hecho seria una mala practica
Y esto pasa porque las funciones le dan prioridad a las variables locales, que esto ya es una mala práctica como menciona Reinaldo, ya que no deberíamos usar el mismo nombre para diferentes variables, también es un error declarar una variable después de que se usa, que en el ejemplo que pones, lo que hace es ignorar la variable greeting global, ya que tiene una dentro con ese nombre, entonces aquí es como si** let greeting = 'Hello world!'** no existiera y let greeting = 'another hello world' se declaró y asignó después de que se le llamó.
Tengo una pregunta, solo por curiosidad. El nombre la función (greet), no estaría mal con respecto a la anterior clase que acabamos de ver?
En este caso que es solo imprimir en pantalla un saludo y no tiene ninguna complejidad, entiendo que el nombre de la función es adecuado. Es claro y expresa lo que hace.
let greeting = 'Hello world' function greet (){ console.log(greeting); } greet();