es6面试题

1.var、let、const区别
var 函数级作用域 可变量提升 值可以改变
let 块级作用域 不存在变量提升 值可以改变
const 块级作用域 不存在变量提升 值不可以改变
2.使用箭头函数需要注意什么?
(1)this的值不是指向windows,而是父级
(2)不能够使用arguments对象
(3)不能构造函数(不能使用new命令)
(4)不可以使用yield命令,因此箭头函数不能用作Generator函数
3.es6的模板字符串有什么新特点?
将表达式嵌入字符串中进行拼接 使用${}
在es5时我们通过反斜杠来做多行字符串或者字符串一行行拼接。es6用()就能够解决
4.什么是展开运算符 ···
可以将数组或对象里的值展开
也可以将多个值收集为一个变量
5.promise构造函数是同步执行还是异步执行?then呢
promise构造函数是同步执行
then是异步执行

  const promise = new Promise((resolve, reject) => {
            console.log(1);
            resolve();
            console.log(2)
        })
        promise.then(() => {
            console.log(3)
        })
        console.log(4)

在这段代码中输出的结果是1 2 4 3 ,因为promise新建后立即执行,promise.then()内部代码在当次事件的结尾立刻执行 所以会先输出4后输出3.
6.forEach、for in 、for of 三者区别?
forEach 更多用来遍历数组
for in 常用遍历对象或json,循环出来的是key
for of 数组对象都可以遍历,遍历对象通过和object.keys(),循环出来的是value
7.es6的导入导出模块分别采取什么关键字
import { sum} from “./example.js”
8.set与map的区别?
set用于数据重组 ,map数据存储
set应用场景:
(1)成员不能重复
(2)只有键值没有键名,类似数组
(3)可以遍历,方法有add delete has
map应用场景
(1)本质上是键值对的合集,类似集合
(2)可以遍历,可以跟各种数据格式转换
9.如何使用set去重?

let arr = [12, 43, 23, 43, 34, 68, 12];
        let item = [...new Set(arr)];
        console.log(item) //12 43 23 34 68
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值