当前位置:网站首页>ES6中的let、const、var
ES6中的let、const、var
2022-07-17 11:10:00 【qq_42042158】
基本用途
- var声明变量
- let 代替var,声明变量
- const声明常量
const详解
const就是为了那些一旦初始化就不希望重新赋值的情况设计的
const的注意事项
1.使用const声明常量,一旦声明,就必须立即初始化,不能留到以后赋值
//错误写法
const sex;
sex='male';
//正确写法
const sex = 'male';
2、const声明的常量,如果是引用数据类型允许在不重新赋值的情况下修改它的值,但是基本数据类型不可以
例如
const person = {
username: 'Alex' };
// person = {};错误
person.username = 'ZhangSan';
console.log(person);

let、const与var的区别
1.重复声明
已经存在的变量或常量,又声明了一遍
var允许重复声明,let、const 不允许
//会报错
function func(a) {
let a = 1;
}
func();
2.变量提升
var 会提升变量的声明到当前作用域的顶部
例如
console.log(a);
var a = 1;
相当于
var a;
console.log(a);
a=1;

let、const不存在变量提升
例如
console.log(a);
let a = 1;

3.暂时性死区
只要作用域内存在let、const,它们所声明的变量或常量就自动“绑定”这个区域,不再受到外部作用域的影响
例如
let a = 2;
function func(){
console.log(a);
let a = 1;
}
func();
在函数中已经绑定了函数里面的变量a,所以无法读取外部的变量a,因此会报错
4、块级作用域(最重要的区别)
var没有块级作用域
for (var i = 0; i < 3; i++) {
console.log('infor--'+i);
}
console.log(i);
变量i只用来控制循环,但是循环结束后,它并没有消失,由于变量提升,泄露成了全局变量。
let/const有块级作用域
for (let i = 0; i < 3; i++) {
console.log('infor--'+i);
}
console.log(i);
i只有在for循环中有效
有哪些块级作用域
- {}
- for(){}
- while(){}
- do{}while()
- if(){}
- switch(){}
let和const使用建议
在默认情况下用const,而只有你在知道变量值需要被修改的情况下使用let
边栏推荐
- Rhcsa the next day 7.15
- Mutual access between components
- Componentized advanced -- slot
- [C language] summary of array knowledge points
- Clwy permission management (III) -- user group module
- CLWY权限管理(一)--- 项目搭建
- Code to celebrate the Dragon Boat Festival -- Zong your heart
- TP5 判断请求方式
- UiO-66-(COOH)2改性聚酰胺纳滤膜|ZIF-8/PVP复合纳米纤维膜|UiO-66-NH2改性聚酰胺纳滤膜
- 【C语言】数组知识点总结
猜你喜欢

闲谈工业企业全厂信息化规划

第4章-一阶多智体系统一致性 -> 领航跟随系统一致性
![[C language] storage of floating-point type in memory](/img/a5/5e360fb0a1b3425dd9372cc29d0a3b.png)
[C language] storage of floating-point type in memory

负载型金属有机骨架ZIF-8/氧化石墨烯储氢材料|二氧化钛/ZIF-8复合材料|二氧化硅@ZIF8纳米材料

Chapter XI queue of STL

Part I - Fundamentals of C language_ 5. Arrays and strings

Part I - Fundamentals of C language_ 6. Function

565. Array nesting / Sword finger offer II 001 Integer division

第八章 STL 之 vector

Part I - Fundamentals of C language_ 2. Data type
随机推荐
[Luogu] p2357 tomb keeper
关于基础模块中的依赖由微服务中的子模块继承的时候依赖失效的问题
第4章-一阶多智体系统一致性 -> 领航跟随系统一致性【程序代码】
565. 数组嵌套 / 剑指 Offer II 001. 整数除法
程序员成长第二十一篇:做任务分配时,要考虑员工的成长。
【C语言】函数知识点总结
sqli-labs(less-11)
[C language] void type and void* pointer type
Build a server environment with node+express
mof定制材料|双金属CuNi-MOF纳米材料|核—壳结构[email protected]纳米复合材料|ZIF-8/聚偏氟乙烯复合纳米纤维膜PVDF
Duilib implements tooltip custom mouse prompt window
第4章-一阶多智体系统一致性 -> 切换拓扑系统一致性【程序代码】
mof定制产品|N-K2Ti4O9/g-C3N4/UiO-66三元复合材料|纸基Au-AgInSe2-ZIF-8纳米复合材料
JS 之 操作 String 字符串
redis缓存雪崩
Memory LDA LDA in Blas level-3 sgemm cublesgemmex cubulassgemm
【摸鱼神器】UI库秒变低代码工具——表单篇(二)子控件
状态码的故事
PTA 1037 change at Hogwarts
第一部分—C语言基础篇_6. 函数