¿Por que se usa const y no var o let?

Iván Campos Hernández

Iván Campos Hernández

Pregunta
studenthace 4 años

¿Por que se usa const y no var o let?

8 respuestas
para escribir tu comentario
    Benjamin Allen Ramirez Horna

    Benjamin Allen Ramirez Horna

    studenthace 3 años

    Esa aclaracion debio hacerlo el maestro.

    Christopher Andrés Guano Valencia

    Christopher Andrés Guano Valencia

    studenthace 3 años

    💚

    Hiram Rodriguez Gomez

    Hiram Rodriguez Gomez

    studenthace 3 años

    @Andres Muchas gracias por tomarte el tiempo de desarrollar más el tema, me está ayudando mucho para comprender y aprender mucho más sobre Javascript. Saludos!

    Christopher Andrés Guano Valencia

    Christopher Andrés Guano Valencia

    studenthace 3 años

    Tampoco es que las declaraciones con const tengan que cumplir una única función.

    Puedes tener un booleano que según sea el caso, sea true o false,

    const esPar = numero%2===0 ? true : false
    .

    O una función (con Arrow function) que según el parámetro que le pases, haga una cosa u otra. Ojo con el scope también.

    Además, dentro de un bucle, puedes tener una variable const porque cada nueva iteración es diferente a la anterior, y así. 🤯 Y no necesariamente las tuvimos que declarar con let.

    En cuanto a rendimiento, no creo que haya diferencias, let y const vinieron a arreglar muchos problemas que tiene la declaración con var.

    Nunca pares de aprender. 💚

    Hiram Rodriguez Gomez

    Hiram Rodriguez Gomez

    studenthace 3 años

    @Andres Tienes razón, hice una elección imprecisa de palabras, ya que reasignar es el término más correcto cuando una variable cambia de valor, mientras que mutar se relaciona más con la modificación de contenido de un objeto o un arreglo.

    Pero si es como comentas, es recomendable el const para variables que no sufriran cambios de asignación de valores y que cumplen una única función.

    También alguna vez leí que a nivel de recursos, las declaraciones con const son menos exigentes en ese sentido, pero no he encontrado alguna literatura para verificarlo.

    Christopher Andrés Guano Valencia

    Christopher Andrés Guano Valencia

    studenthace 3 años

    No necesariamente, un array u objeto pueden ser declarados con const y luego ser mutarlos. El tema es que const es usado para declaraciones que solo tienen una sola asignación, mientras que let y var pueden ser reasignados las veces que quieras.

    Otra diferencia es que var no tiene block scope, y un bloque puede ser un if, un for o todo aquello que esté dentro de '{}'.

    Nunca pares de aprender 💚

    Hiram Rodriguez Gomez

    Hiram Rodriguez Gomez

    studenthace 3 años

    He leído que es recomendable utilizar const en "variables" que no vana sufrir modificaciones o que sólo serán utilizadas para una tarea en específico. Si se requiere que la variable mute (como las variables utilizadas para los ciclos ++for++) se recomienda usar let. Tanto const como let se manejan en scope de bloque

    var no se recomienda tanto porque opera en el scope de función, lo cual no delimita de forma tan estricta el uso de una variable. Un ejemplo es la siguiente función:

    function tester(values){ for(var = 0; i < values; i++){ console.log(i) } //En este caso, tenemos acceso a la variable i a pesar de que ya salimos del ciclo for console.log("Ultimo valor de i: " + i) function tester(values){ for(let j = 0; j < values; j++){ console.log(j) } //En este caso, arroja un error porque no tenemos acceso a la variable j fuera del ciclo for console.log("Ultimo valor de j: " + j) } }```
    Christopher Andrés Guano Valencia

    Christopher Andrés Guano Valencia

    studenthace 4 años

    Porque

    cons
    t permite declarar variables que solo podremos asignarles un valor una sola vez. Mientras que
    var y let
    permite crear variables que si se puede asignar otro valor.

    Por ejemplo, declaramos una variable llamada

    pi
    y le asignamos un valor de la siguiente manera:

    const pi = 3.1416;

    Si queremos asignarle otro número, el programa mostrará un error de tipo. "Asignación a una variable constante"

    pi = 5; >Uncaught TypeError: Assignment to constant variable.

    Existen más diferencias, te recomiendo que leas este artículo muy bueno.

    Y revises esta tablita:

Curso Práctico de JavaScript

Curso Práctico de JavaScript

Aprende desarrollo web con JavaScript. Practica los fundamentos de la programación para crear algoritmos que resuelven problemas en la vida real. Convierte problemas en algoritmos con JavaScript y expande su poder integrando HTML interactivo. Descubre el potencial de programar sitios web con JavaScript junto a tu profesor JuanDC.

Curso Práctico de JavaScript
Curso Práctico de JavaScript

Curso Práctico de JavaScript

Aprende desarrollo web con JavaScript. Practica los fundamentos de la programación para crear algoritmos que resuelven problemas en la vida real. Convierte problemas en algoritmos con JavaScript y expande su poder integrando HTML interactivo. Descubre el potencial de programar sitios web con JavaScript junto a tu profesor JuanDC.