美文网首页
你不知道的let和const

你不知道的let和const

作者: superestZe | 来源:发表于2018-12-08 21:42 被阅读0次

基本用法

{
    let a=10;
    var b=1;  // 尽量避免使用var
}

let 与 var 相比, 优点:

  1. 不存在变量提升

    // var
    console.log(a); // undefine
    var a=2
    
    // let
    console.log(a); // error
    let a=2
    

    由于var 存在变量提升,写法类似如下,经常会造成一些无法预料的bug

    var a 
    console.log(a)  
    a=2
    
  2. 不允许重复声明

    function fn(){
        let a=10;
        var a=1;   // 报错
    }
    
    // 不能再函数内部重新声明参数
    function fn(arg){
        let arg // 报错
    }
    
    function func(arg){
        {
            let arg; // 不报错
        }
    }
    
  3. 块级作用域

    // 外层代码块不受内层代码块的影响
    function fn(){
        let n=5;
        if(true){
            let n=10;
        }
        console.log(n)  //5
    }
    

const的优点

  1. const声明的常亮是否可修改?

    //值类型不可修改
    const a=1;
    a=2 //报错
    
    // 引用类型可以添加属性
    const o= {};
    o.a=1;
    
    

    本质: const 实际上保证的不是变量的值不能改动, 而是变量指向的那个内存地址不得改动

相关文章

  • let和const

    新的赋值语句let和const let和const命令

  • 工作中常用的 ES6 语法

    变量声明 let 和const 不用var, 用const声明只读变量,let声明变量。let和const都是块级...

  • ES6需要记忆理解的地方

    let和const命令 1、let和const均无变量提升。2、let变量指向的地址可变,const指向的地址不可...

  • (JS)

    ES6 let、const和var的区别 let和const声明变量不存在变量提升 let和const不能重复声明...

  • 【JS】从ECMA学习let、const、var变量声明与声明提

    let、const、var是JS中的声明关键字 let和const 我们熟知的let和const的特性,常见的就有...

  • 关于ES6以及ES6常用的方法

    1、变量声明let和const let表示变量、const表示常量。let和const都是块级作用域。 2、模板字...

  • ES6这些就够了

    1.变量声明const和let let表示变量、const表示常量。let和const都是块级作用域 2.模板字符...

  • 2018-09-13

    一、let和const const和let的异同点 相同点:const和let都是在当前块内有效,执行到块外会被销...

  • 你不知道的let和const

    基本用法 let 与 var 相比, 优点: 不存在变量提升// varconsole.log(a); // un...

  • ES6编码风格

    http://es6.ruanyifeng.com/#docs/style let和const let和const...

网友评论

      本文标题:你不知道的let和const

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