美文网首页
ES6的变量声明

ES6的变量声明

作者: 一只码农的成长 | 来源:发表于2018-06-25 19:25 被阅读0次

    自我学习记录,欢迎指正
    在ES6中,变量的声明可以用var,let,const

    var


    1、用var声明的变量如果在调用的后面,不会报错,将会显示undefined

    console.log(a);    //a的值为undefined
    var a = 1;
    

    2、函数内声明的变量只能在函数内使用,与之相对的在块级作用域内声明的变量则在块级作用域范围外也能使用

    function test(){
      var a = 1;
    }
    
    console.log(a);    //a is not defined
    
    {
      var b = 1;
    }
    
    console.log(b);    //1
    

    如果没有用var声明,直接使用的,则是隐式声明

    {
      b = 1;
    }
    console.log(b);    //1
    

    let


    与var声明的变量相比,即使是在块级作用域范围内声明的,在范围外也不能使用

    {
      let a = 1;
    }
    console.log(a);    //a is not defined
    

    同一变量名不能重复定义

    let a = 1;
    let a = 2;
    //Identifier 'a' has already been declared
    

    如果某个变量确定只在函数范围内或者说块级作用域范围内使用,尽量使用let来声明,这样的好处是不会产生数据污染

    const


    用const来声明常量,在声明的同时必须赋值,不然会报错

    const a;    //报错
    

    用const声明的常量,不能再重新赋值,块级作用域范围内定义的,在范围外也不能使用

    const a = 1;
    const a = 2;    //报错
    
    {
      const a = 1;
    }
    console.log(a);    //a is not defined
    

    相关文章

      网友评论

          本文标题:ES6的变量声明

          本文链接:https://www.haomeiwen.com/subject/spnyyftx.html