2023 day3 晚上学习内容

一 .var let const 区别
var: 存在变量提升;存在变量覆盖,已经被定义且赋值的变量,如果再次被赋值,则以后一次值为准;没有块级作用域;

const:定义的是常量,声明之后必须赋值;定义的值不能去修改,否则报错;有块级作用域;不存在变量提升和变量覆盖;对于数组和对象的元素修改,不算做对常量的修改,不会报错。

let: 有块级作用域;不存在变量提升和变量覆盖;let不允许在相同的作用域中重复声明,注意是相同作用域,不同作用域重复声明不会报错

二. 解构赋值
let a = 3; let b = 4; 如果在不声明第三个变量的前提下,使a=4, b=3?

答案:[a, b] = [b, a]

三. 如何利用es6快速的去重?
let arr = [27, 16, 15, 33, 22, 16, 21]

let item = [...new Set(arr)]

四. Promise 面试题 以下代码的执行结果是?
const promise = new Promise((resolve, reject) => {

console.log('a')

resolve()

console.log('b')

})

promise.then(() => {

console.log('c')

})

console.log('d')

答案:a,b,d,c

解释:以上考察的是关于promise的原理,promise的构造函数是同步执行的,当new Promise的一瞬间,a,b 就立刻被执行,而 .then方法是异步执行的,当执行完a和b之后,会执行输出d,最后执行输出c

posted @ 2023-03-01 23:54  郭康勋kawhi  阅读(40)  评论(0编辑  收藏  举报