发布时间:2023-05-07 文章分类:WEB开发, 电脑百科 投稿人:赵颖 字号: 默认 | | 超大 打印

let 、const和var的区别

let、const、var在js中都是用于声明变量的,在没有进行ES6的学习前,我基本只会使用到var关键字进行变量的声明,但在了解了ES6之后就涉及到了块级作用域以及let,const了。

let与const

const详细介绍

使用const的原因:const 就是为了那些一旦初始化就不希望重新赋值的情况设计的

//基本数据类型赋值为常量之后是不可修改的
const name='zhangsan';
name='nn'; //x
//引用数据类型
const student={age:18};
//student={};
student.age=19; 

const的傻瓜使用指南
毕竟基础数据类型去修改const会报错,那其实可以都用const进行变量的声明,当变量后面发生变化时自然会报错(前提是你还记得住,还是不太推荐这个傻瓜指南的)。

块级作用域

咱就是说块级作用域简单说明一下,const和let的使用区别是会涉及到这个的

啥是作用域

常见的作用域主要分为几个类型:全局作用域、函数作用域、块状作用域、动态作用域。

对象 类型
global/window 全局作用域
function 函数作用域(局部作用域)
{} 块级作用域
this 动态作用域
啥是块级作用域

JS中作用域有:全局作用域、函数作用域。没有块作用域的概念。ECMAScript 6(简称ES6)中新增了块级作用域,使用let声明的变量只能在块级作用域里访问,有“暂时性死区”的特性(也就是说声明前不可用)。

  1. 块级作用域:大部分包含{}的都可以构成块级作用域,但是函数和对象不构成块级作用域(函数属于的是函数作用域而不是块级作用域,对象的话,又不能在里面let)
  2. 作用域链:内层作用域->外层作用域->…->全局作用域
    let、const和var的区别(涉及块级作用域)
    其中对于变量的查找只能是由内到外的

const,var和let的区别

let、const、var的区别:①重复声明 ②变量提升 ③暂时性死区 ④块级作用域 ⑤window对象的属性和方法(全局作用域中)

1. 区别一:重复声明
2. 区别二:变量提升
3. 区别三:暂时性死区
4. 区别四:window对象的属性和方法(全局作用域中)
5. 区别五:块级作用域