Var Vs Dejar Javascript

| | |

Se han agregado nuevas funciones al lenguaje JavaScript con el lanzamiento de ECMAScript6 (ES6). Una de esas caracterìsticas afecta la forma en que declaramos las variables. Con la adiciòn de let y const, surgieron todo tipo de preguntas sobre cuándo usar cada una de las declaraciones de variables. & Nbsp;

En En este post, hablamos de cada una de las opciones, con respecto a su definiciòn y uso en el entorno JavaScript.

Pre-ES6: Var

Antes del lanzamiento de ES6, el la palabra clave utilizada para declarar las variables era var. & nbsp;

Las variables también se pueden volver a declarar y actualizar sin errores.

El primer problema con var es evidente: las redeclaraciones pueden causar errores en su còdigo si una variable ya ha sido asignada con el mismo nombre. Puede haber consecuencias no deseadas si se vuelve a declarar algo y no se dio cuenta de que el nombre de la variable ya se habìa utilizado anteriormente en la base de còdigo. Junto con esto, también vienen algunas otras idiosincrasias cuando se trata de alcance y elevaciòn.

Alcance

El alcance nos dice qué variables están disponibles para que las usemos & ndash; tenemos variables que pueden tener un alcance global o local. ¿Qué sucede si tenemos la misma declaraciòn de variable, pero una es global y la otra es local?

Cuando tenemos nuestra var declarada fuera de la funciòn, está disponible globalmente para nosotros en el ámbito global. Cuando se declara " hola " dentro de la funciòn, solo está disponible para la funciòn & ndash; funciòn o ámbito local.

Cuando tenemos una declaraciòn de variable que es la misma, pero el alcance es diferente, la var dentro de la funciòn no hace nada para cambiar la asignaciòn de la var global, incluso con la invocaciòn de la helloWorld () funciòn. Debido a que la var se declara dentro de la funciòn con el nombre " hola & rdquo ;, no busca en el ámbito global la otra definiciòn.

Elevaciòn

Cuando se eleva una variable en JavaScript, la declaraciòn de funciones y variables se mueve a la parte superior de su alcance antes de la ejecuciòn del còdigo. La variable se declara pero no se inicializa, por lo que el valor inicial de la variable no está definido.

Aquì, " hola " se iza y declara en la parte superior de su alcance. Entonces, esencialmente, la computadora está interpretando el còdigo como esto:

El motor de JavaScript ve que hola existe pero no sabe qué se define como hola hasta que siguiente paso.

Al final, los desarrolladores que ayudaron a crear el estándar ECMAScript se dieron cuenta de que habìa algunos peque√±os problemas con var que podìan costar tiempo y dinero. Luego se propusieron crear palabras clave más estrictas. Esto llevò a la creaciòn de " let " y " const " en ES6.

ES6: Let

La palabra clave let es muy similar a la palabra clave var en muchos aspectos. Las principales diferencias radican en còmo se devuelven los errores y còmo se define el alcance de cada palabra clave.

Las variables declaradas e inicializadas con la palabra clave let se pueden reasignar, pero no se pueden volver a declarar.

Cuando ejecuta el còdigo anterior en una consola JavaScript, la √∫ltima lìnea arrojará un error: & nbsp;

SyntaxError: El identificador ’hola’ ya ha sido declarado

A diferencia de var, declarar variables usando let no permitirá una declaraciòn a la misma nombre de variable de nuevo. Sin embargo, puede reasignarlo si lo desea, como se muestra en el ejemplo anterior.

Alcance

En lo que respecta al alcance, let es muy similar a var. Además de las reglas, tener un alcance global o local nos da, hay una restricciòn adicional con let. Las variables declaradas dentro de un bloque de còdigo solo están disponibles para ese bloque de còdigo. Esto es similar al alcance funcional porque las funciones son bloques de còdigo que pueden llevarse a√∫n más lejos al tener bloques separados dentro de esa funciòn.

No hay error en este còdigo ya que ambos las instancias de hello se tratan como variables separadas ya que tienen diferentes alcances.

Elevaciòn

Elevaciòn es otra área donde las declaraciones de let y var son similares. " var & rdquo ;, cuando se eleva a la parte superior, se inicializa como indefinido. Sin embargo, " dejemos " arroja un Error de referencia si intenta usarlo antes de que se inicialice.

Sepa que la palabra clave let es la mejor opciòn en términos de sintaxis. Esto se debe a que se generan errores en los que puede intentar volver a declarar una variable o utilizarla antes del proceso de inicializaciòn.

ES6: Const

La palabra clave const tiene directrices incluso más estrictas que la palabra clave let . Con const, las variables no se pueden volver a declarar ni reasignar. Se lanza un TypeError si intenta reasignar a un const.

Dicho esto, cuando se trabaja con objetos o matrices, se pueden actualizar las propiedades del objeto o matriz. Siempre que la estructura básica del objeto o matriz no cambie, siempre puede actualizarla.

Como se muestra en el ejemplo, reasignar empresa a un nuevo conjunto de propiedades da como resultado un TypeError: Assignment to la variable constante. error. Los consts no se pueden reasignar ni volver a declarar, excepto en los casos en que actualice la propiedad individual en un objeto.

Alcance y elevaciòn

Al igual que la palabra clave let, const es block- con alcance y no se inicializa cuando se levanta, por lo que arrojará un error si intenta usarlo antes de la inicializaciòn.

La palabra clave const es excelente para usar hasta que pueda y rsquo ; no lo use más. Aquì es cuando necesita reasignar o actualizar su variable.

Conclusiòn

En este artìculo repasamos las diferencias entre let, var y const. De todas las palabras clave que tenemos disponibles ahora, es preferible no usar var a menos que deba hacerlo. Utilice let o const en su lugar.

Shop

Learn programming in R: courses

$

Best Python online courses for 2022

$

Best laptop for Fortnite

$

Best laptop for Excel

$

Best laptop for Solidworks

$

Best laptop for Roblox

$

Best computer for crypto mining

$

Best laptop for Sims 4

$

Latest questions

NUMPYNUMPY

psycopg2: insert multiple rows with one query

12 answers

NUMPYNUMPY

How to convert Nonetype to int or string?

12 answers

NUMPYNUMPY

How to specify multiple return types using type-hints

12 answers

NUMPYNUMPY

Javascript Error: IPython is not defined in JupyterLab

12 answers

News


Wiki

Python OpenCV | cv2.putText () method

numpy.arctan2 () in Python

Python | os.path.realpath () method

Python OpenCV | cv2.circle () method

Python OpenCV cv2.cvtColor () method

Python - Move item to the end of the list

time.perf_counter () function in Python

Check if one list is a subset of another in Python

Python os.path.join () method