/*variables //varible no declarada: x => siempre son globales; supongo que se cargan antes de todo ; pero si estan para reasignar una x ya declarada entonces se limitan a su escope. NOTA: var: puede ser reasignada con "x = algo" p "var x = algo" es como si redeclaramos y reasignamos // variables declaradas: se limitan al contexto de efecución. var x ,let x,=> no necesitan ser inicializadas(tener un valor inicial)=> sin inicio sera undefine -- su diferencia sera anivel del scope. // const x = algo; => deven ser inicializadas(no tendria sentido sin su inicio) =>si no lleva inicio su error es de sintaxis. */ // var => escope = a nivel de función // let y const => scope = a nivel de block(un bloque puede ser una función,if,for, while, etc...) // reasignas let x = numero; el valor de x cambia a nivel de scope, entrando a bloques internos; pero si la variable x fue "redeclarada" en ese bloque entoces su valor es ese nuevo, y si lo reasignamos, solo sera al nuevo x readeclarado; que mantendra ese valor reasignado solo dentro del bloque. // reasignas var x = numero; el valor de x cambia a nivel de scope(la función), si redeclaramos x dentro de un bloque y tambien reasignamos; entonces tanto afuera como dentro de ese blocque tendra el ultimo valor reasignado asta donde es llamado. //IMPORTANTE: -- La reasignación sucede dentro de su bloque, sino no es reasignación. --let y const "si se pueden redeclarar, pero en otro bloque no nesesariamente hijo" -- const => "no se puede reasignar en su bloque ni en otro bloque "hijo" " si se le rasigna en otro bloque eso ya no es reasignación... estarias poniendo otra variable sin declararla.
Preview:
downloadDownload PNG
downloadDownload JPEG
downloadDownload SVG
Tip: You can change the style, width & colours of the snippet with the inspect tool before clicking Download!
Click to optimize width for Twitter