Declaración ---> todo lo declarado sube(carga, se eleva, hosting) al inicio de su scope.

PHOTO EMBED

Wed Feb 16 2022 18:32:38 GMT+0000 (Coordinated Universal Time)

Saved by @samn #javascript

<!--
- variables se declaran con: let, var, const
- funciones se declaran con: function nombre(){}
                           nota: let x = () =>{} ; esto es una expresión de función

"Todo lo declarado es elevado a la parte inicial de su scope"
Esto también significa que una variable puede parecer usarse antes de ser declarada. Este comportamiento es llamado hoisting (del inglés "elevación")


**** elevación ****
  NOTA: la elevación existe para marcar el scope como declarada con tal variable aunque aun no fue         "inicializado" o "definido" en ese punto(inicio del escope),y dependiendo el tipo de                  variable que sea nesesitanra ser definido o inicializado...
  
  En todo lo declarado se eleva su deración(sube una copioa de su declaración); pero no su           inicializacón: lo que sube var x; tambien  let x;  o const x;

  var => queda su declaración con su inicialización; x = algo; su "valor":undefine en la cabezera;          no avisa error,sino un valor."lo malo de var"

  let y const => queda su inicialización. x = algo; su "error": no initial en la cabezera,
                 avisa el "error" por eso desde que existe let y const es mjor usarlo.

  var->undefine; let,const-> no initial; eso gracias al cambio ESC5 a ESC6 trajo let y const
  
  
  NOTA:  TEMPORAL DEAD ZONE(zona temporal muerta): esta detraz de la variable declarada e                    inicializada, asta el inicio del su scope.
  
-->
content_copyCOPY

link: youtube cocina del codigo. interesante

https://www.youtube.com/watch?v=ojrvxYcKeYg