let
和const
与var
类似,是es6定义变量时的语法。
1. 只在块内作用域内生效,且不可重复声明
var
定义变量时,会影响到外层作用域,比较常见的例子就是
for(let i=i; i<5; i++){
....
}
console.log(i);//undefined
for(var i = 0;i<5;i++){
....
}
console.log(i) //5
2. const声明变量不可重新赋值
const
一般用于常量的声明,因为声明后是不可重新赋值的,但是声明对象或者数组却是可以更改的。如果声明的是字符串是无法修改的,一般的字符串函数如:replece
、toLowerCase
,返回的都是一个新字符串,而原有字符串是没改变的。
const aa = [22,3,4];
aa[0] = 2
aa.push(5)
console.log(aa)
//aa = [2] //报错
const aaa = 'zzz'
console.log(aaa.replace(/z/g,'a')) //aaa
console.log(aaa.toUpperCase()) //ZZZ
console.log(aaa) //zzz
网友评论