前端系列-ES6方面

1、ES6常用的语法?

      let和const声明变量,用于块级作用域和变量声明

      箭头函数

      模版字符串

      解构赋值

      扩展运算符

      Promise和异步函数(async、await)

      类和继承(class)

      模块化(import、export关键字,提供了基于原型的继承机制)

      Set和Map数据结构

      Proxy和Reflect

      Symbol数据类型      

      Iterator和for...of循环

      默认参数、扩展操作符、展开操作符

      模版字符串的标签功能

      字符串的includes、startsWith和endsWith方法

      数组的find和findIndex方法

      数组的filter、map、reduce和reduceRight方法

2、箭头函数应该注意的地方以及特点?

      关于this

      箭头函数自身没有this的,它的this是谁调用它,this的指向谁;

      这样自然就不能使用call和apply和bind来改变this的指向;

      关于argument

      箭头函数是没有argument的但是可以使用rest代替;

      无法new

      箭头函数并不是构造函数所以无法new;

      特点:1、不需要function关键字来创建函数

                 2、省略return关键字

                 3、继承当前上下文this关键字

3、箭头函数与普通函数的区别?

      箭头函数:this永远指向其上下文的this,任何方法改变不了其指向(call、apply、bind );

      普通函数:this指的是调用它的那个对象;

4、ES6三种去重方法?

      使用new set()、filter()、reduce函数

      const array = [1, 2, 2, 3, 4, 4, 5];

      const uniqueArray1 = [...new Set(array)];

      const uniqueArray2 = array.filter((item, index) => array.indexOf(item) === index);

      const uniqueArray3 = array.reduce((accumulator, currentValue) => { if            (!accumulator.includes(currentValue)) { accumulator.push(currentValue); } return accumulator; }, []);

5、对promise的理解?

      Promise是一个对象,可以获取异步操作的消息;

      Promise.then接收两个函数作为参数(成功、失败)

      Promise有等待状态pending、操作成功fulfilled、操作失败rejected、状态一旦改变就不会在变,创造promise实例后,它会立即执行;

      Promise可以支持多个并发请求,获取并发请求中的数据;

6、Promise解决异步的优点及用法?

      链式操作减低了编码难度、代码可读性明显增强;

      用法:promise构造函数接收了一个函数作为参数,该函数的两个参数分别是resolve和reject;

7、请举例说明Set和Map数据结构在实际开发中的应用场景?

      Set是一种新的数据结构,类似于数组,但成员的值都是唯一的,没有重复的值;

      应用场景:去重、属性检查、并集、交集和差集操作

      const arr1 = [33,43,23,435,46,325]

      const arr2 = [43,23,34,645,5,76,70]

      const union = Array.form(new Set([...arr1,arr2]))  //并集

      const cross = Array,form(new Set(arr1.filter((item)=>arr2.includes(item))));  //交集

      const diff = Array.form(new Set(union.filter((item)=>!cross.includes(item))));   //差集

      Map是一种键值对集合,可以记住键对应的值,并支持直接通过键来访问值;

      应用场景:对象属性的映射、复杂数据结构、持久化数据

8、Promise通常会解决三种问题

       链式回调

       同时发起几个异步请求,谁先有结果就拿谁的

       发起多个请求,等到所有请求后在做下一步处理

     promise可以通过then方法实现链式回调,通过promise.all方法实现同时发起多个异步请求,通过promise.race方法实现等待多个异步请求的结果;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值