¿Cuál es la diferencia entre var, let y const?

Pregunta de la clase:
Simón Escobar

Simón Escobar

Pregunta
studenthace 7 años

¿Cuál es la diferencia entre var, let y const?

11 respuestas
para escribir tu comentario
    Alejandro Guevara Navas

    Alejandro Guevara Navas

    studenthace 2 años

    ![](Captura de Pantalla 2023-06-26 a la(s) 5.53.57 p.m..png

    Garcia Erika

    Garcia Erika

    studenthace 4 años

    Me encanta encontrar respuestas en estos foros.

    3mheit

    3mheit

    studenthace 4 años

    Estas son las diferencias de Let, Var y Const. const : Nos permite declarar variables inmutables, osea no se puede cambiar.

    var y let : Nos permiten crear variables mutables que si se puede cambiar.

    var : Nos permite definir variables al alcanse de su función mas sercana, osea dentro de la función.Y un detalle Tiene un valor por defecto de undefined.

    let : Nos permite definir variables al alcanse de su bloque mas sercano, osea de su estructura.Otro detalle, se usa let para definir una variable que si tenga su valor por el programador.

    CARLOS ALBERTO COMBITA

    CARLOS ALBERTO COMBITA

    studenthace 5 años

    Muchas gracias por la explicación tampoco me habia quedado claro con el curso.

    Oriana Suljeis Posada Molina

    Oriana Suljeis Posada Molina

    studenthace 5 años
    • var definimos una variable con local scope, también nos permite utilizar un comportamiento llamado hoisting, sin generar ningún error.

    • let definimos variable con block scope, las variables declaradas de esta manera nos genera un error de referencia cuando intentamos utilizar hoisting.

    • const definimos variables de sólo lectura (no confundir con inmutables), esto quiere decir que, cuando asignamos una variable, el nombre de esta va estar asignada a un puntero en memoria, el cual no puede ser sobreescrito o reasignado.

    Javier Nava

    Javier Nava

    studenthace 7 años

    ejemplo con var

    var mivariable = "el valor" console.info("su valor en " , window.mivariable)

    carga la variable en el window(contecto global)por eso hay que tener cuidado

    ejemplo con const

    const valorUnico = "valorUnico" console.info("este valor sera indefinido" , window.valorUnico) valorUnico = "Esta linea dara error"

    no carga variable en el contexto global y tiene un valor constante y no pueder modificado y redeclarado

    ejemplo con let

    for (let i = 0; i < 5; i++){ console.log(`aqui se ve let ${i}` ) } console.log('esto dara error') console.log(i)

    su alcance es definido en un bloque de codigo es muy util y no se cargara en el window

    Fernando Palacios Palacios

    Fernando Palacios Palacios

    studenthace 7 años

    Sumo el tema del contexto de declaracion de variables:

    • var: define un contexto de funciones.
    • let: define un contexto de bloque (funciones, condicionales, iteraciones)
    • const: define un contexto de bloque y el valor de la variable es inmutable.
    Andres Foronda

    Andres Foronda

    studenthace 7 años

    Hola, voy a tratar de ser lo mas explicito posible, espero pueda dar en el clavo con mi explicación, si tienes dudas por favor preguntame.

    var se usa desde el standard ecmascript5 (ES5), let y const fueron añadidos desde ecmascript2015 (ES2015 o ES6)

    La declaración de variables con var, te permite hacer modificaciones en los valores almacenados, en el caso de let, este cambio también es permitido, pero const hace referencia a una constante, así que el valor de esta no puede ser cambiado una vez sea declarado, por otro lado, al declarar una variable como const debes asignarle un valor en ese momento, no después.

    // ES5 var nombre5 = 'Diana Castaño'; var edad5 = 28; nombre5 = 'Diana Foronda'; // Digamos que Diana se caso y cambio su apellido, así que la variable nombre5 ha cambiado su valor // ES6 // const vacio; // lanza error, una constante debe tener un valor asignado en su declaración. const nombre6 = 'Diana Castaño'; // Al declarar nombre6 como const, su valor no puede mutar o ser cambiado. let edad6 = 28; // let puede mutar o ser cambiado nombre6 = 'Diana Foronda' // Esta vez Diana no se puede casar // No se puede cambiar nombre6 si es const, obtenemos un error.

    En el caso de var , las variables son function-scope, mientras que const y let son block-scope :

    //ES5 var x = 0; // Variable x declarada como var function four5(){ for (var i = 0; i < 5; i++){ // un for loop que va desde 0 hasta i menor a 5, osea 4 x = i; // asignamos el valor de i a x, como vamos hasta 4, porque cuando i alcanza el valor de 5 el lopop termina, x tiene el valor 4 } } four5(); console.log(x) //al imprimir x, efectivamente es 4 // La x declarada con el valor 0 y la x dentro de la funcion, son la misma x. //ES6 let y = 0; function four6(){ for(let i = 0; i < 5; i++) { y = i; // Esta y no ha sido declarada si quiera, el alcance de cada variable esta sujeta a los {}, as'i que es undefined } } four6(); console.log(y); // Retorna 0, el valor declarado en un principio, la variable y no entró en lafuncion four6(), asi que son y diferentes.

    Este tema es extenso, pero esos son conceptos significativos.

    Marcos Daniel Villamediana Calderón

    Marcos Daniel Villamediana Calderón

    studenthace 7 años

    Si no me equivoco eso es parte del ecmascript6, que muchos la definen como la ultima versión de Javascript, y en el ecmascript se crearon estas dos nuevos tipos de varibles, const es la nueva forma de declarar una variable que es constante, osea que su valor no va a cambiar en un futuro (siempre será el mismo), y let es una variable que si puede cambiar su valor pero funciona únicamente en el bloque de código que fue declarada, y var es la típica forma de declarar una variable que también puede cambiar su valor pero tiene pequeña diferencia con scope del let (no se exactamente cual jaja).

Fundamentos de JavaScript 2017

Fundamentos de JavaScript 2017

Domina JavaScript, el lenguaje más versátil y demandado de la actualidad. Trabajarás en más de 20 proyectos para entender y construir con JavaScript desde cero.

Fundamentos de JavaScript 2017
Fundamentos de JavaScript 2017

Fundamentos de JavaScript 2017

Domina JavaScript, el lenguaje más versátil y demandado de la actualidad. Trabajarás en más de 20 proyectos para entender y construir con JavaScript desde cero.