gogogo
管理员
管理员
  • UID25
  • 粉丝0
  • 关注0
  • 发帖数1384
阅读:5539回复:1

前端关于ES6的面试题汇总含答案

楼主#
更多 发布于:2020-03-17 22:58

ES6全称是ECMAScript6,它可以帮助JavaScript语言成为企业级开发语言,编写大型且复杂的应用程序。在前端面试中,ES6也是一个经常出现的考点。本文整理汇总了ES6相关的面试题以及对应的参考答案,大家可以在面试前梳理一遍相关知识点,用最好的状态去迎接面试。

    1.聊聊 promise?

    promise 是一个异步函数,主要是为了解决异步处理回调地狱(也就是循环嵌套的问题)而产生的。

          promise 有 3 种状态,Fulfilled 为成功的状态, Rejected 为失败的状态,Pending 既不是 Fulfilld 也不是 Rejected 的状态,可以理解为 Promise 对象实例创建时候的初始状态,要会写 promise 这个方法。

    2、ES6特性你了解多少?如果遇到一个东西不知道是ES6还是ES5,你该如何区分?

    常用的es6新特性:let && const;let 命令也用于声明对象,但是作用域为局部;

    iterable 类型。为了统一集合类型,ES6 标准引入了新的 iterable 类型,Array、Map 和 Set 都属于 iterable 类型,具有 iterable 类型的集合可以通过新的for … of 循环来遍历。

    es6 比 es5 增加了很多特殊的方法,如果你遇到了这些特殊的方法, 你就可以确定它是 es6。

    如果你的代码中没有引用这些特殊的方法,那我们就可以认为他是es5 的。

    所以前提你需要了解 es6 的语法才能做判断,高频使用的特性有箭头函数、解构赋值、let、const。

    3、ES6 的继承和 ES5 的继承有什么区别?

    es5 的继承是通过原型或者是构造函数机制来实现,es6 用过 class 关键字定义类,里面有构造方法,

    类之间通过 extends 关键字实现,子类必须在 constructor 方法中调用 super 方法。

    4、let 和 const 的优点?

    let 和 const 有了块级作用域,变量声明不会提升相比于 var。

    5、ES6 generator 是什么,async / await 实现原理?

    generator 函数就是一个封装的异步任务,也就是异步任务的容器,执行Generator 函数会返回一个遍历器对象,async 函数的实现, 就是将Generator 函数和自动执行器,包装在一个函数里。

    6、ES6 和 node 的 commonjs 模块化规范的区别。

    ES6是Js的增强版,是Js的语法规范,commonjs 都只是为了解决Js文件之间的依赖引用问题,

    所以是一种Js的包管理规范,其中的代表是Node遵循commonjs规范。

    7、箭头函数,以及他们的this。

    所谓的箭头函数是在写法上面很简便和之前相比,类似于:(a,b)=>{returna+b;},箭头函数的 this 默认指向

    在定义它时,它所处的对象,而不是执行时的对象, 定义它的时候,可能环境是 window(即继承父级的 this)。

    以上就是前端关于ES6的面试题汇总以及答案。大家要是对于前端问题有人任何的问题,可以在线咨询,或是在留言板给我们留言。

gogogo
管理员
管理员
  • UID25
  • 粉丝0
  • 关注0
  • 发帖数1384
沙发#
发布于:2020-03-17 22:58
游客


返回顶部