当前位置: 首页 > article >正文

【前端】ES6:let声明变量与const声明常量

文章目录

  • 1 let不允许重复声明变量
  • 2 let和const声明的变量不会在预解析的时候解析(也就是没有变量提升)
  • 3 let和const声明的变量会被所有代码块限制作用范围
  • 4 let和const的区别
    • 4.1 let声明的变量的值可以改变,const声明的变量的值不可以改变
    • 4.2 let声明的时候可以不赋值,const声明的时候必须赋值

1 let不允许重复声明变量

// 使用 var 的时候重复声明变量是没问题的,只不过就是后面会把前面覆盖掉
var num = 100
var num = 200

// 使用 let 重复声明变量的时候就会报错了
let num = 100
let num = 200 // 这里就会报错了

// 使用 const 重复声明变量的时候就会报错
const num = 100
const num = 200 // 这里就会报错了

2 let和const声明的变量不会在预解析的时候解析(也就是没有变量提升)

// 因为预解析(变量提升)的原因,在前面是有这个变量的,只不过没有赋值
console.log(num) // undefined
var num = 100

// 因为 let 不会进行预解析(变量提升),所以直接报错了
console.log(num) 
let num = 100

// 因为 const 不会进行预解析(变量提升),所以直接报错了
console.log(num) 
const num = 100

3 let和const声明的变量会被所有代码块限制作用范围

// var 声明的变量只有函数能限制其作用域,其他的不能限制
if (true) {
	var num = 100
}
console.log(num) // 100

// let 声明的变量,除了函数可以限制,所有的代码块都可以限制其作用域(if/while/for/...)
if (true) {
	let num = 100
	console.log(num) // 100
}
console.log(num) // 报错

// const 声明的变量,除了函数可以限制,所有的代码块都可以限制其作用域(if/while/for/...)
if (true) {
	const num = 100
	console.log(num) // 100
}
console.log(num) // 报错

4 let和const的区别

4.1 let声明的变量的值可以改变,const声明的变量的值不可以改变

let num = 100
num = 200
console.log(num) // 200

const num = 100
num = 200 // 这里就会报错了,因为 const 声明的变量值不可以改变(我们也叫做常量)

4.2 let声明的时候可以不赋值,const声明的时候必须赋值

let num
num = 100
console.log(num) // 100

const num // 这里就会报错了,因为 const 声明的时候必须赋值

http://www.kler.cn/a/311911.html

相关文章:

  • Qt 编写插件plugin,支持接口定义信号
  • SQL50题
  • springboot参数校验
  • C++ | Leetcode C++题解之第556题下一个更大元素III
  • centos查看硬盘资源使用情况命令大全
  • Linux如何将文件或目录打成rpm包?-- rpmbuild打包详解
  • linux命令行快捷键
  • vue websocket 使用
  • 常用的k8s容器网络模式有哪些?
  • 在职技术学习日记(二)
  • 【从计算机的发展角度理解编程语言】C、CPP、Java、Python,是偶然还是应时代的产物?
  • 企业网络安全关键:防御措施和应急响应
  • 解决VSCode文件的中文GBK和UTF-8编码之间乱码问题
  • 如何在QQ邮箱中启用 SMTP/IMAP 服务
  • k8s集群自动化管理
  • Outlook如何归档?
  • Pandas 数据分析入门详解
  • 通用定时器捕获实验20240920
  • 【软件方案】智慧社区总体解决方案(PPT原件)
  • Docker安装以及简单使用
  • 在线安全干货|如何更改IP地址?
  • 基于单片机的风机故障检测装置的设计与实现(论文+源码)
  • 批量处理docker容器以及镜像的脚本
  • 一、Numpy使用
  • C语言从头学61——学习头文件signal.h
  • 什么是“云原生”