js var & let & const All In One
js var & let & const All In One
js var & let & const 区别对比

var let const 区别
- 是否存在 hoisting / 变量提升
var 存在 hoisting;
let, const 不存在 hoisting;
- 作用域范围
var 是全局 scope 或函数 scope;
let, const 是 block scope / 块级作用域;
- 能否重复声明
var 可以重复声明;
let, const 不可以重复声明,会抛出错误;
- 能否重新赋值
var 可以重新赋值,
let 可以重新赋值;
const 不可以重新赋值, 但是如果是引用类型 (Object / Array) 则可以修改其属性值
- 声明时否要初始化
var 可选初始化;
let 可选初始化, 但是存在 TDZ(暂时死区);
const 声明时必须初始化;
图解
const log = console.log;
var x = 1;
function func() {
  var x = 2;
  log(`function var`, x)
}
log(`global val`, x);
// val 1
func();
// function var 2
x = 11;
log(`x`, x);
// x 11
var x = 1;
x;
//1
var x = 11;
x;
// 11
let y = 2;
y;
// 2
let y = 22;
// Uncaught SyntaxError: Identifier 'y' has already been declared
const z = 3;
z;
// 3
const z = 33;
// Uncaught SyntaxError: Identifier 'z' has already been declared
demos
refs
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/var
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/let
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/const
https://img2020.cnblogs.com/blog/740516/202009/740516-20200916112245619-985579667.png
xgqfrms 2012-2020
www.cnblogs.com 发布文章使用:只允许注册用户才可以访问!
js var & let & const All In One的更多相关文章
- JavaScript var, let, const difference All In One
		JavaScript var, let, const difference All In One js var, let, const 区别 All In One 是否存在 hoisting var ... 
- 浅谈JS中 var let const 变量声明
		浅谈JS中 var let const 变量声明 用var来声明变量会出现的问题: 1. 允许重复的变量声明:导致数据被覆盖 2. 变量提升:怪异的数据访问.闭包问题 3. 全局变量挂载到全局对象:全 ... 
- 【JS学习】var let const声明变量的异同点
		[JS学习]var let const声明变量的异同点 前言: 本博客系列为学习后盾人js教程过程中的记录与产出,如果对你有帮助,欢迎关注,点赞,分享.不足之处也欢迎指正,作者会积极思考与改正. 总述 ... 
- JS中let、var、const的区别
		先看let和var: 1. console.log(a); // undefined var a = 3; console.log(a); // Uncaught ReferenceError: Ca ... 
- var和const和let的区别
		简述: 1.前端的变量申明,可以用到var,ES6的const(衡量)/let(变量) 2.在ES5用的都是var,到ES6之后,也就是2015年开始出现const/let. var 不会报错,有声明 ... 
- Learn-JavaScript-with-MDN 系列文章: 01. var & let & const 对比
		Learn-JavaScript-with-MDN 系列文章: 01. var & let & const 对比 var & let & const 区别 https: ... 
- 【前端面试】(四)JavaScript var let const的区别
		视频链接: JavaScript var let const的区别 - Web前端工程师面试题讲解 参考链接: JavaScript 变量 JavaScript Let JavaScript Cons ... 
- let、var、const声明的区别
		前言 看了方应杭老师的一篇解释let的文章,对JavaScript中的声明有了深刻的理解,这里也就有了总结一下JavaScript中各种声明之间区别的这篇文章. JavaScript中变量声明机制 首 ... 
- var let const 的区别
		Var let const 的区别 1.Var 定义的变量存在变量提升,而了let和const不存在变量提升.即在定义的变量代码上使用该变量,var的会输出undefined,而let的会报错. 2. ... 
随机推荐
- NoClassDefFoundError: javax/xml/bind/DatatypeConverter错误原因以及解决办法
			nested exception is java.lang.NoClassDefFoundError: javax/xml/bind/DatatypeConverter 报错内容: org.sprin ... 
- 中文电子病历命名实体识别(CNER)研究进展
			中文电子病历命名实体识别(CNER)研究进展 中文电子病历命名实体识别(Chinese Clinical Named Entity Recognition, Chinese-CNER)任务目标是从给定 ... 
- Bitter ORM NETCORE ORM 全网最粗暴简单易用高性能的 NETCore ORM 开源了
			开源的来了,懒人程序员的福音,.NET 生态闭环太缺开源精神了, 拥抱开源! 前言: 本人不是不喜欢现有ORM的轮子,而是发现现有的ORM 的都不太符合开发人员的一些习惯.现有的ORM 要么功能太冗余 ... 
- the minimum number of bits required to represent x 最小位数
			src/math/bits/bits.go:296 // --- Len ---// Len returns the minimum number of bits required to repres ... 
- 【LinuxShell】ps 命令浅析
			前言 Linux上查看进程状态最常用的命令,本文对 ps 命令参数以及状态做一下简单介绍. 参数 ps a 显示现行终端机下的所有程序,包括其他用户的程序. ps -A 显示所有程序. ps c 列出 ... 
- linux下的ARP攻击(kali)
			这是我的学习总结,刚入坑网络安全,写的不好或者有什么错误的希望大佬们指正 首先了解ARP的作用以及原理: ARP(Address Resolution Protocol,地址解析协议)是一个位于TCP ... 
- hbase伪分布式环境的搭建
			一,实验环境: 1, ubuntu server 16.04 2, jdk,1.8 3, hadoop 2.7.4 伪分布式环境或者集群模式 4, hbase-1.2.6.tar.gz 二,环境的搭建 ... 
- HTTPS优化与证书
			1.HTTPS性能优化 1.1 HTTPS性能损耗原因 前文讨论了HTTPS原理与优势:身份验证.信息加密与完整性校验等,且未对TCP和HTTP协议做任何修改.但通过增加新协议以实现更安全的通信必然需 ... 
- 统计单词出现次数的mapreduce
			1.新建Java项目 2.导包E:\工具\大数据\大数据提升资料\01-软件资料\06-Hadoop\安装包\Java1.8环境下编译\hadoop-2.7.3\hadoop-2.7.3\share\ ... 
- CodeForces - 948C (前缀和+二分)
			博客界面的小人搞不好导致无心写博客 题意:tyd非常喜欢玩雪,下雪下了n天,第i天她会堆一堆大小为Vi的雪堆,但因为天气原因,每堆雪会融化Ti,问每天总共融化了多少雪: 直接上代码+注释 1 #inc ... 
