var,let ,const的区别

var

  • 全局变量
    function textVar(){

        var a=30;

        if(true){

            var a=50;

            console.log(a);//50
        };

        console.log(a);//50 找离他最近的a

    };

let

  • 有作用域的概念
 function textLet(){

        let a=30;

        if(true){

            let a=50;//有作用域的概念

            console.log(a);//50 
        };

        console.log(a);//30 

    };

    textLet();

const

  • 一但申明,不可修改,他是一个常量。
    const x=10;

    x=100;

    console.log(x);//Uncaught TypeError: Assignment to constant variable.

  • 定义数组
    const colors=[];

    colors.push('red');

    colors.push('green');

    console.log(colors)