首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

let 和 const 命令

# let 和 const 命令 # let 命令 # 基本用法 ES6 新增了let命令,用来声明变量。它的用法类似于var,但是所声明的变量,只在let命令所在的代码块内有效(块级作用域)。...然后在代码块之外调用这两个变量,结果let声明的变量报错,var声明的变量返回了正确的值。这表明,let声明的变量只在它所在的代码块有效。 for循环的计数器,就很合适使用let命令。...typeof x; // ReferenceError let x; 上面代码中,变量x使用let命令声明,所以在声明之前,都属于x的“死区”,只要用到该变量就会报错。...// 报错 function func() { let a = 10; var a = 1; } // 报错 function func() { let a = 10; let a =...,而let只能出现在当前作用域的顶层,所以报错。

92920

let 和 const 命令

let 和 const 命令.png let 和 const 命令 let 命令 声明的变量,只在let命令所在的代码块内有效 for循环的计数器,就很合适使用let命令 let命令改变了语法行为,它所声明的变量一定要在声明后使用...,否则报错 不存在变量提升 只要块级作用域内存在let命令,它所声明的变量就“绑定”(binding)这个区域,不再受外部的影响 如果区块中存在let和const命令,这个区块对这些命令声明的变量,从一开始就形成了封闭作用域...凡是在声明之前就使用这些变量,就会报错 “暂时性死区”也意味着typeof不再是一个百分之百安全的操作 let不允许在相同作用域内,重复声明同一个变量 ES6 引入了块级作用域,明确允许在块级作用域之中声明函数...const声明的常量,也与let一样不可重复声明 const实际上保证的,并不是变量的值不得改动,而是变量指向的那个内存地址不得改动。...,let命令、const命令、class命令声明的全局变量,不属于顶层对象的属性

25920

ES6 - let & const

[const特殊] var和let定义变量,const定义常量 let和const的特性详解: let/const声明的变量不会进行变量声明提升: ? let/const重复声明一个变量报错。...let/const加强对作用域的控制: 作用域就是变量的生命周期,或者说变量在哪里能够被使用。 也就说let/const能让变量的生命周期更精准、更规范。(具体如何控制?)...临时死区【Temporal Dead Zone】 只要一个变量在大括号内用let/const声明了,那这个let/const声明就在整个块级里边称霸了, ? ?...此时如果在子块范围内、let/const声明之前使用这个变量,就会报错。 let/const声明其他和父块级或全局变量不重名的变量倒没有关系。 ?...延展~在使用了babel转换工具后,let和const的一些表现会转化成什么? 在声明后重新赋值这方面观察: ? 可以看到,let和const都被转换成了var。

57120

扫码

添加站长 进交流群

领取专属 10元无门槛券

手把手带您无忧上云

扫码加入开发者社群

相关资讯

热门标签

活动推荐

    运营活动

    活动名称
    广告关闭
    领券