1.块级作用域
let声明的变量,会进入暂时性的死区,提升后暂时不允许访问,只有赋值后才允许访问。
let声明的变量不允许重复声明
块级作用域:大括号之间的语句块,例如if、else、for… 块级作用域下,let和const声明的是局部变量或者常量,不允许被块级作用域以外访问。
let和const即使声明在全局作用域下,也不是全局变量或者常量
练习:使用for循环计算1~100之间所有整数的和,使用let声明变量
let sum=0
for(let i=1; i<=100; i++) {
console.log(i)
sum += i
}
console.log(sum)
2.参数增强
可以给参数设置默认值
逻辑运算符赋值
var a = 值1 || 值2
选择将其中的一个值赋给变量a,当第1个值转布尔型为true,则把第1个值赋给变量a;当第1个值转布尔型为false,则把第2个值赋给变量a
var a = 值1 && 值2
选择将其中的一个值赋给变量a,当第1个值转布尔型为true,还会继续执行第2个,就把第2个值赋给变量a;当第1个值转布尔型为false,不再执行第2个,就把第1个值赋给变量a
3.箭头函数
简化了匿名函数的写法 ,不等价于匿名函数
() => {
函数体
}
//如果箭头函数的函数体中只有一行代码,并且是return形式可以进一步简化
sort((a,b)=>{
return a-b
})
//简化后,箭头后边,可以只写return后的值
sort((a,b)=>a-b)