美文网首页
前端面试js篇: let、const和var的区别?什么是块级作

前端面试js篇: let、const和var的区别?什么是块级作

作者: 5cc9c8608284 | 来源:发表于2024-03-18 08:26 被阅读0次
    1. let、const和var是JS中的变量声明关键字,它们之间的区别如下:
    • var是在ES5中引入的变量声明关键字,它声明的变量具有函数作用域,因此变量在函数内部定义,外部是无法访问的。var声明的变量可以被重复声明,并且存在变量提升的特性。
    • let和const是在ES6中引入的新的变量声明关键字。它们声明的变量具有块级作用域,因此变量在块级作用域内部定义,外部是无法访问的。let和const声明的变量不可以被重复声明,同时它们不存在变量提升的特性。
    • const是用来声明常量的关键字,声明的常量在块级作用域内部不能被修改。
    1. 块级作用域是指由一对花括号{}所包围的区域,在这个区域内声明的变量和函数只在该区域内有效,外部无法访问。ES6之前,JS只有全局作用域和函数作用域,而没有块级作用域。使用let和const关键字可以在块级作用域中创建变量和常量。块级作用域的好处是可以有效避免变量声明的冲突和泄露。

    使用块级作用域的方法:
    可以通过在一对花括号{}中创建一个块级作用域并在其中声明变量,例如:

    {
      let x = 10;
      const y = 20;
      var z = 30;
      console.log(x); // 10
      console.log(y); // 20
      console.log(z); // 30
    }
    
    console.log(x); // ReferenceError: x is not defined
    console.log(y); // ReferenceError: y is not defined
    console.log(z); // 30 (var声明的变量具有函数作用域)
    

    在上述示例中,x和y是在块级作用域内部声明的变量,只能在该作用域内部访问。而z是用var关键字声明的变量,它具有函数作用域,因此在外部也可以访问

    相关文章

      网友评论

          本文标题:前端面试js篇: let、const和var的区别?什么是块级作

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