ES6 var let const区别,解构,promise
- <b>(先上车后买票)</b>var 使用可以在定义之前,不会报错,相当于先声明,后赋值,这叫做声明提升,另外同变量名可以多次 var,会覆盖值
- <b>(套牌车)</b>let 同一变量名,多次 let 会报变量已经声明,var 不会报错
- <b>(出轨)</b>var 没有块级作用域 const 定义的变量不能被修改,声明之后必须赋值,一般大写
提升:
- 使用 es6 调换 a,b 的值,不适用 3 方变量
[a, b] = [b, a];
- es6 去重
let newArr = [...new Set(oldArr)]
- es6 promise 烂大街面试题
let pro = new Promise((res, rej) => { console.log(1); res(); console.log(2); }); pro.then(() => { console.log(3); }); console.log(4); // 1,2,4,3 // 分析:定义Promise是同步执行的,promise承诺,许下承诺是需要马上说出口的