变量声明 let const
- let使用块级作用域
- JavaScript的作用域(scope)只有全局和局部,对于var声明的变量,只有函数才能为它创建新的作用域,而let支持块级作用域,花括号就能为它创建新的作用域
- let不支持在同作用域中声明标识符相同的变量,相同作用域,
- var可以反复声明相同标识符的变量,而let是不允许的.
- let用TDZ禁止了声明前访问
- let声明的变量禁止在声明前访问
- const的值设置完成后不可修改。在声明时就要赋值,变量名大写。
- 如果const定义的是一个 对象,对象包含的值是可以修改的。抽象地说,对象所指向的地址没变就行。
函数默认值
当没有传参时,使用默认参数,传了参就使用传的参
function show( name = 'ghostwu', age = 22, sex = 'man' ){
console.log( name, age, sex );
}
show(); //ghostwu, 22, man 使用name, age, sex的默认参数
show( 'zhangsan', 40, '男' ); //zhangsan, 40, 男 不使用默认参数
箭头函数
函数的简写形式
- 创建函数不需要function关键字
- 当有且仅有一个参数时,可以省略括号
- 返回有且仅有一个表达式时可以省略{}和return
- this指向
for...of & for...in
——————————————————————————————————