ES6 let const关键字

在es6中,引入了let和const关键字;

1、let
ES6 新增了let命令,用来声明变量。它的用法类似于var,但是所声明的变量,只在let命令所在的代码块内有效。

(1)在块级作用域里有效(比如循环遍历内部就可以用let定义变量)

<script type="text/javascript">
    {
        let a = 10;
        var b = 1;
    }
    console.log(b);
    console.log(a);
</script>

报错:ReferenceError: a is not defined

(2)不能重复声明

<script type="text/javascript">
    {
        let a=0;
        let a=2;
    }
</script>

Uncaught SyntaxError: Identifier 'a' has already been declared

(3)不存在变量提升

var命令会发生“变量提升”现象,即变量可以在声明之前使用,值为undefined

这种现象多多少少是有些奇怪的,按照一般的逻辑,变量应该在声明语句之后才可以使用。

为了纠正这种现象,let命令改变了语法行为,它所声明的变量一定要在声明后使用,否则报错。

<script type="text/javascript">
    console.log(a);//undefined
    var a=1
    console.log(b);// Uncaught ReferenceError: Cannot access 'b' before initialization
    let b=1
</script>

 

2、const

const声明一个只读的常量。一旦声明,常量的值就不能改变。

<script type="text/javascript">
    const PI = 3.1415;
    PI = 3;
</script>

Uncaught TypeError: Assignment to constant variable.

posted @   技术小白丁  阅读(183)  评论(0编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
点击右上角即可分享
微信分享提示