资讯专栏INFORMATION COLUMN

let&const

Karrdy / 1283人阅读

摘要:资料参考是阮一峰老师写的教程命令新增的命令,使用来声明变量的,就像一样,但是声明的变量只在所在的代码块中有效。凡是在声明之前使用这个变量都会报错块级作用域中拥有全局作用域和函数作用域,添加了块级作用域。

资料参考是阮一峰老师写的ES6教程

let&const命令

let

ES6新增的let命令,使用来声明变量的,就像var一样,但是声明的变量只在let所在的代码块中有效。

e.g

{
    let a = 1;
    var b = 2;
}
a //a is defined
b //2

在使用let或者const可以屏蔽JS产生的变量名提升的问题

什么是变量名提升

变量名提升指的是变量名没有声明就可以访问

e.g

function test() {
    alert(declaredButNotAssigned); // undefined
    var declaredButNotAssigned;
}
test();

以上例子会得到undefined

暂时性死区

如果代码中存在let或者const,在这个代码块中声明的变量形成一个封闭的作用域。凡是在声明之前使用这个变量都会报错

块级作用域

ES5中拥有全局作用域和函数作用域,ES6添加了块级作用域。使用let或者const声明的变量只能在属于命令所在的代码块

在块级作用域中的声明的函数应当写成函数表达式的形式,ES6规定在块级作用中声明的函数应当let看待

const

使用const声明的变量不得改变值,也即是const使用变量必须初始化

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/80997.html

相关文章

  • JS中letconst命令如何使用

      本篇文章主要讲述JS中let与const命令使用,通过代码展示给各位。  let命令  基本使用  在ES6中,let命令是新增的声明变量,与var的差异在于let无法重复声明,且let有效只是在其命令的代码块内,let禁止变量出现变量提升现象,let的特点就是通过暂时性死区的方式来避免程序上的错误  代码块:使用{}包括起来的内容  声明变量:分配一个存储空间  不可重复声明:let声明过后...

    3403771864 评论0 收藏0
  • ES6笔记之 let && const

    摘要:声明的变量只在其所在的代码块内有效。只要在声明之前使用这些变量,就会报错。在语法上称为暂时性死区有时候,会不经间遇到比较隐蔽的死区,不太容易被发现。不允许重复声明不允许在相同的作用域内声明同一个变量。一旦声明,其值就不能再改变。 let && const let let声明的变量只在其所在的代码块内有效。 { let a = 10; } console.log(a) //R...

    aristark 评论0 收藏0
  • es6必会之let && const

    摘要:副作用,无副作用可执行和关键词。和不能像一样同一个下声明多次和不会像一样变量声明提升原因是,存在因此不能,赋值前使用变量。 showImg(https://segmentfault.com/img/bVbhPlD?w=1271&h=715); 关键词: let ,const, blocking scope ,temporal dead zone,redeclaration,reassi...

    ygyooo 评论0 收藏0
  • 通过JavaScript实现扑克牌游戏的示例代码

      我们说下想要实现,一副牌里有54张,我们可以知道 3 - 2 的牌总共有13张,这分为4个花色是 ♠️ ♥️ ♣️ ♦️ 另外加上2个大小王!第一步:形成一个数组, 就要写一个函数,利用牌数量和花色,这样可以用来形成一个双重循环将 number 里面的内容 和 flower 里面的内容 进行一个循环嵌入?最后在用 push 生成一个对象放到数组的后面?再到最后放入 大小王 。  constnu...

    3403771864 评论0 收藏0
  • JS前端千万级弹幕数据循环优化示例

    大数据中时常都会有优化,这篇文章要和大家降的就是如何按照特定的条件删除一个数组?  1、如何删除数组中的元素  场景:有一个数组,需要删除满足条件的数组。  示例:  constarr=[1,2,3,4,5,6,7,8]  删除小于5的元素,删除后的元素为  constarr2=[5,6,7,8]  代码实现:  constarr=[1,2,3,4,5,6,7,8]   for(leti=0,le...

    3403771864 评论0 收藏0

发表评论

0条评论

Karrdy

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<