1.let const 异同点
1.没有声明提升,只存在块级作用域
2.同一作用域下 let const 不可以多次声明同一个变量
const
a》.声明必须赋值
b》.基础数据类型赋值之后不可更改
c》.复合数据类型赋值可更改属性
2.模板字符串
let age = 18
console.log(`王磊${age}`)
3.扩展运算
const arr1 = [1, 2]
const arr2 = [3,4]
const arr3 = [...arr1, ...arr2]
// 输出 [1,2,3,4]
4.set
set里成员的值都是唯一的,没有重复的值
const set = new Set([1, 1, 2, 2, 3, 4, 5, 6, 8, 8, 9])
console.log([...set], 21);
// 同时可以用于字符串里面的重复字符
console.log([...new Set('ababbc')].join(''), 29);
// Set的方法
let s = new Set([1, 2, 3, 4, 5])
// 添加
console.log(s.add(6)); //返回Set本身
// 删除
console.log(s.delete(1)); //返回布尔值,删除成功为true
// 是否存在某个值
console.log(s.has(5)); //返回布尔值,有则返回true
5.Promise 的含义
promise是一种异步解决方案,里面一共有三种状态 pending(进行中),,fulfilled(已成功),rejected(已失败)
优点: 解决了回调地狱
缺点:1.无法取消Promise,一旦新建就会立即执行;2.如果不设置回调函数,Promise内部抛出的错误,不会反应到外部3.当前处于pending状态时,无法得知目前进展到哪个阶段
Promise构造函数接受函数作为参数时,该函数的两个参数分别是resolve(成功)和reject(失败)
const promise = new Promise(function (resolve, reject) {
if (resolve) {
// 异步成功的操作
resolve(value)
} else {
// 失败的操作
reject(error)
}
})