ES6 let与const

本文介绍了ES6中新增的两种变量声明方式let和const的特点和使用方法,包括它们的块级作用域、变量提升、暂时性死区等特性。

在ES6中新增了两种新的声明方式就是let和const ,所以今天我们就来了解一下它们。

一.let

let声明有以下几个特点:
1.不能进行重复声明

   let  a = 4;
   var a = 4;
   console.log(a); 

这时会报语法错误,因为let不能重复声明同一个变量名
2.不存在变量提升

 //我们都知道var声明的变量是会被提前的
 console.log(a);
 var a = 4;
 console.log(b);
 let b = 3

这时a输出undefined,b输出时会报错
3.块级作用域

{
   let a = 1;  
}
console.log(a)
//这时会报错 a未被定义
{
  var a = 1
}
console.log(a)
//输出1

所以经过let声明的变量不会被提升
4.暂时性死区

//只要块级作用域内存在let命令,它所声明的变量就“绑定”(binding)这个区域,不再受外部的影响。

var t = 1;
if (true) {
   console.log(t); // ReferenceError
   let t;
}

上面代码中,存在全局变量t,但是块级作用域内let又声明了一个局部变量t,导致后者绑定这个块级作用域,所以在let声明变量前,对t进行打印会报错。

二.const

const声明有以下几个特点:
1.声明必须赋值

const a;
a = 4;
//报语法错误

2.const声明的是一个常量,不能进行修改

 const a = 4;
 a = 5;
 //VM63:2 Uncaught TypeError: Assignment to constant variable.

3.const声明也存在暂时性死区,这里和let相似,我就不多做介绍。

4.我们知道了const定义的是一个常量,是不能进行修改的,但是不能修改是有限制的,这里不能修改指的是内存地址,引用数据类型还是可以修改的

 const x = [0,1];
 x.push(3);
 console.log(x);
 //控制台输出[0,1,3]

从上面例子和特点3中我们可以看出const定义不能修改的是内存地址的指向,对于其他的引用数据类型,可以被修改。

【SCI复现】含可再生能源储能的区域微电网最优运行:应对不确定性的解鲁棒性非预见性研究(Matlab代码实现)内容概要:本文围绕含可再生能源储能的区域微电网最优运行展开研究,重点探讨应对不确定性的解鲁棒性非预见性策略,通过Matlab代码实现SCI论文复现。研究涵盖多阶段鲁棒调度模型、机会约束规划、需求响应机制及储能系统优化配置,结合风电、光伏等可再生能源出力的不确定性建模,提出兼顾系统经济性鲁棒性的优化运行方案。文中详细展示了模型构建、算法设计(如C&CG算法、大M法)及仿真验证全过程,适用于微电网能量管理、电力系统优化调度等领域的科研工程实践。; 适合人群:具备一定电力系统、优化理论Matlab编程基础的研究生、科研人员及从事微电网、能源管理相关工作的工程技术人员。; 使用场景及目标:①复现SCI级微电网鲁棒优化研究成果,掌握应对风光负荷不确定性的建模求解方法;②深入理解两阶段鲁棒优化、分布鲁棒优化、机会约束规划等先进优化方法在能源系统中的实际应用;③为撰写高水平学术论文或开展相关课题研究提供代码参考技术支持。; 阅读建议:建议读者结合文档提供的Matlab代码逐模块学习,重点关注不确定性建模、鲁棒优化模型构建求解流程,并尝试在不同场景下调试扩展代码,以深化对微电网优化运行机制的理解。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值