1.let
会形成块级作用域
不存在变量提升
只要let在区块中出现了,这个块就会形成封闭作用域
TDZ 暂时性死区 typeof 不再安全
let 不允许相同作用域内重复变量
IIFE立即执行函数 不再需要
2.const 用来声明常量(只读) 块级作用域 一旦声明,立即赋值,值不可变 不可重复声明 也会产生TDZ
声明复杂数据 类型时 本质上不是值不变 是指针不变
3.解构赋值
要求格式匹配
let [a,b,c] = [1,2,3];
let [d,[e,[f]]] = [4,[5,[6]]];
let [g,,h] = [7,8,9];
let [i,j,k] = [1,2];
//√
let [l,m,...n] = [1,2,3,3,4,5,6,7];
//× 解析必须出现在最后
// let [l,...n,m] = [1,2,3,3,4,5,6,7]
let [o,p,...q] = [1];
let [r , t =0] = [1,2];
console.log(t)
4.模板字符串
字符串的拓展:let [a,b,c,d,e] = “12345” 得a = 1 ,b = 2 ,。。。
模板字符串:
var str = ` <ul>
<li>1</li>
<li>2</li>
<li>3</li>
<li>5</li>
<li>6</li>
</ul>`;
var x = 10;
var y = 20;
str = `${x} + ${y} = ${x+y}`;
console.log(str)
5.es6的几种方法
includes 查找 返回的是boolean
startWIdth是否在头部 第二个参数是起始位置
endWidth是否在尾部 第二个参数是前n位
repeat(count) 重复 负数不可以 小数只识别小数点前面的 0为清空字符串 默认为1
padStart 头部补全(length,str)
padEnd 尾部补全
trim()去掉前后的空格
trimStart() 全掉头部的空格
trimEnd() 去掉尾部的空格