ES6 面试题

目录

1. promise常用使用方法

2. promise核心逻辑?(promise怎么实现then的链式调用的?)

3. ES6 新增了哪些新特性

4. ES6 中数组新增了哪些方法


1. promise常用使用方法

Promise.all(iterable)

Promise.race(reason) [reɪs] 

Promise.reject(reason) [rɪˈdʒekt]

Promise.resolve(value) [rɪˈzɒlv]

2. promise核心逻辑?(promise怎么实现then的链式调用的?)

promise的出现是解决回调地狱的问题。

then 是promise对象的方法,要实现 then 的链式调用

那么就需要 在每一个then方法的执行完成时,返回一个新的promise对象。

返回的新的promise对象,需要接收到上一个promise对象返回的结果 也就是需要把 `successCallback(this.value)` 传递给新的 promise 对象的 resolve 。

其中需要判断上一个 promise 对象返回的值是普通值还是 promise 对象,如果是普通值,直接执行 resolve,

如果是 promise 对象就查看 promise 对象返回的结果,再决定走 resolve 还是 reject

3. ES6 新增了哪些新特性

① let 和 const

let 表示申明变量。

const 表示申明常量,常量定义了就不能改了。对象除外,因为对象指向的地址没变。const 在申明是必须被赋值。两者都为块级作用域。

② 字符串模板  反向单引号 ``

② 扩展运算符 三个点 …

//1. ... 可以将数组转换为 用逗号分隔的参数序列

const tf = ['a','b','b']// ...tf 就可以将数组 ['a','b','b'] 转为 'a','b','b'

function chunwan(){

console.log(arguments)

}

chunwan(...tf) // 等同于 chunwan('a','b','b')



//2. 扩展运算符的应用

//合并数组

const arr1 = ['1','2','3']

const arr2 = ['4','5','6']

const arr3 = arr1.concat(arr2) //es5 用contac 合并

const arr4 =[...arr1,...arr2] //es6 用扩展运算符 合并

//数组拷贝

const arr5 = ['a','b','b']

const arr6 = [...arr5] // es6 用 ... 进行拷贝

//3.将伪数组转为正数组

const divs = document.querySelectorAll(div);

console.log(divs); //此时打印结果是一个对象,无法使用数组的方法

const divArrr = [...div]; // 用... 将它转为数组,,

console.log(divArr);

 

 ③ 数组解构

//1.数组解构

const F=['1','2','3']

let [a,b,c,d] = F;

//2.对象解构

const ANIMAL = {

    type:'cat',

    name:'duorou',

    fun:function(){

        alert("旋转跳跃")

    }

}

//let {type,name,fun} = ANIMAL

let {fun} = AMIMAL

fun()

 

④ 函数的默认值

⑤ 箭头函数

⑦ for 循环

for of 遍历的是键值对中的值; for in 遍历的是键值对中的键

⑧ class类,原型链的语法糖表现形式

⑨ 导入导出

导入improt;导出export default

promise

Promise 用于更优雅地处理异步请求。

async/await

promise更好的解决了回调地狱

Symbol,新的基本类型

Set集合

存储任何类型的唯一值,即集合中所保存的元素是不重复的。类数组结构。

let arrNew = new Set(待去重的数组)

4. ES6 中数组新增了哪些方法

① forEach(),用于遍历数组,无返回值;

② filter(),过滤掉数组中不满足条件的值;

③ map(),遍历数组,返回一个新数组;

④ reduce(),让数组的前后两项进行某种计算,然后返回其值。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值