Declaración de variables en Javascript

Como programador, seguramente te has topado con la necesidad de definir el tipo de las variables que vas a usar en tu código; ya sean de tipo enteros, punto flotante o caracteres, entre otros. Gracias a que JavaScript es un lenguaje de tipado blando, podemos olvidarnos de esta manera de declarar variables y usar unas más generales var, let y const.

En este post aprenderemos cómo declarar nuevas variables en JavaScript y cómo son interpretadas, con el fin de hacer un mejor uso de los recursos de cómputo y de evitar errores a la hora de programar.

Rompiendo los hábitos

En lenguajes como C, C++, Phyton e incluso Java, declaramos las variables que usaremos en nuestro programa dándoles un tipo específico.

En el caso de JavaScript esta costumbre no es necesaria. JavaScript realiza las conversiones necesarias de forma interna para tratar las variables según se requieran durante la ejecución.

A este tipo de lenguajes se le conoce de tipado blando, ya que permite violaciones entre los tipos de las variables una vez que ya fueron declarados.
Por lo tanto, si en C la declaración de una variable de tipo entero se hacía de la siguiente manera:
int i
En JavaScript lo haremos así:
var i
Al asignarle un valor, por ejemplo: i=10, JavaScript entenderá entonces que se trata de un entero.

Diferentes maneras de declarar variables

En esta parte del post hablaremos de las diferentes maneras de declarar variables en JavaScript, aprenderemos qué sucede si declaramos una variable de una manera o de otra y cuáles son las palabras reservadas que debemos de usar para hacer estas declaraciones.

Ámbitos

JavaScript también es un lenguaje con ámbito global con ámbito predeterminado, es decir que si se declara una variable fuera de una función se va a pasar por referencia a todas las funciones, convirtiéndola en una variable global. Y también, si declaramos una variable dentro de una función su ámbito sólo va a ser dentro de esa misma función.
Por ejemplo:

var g = 1000

function f()

{

var g=14;

console.log(g); // mostrará 14 en la consola

}

En el ejemplo anterior tenemos dos variables con el mismo identificador; sin embargo, están en localidades de memoria diferentes, ya que una fue declarada afuera de la función con ámbito global y la otra con ámbito sólo dentro de la función. Por lo tanto, JavaScript no sobre escribe la variable global.
Usaremos la palabra reservada var para definir variables de ámbito local, que se hereda a scopes descendientes por referencia. En otras palabras, sólo es válida dentro de su scope, afuera de él ya no será reconocida.

Hoisting

Este término se refiere a que cada que se cada declaración de variable hecha con la palabra reservada var se moverá al inicio del código durante la ejecución. Con esto nos aseguramos de que las variables siempre estarán definidas y tendrán un espacio en memoria sin importar su posición dentro del código. Sin embargo, si le asignamos un valor inicial a una variable, no se le asignará hasta llegar a esa línea de código.

Palabras diferentes

Hasta ahora hemos visto que cualquier tipo de variable puede declararse usando la palabra var al inicio; sin embargo, no es la única. Existen dos palabras más para hacer declaraciones con JavaScript.

let y const.
En esta parte del post repasaremos cuáles son sus utilidades y diferencias principales.

const

Al usar const queremos decir que la variable no va a ser reasignada, que no es lo mismo a decir que no va a cambiar.
Estamos hablando de una constante, que siempre tendrá el mismo ‘objeto’ dentro de ella, pero las propiedades de dicho objeto pueden cambiar.
Por ejemplo, definir: const r=360
r=180;
Nos daría un error, pero si definimos un arreglo cuyos valores cambien, no tendríamos ningún problema.

let

Las palabras reservadas var y let tienen un uso bastante similar, sólo que una variable declarada con let dentro de un bloque de control de flujo, como: for, while o if, estará definida sólo dentro de ese bloque.
Por ejemplo:

function f()
{
let i=0
I=5*9; 
while(true){ let i=8;}
}

La variable i dentro del while será de ámbito local, y será definida en otra dirección de memoria a la que está definida fuera del bloque.
Se prefiere usar let a var, ya que gracias a estas definiciones locales, es más difícil cometer errores y sobrescribir valores.

Redactor:
Valeria Estefanía Cortez Gutiérrez
Tecnologías Web, semestre 20182018-1

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Límite de tiempo se agote. Por favor, recargar el CAPTCHA por favor.