美文网首页
let 和 const;函数默认参数

let 和 const;函数默认参数

作者: 知行社 | 来源:发表于2017-10-07 08:07 被阅读0次

    let

    let 和 var 一样, 也是是用来定义变量的。如

    let a = 3
    

    let 与 var 的区别

    • let 定义的变量的作用域是代码块,var 定义的变量的作用域是函数。
    • let 不存在变量提升。
    • 不允许在相同作用域内,重复声明同一个变量。

    const

    用 const 来定义常量。如

    const PI = Math.PI
    

    const 实际上保证的,并不是变量的值不得改动,而是变量指向的那个内存地址不得改动。对于简单类型的数据(数值、字符串、布尔值),值就保存在变量指向的那个内存地址,因此等同于常量。但对于复合类型的数据(主要是对象和数组),变量指向的内存地址,保存的只是一个指针,const只能保证这个指针是固定的,至于它指向的数据结构是不是可变的,就完全不能控制了。因此,将一个对象声明为常量必须非常小心。

    如果想让内容不能变,用 Object.freeze(obj)

    为了让代码更健壮,尽可能的用 let 和 const 来定义变量。

    函数的默认参数

    function Point(x = 0, y = 0) {
      this.x = x;
      this.y = y;
    }
    
    const p = new Point();
    p // { x: 0, y: 0 }
    

    与解构赋值一起使用

    function foo({x, y = 5} = {}) {
      console.log(x, y);
    }
    
    foo() // undefined 5
    

    相关文章

      网友评论

          本文标题:let 和 const;函数默认参数

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