let :
- 块级作用域内有效(很适合for循环),
- 不会进行声明提升(必须先声明在使用),
- 暂时性死区(1.只在所在作用域有效,不受外部影响2.typeof 返回值不再百分百正确)
- 在同一作用域不允许重复声明(var也不行)
- 在块级作用域声明函数应该写成函数表达式,而不是函数声明语句。
for
循环特别之处,就是设置循环变量的那部分是一个父作用域,而循环体内部是一个单独的子作用域。
const:
- const声明时必须赋值
- 只在作用域内有效
- 不会进行声明提升(必须先声明在使用),
const
实际上保证的,并不是变量的值不得改动,而是变量指向的那个内存地址所保存的数据不得改动。
字符串
- 字符串遍历器(for(let i of str){})
- 新增方法
- includes(str,n):返回布尔值,表示是否找到了参数字符串。
- startsWith(str,n):返回布尔值,表示参数字符串是否在原字符串的头部。
- endsWith(str,n):返回布尔值,表示参数字符串是否在原字符串的尾部。使用第二个参数
n
时,endsWith
的行为与其他两个方法有所不同。它针对前n
个字符,而其他两个方法针对从第n
个位置直到字符串结束。 -
repeat(number)
方法返回一个新字符串,表示将原字符串重复n
次,如果是小数取整,负数报错 -
padStart(num, str)
和padEnd(num, str)
一共接受两个参数,第一个参数是字符串补全生效的最大长度,第二个参数是用来补全的字符串 -
``模板字符串模板字符串中嵌入变量,需要将变量名写在
${}
之中(可以放入任意的 JavaScript 表达式,可以进行运算,以及引用对象属性。还能调用函数)