您好,登錄后才能下訂單哦!
這篇文章的內(nèi)容主要圍繞如何進行ES6的面試題解答進行講述,文章內(nèi)容清晰易懂,條理清晰,非常適合新手學習,值得大家去閱讀。感興趣的朋友可以跟隨小編一起閱讀吧。希望大家通過這篇文章有所收獲!
ES6全稱是ECMAScript6,它可以幫助JavaScript語言成為企業(yè)級開發(fā)語言,編寫大型且復(fù)雜的應(yīng)用程序。在前端面試中,ES6也是一個經(jīng)常出現(xiàn)的考點。本文整理匯總了ES6相關(guān)的面試題以及對應(yīng)的參考答案,大家可以在面試前梳理一遍相關(guān)知識點,用最好的狀態(tài)去迎接面試。
1.聊聊 promise?
promise 是一個異步函數(shù),主要是為了解決異步處理回調(diào)地獄(也就是循環(huán)嵌套的問題)而產(chǎn)生的,有 3 種狀態(tài),F(xiàn)ulfilled 為成功的狀態(tài), Rejected 為失敗的狀態(tài),Pending 既不是 Fulfilld 也不是 Rejected 的狀態(tài),可以理解為 Promise 對象實例創(chuàng)建時候的初始狀態(tài),要會寫 promise 這個方法。
2、ES6特性你了解多少?如果遇到一個東西不知道是ES6還是ES5,你改如何區(qū)分?
常用的es6新特性:let && const;let 命令也用于聲明對象,但是作用域為局部;iterable 類型。為了統(tǒng)一集合類型,ES6 標準引入了新的 iterable 類型,Array、Map 和 Set 都屬于 iterable 類型,具有 iterable 類型的集合可以通過新的for … of 循環(huán)來遍歷。es6 比 es5 增加了很多特殊的方法,如果你遇到了這些特殊的方法, 你就可以確定它是 es6。如果你的代碼中沒有引用這些特殊的方法,那我們就可以認為他是es5 的。所以前提你需要了解 es6 的語法才能做判斷,高頻使用的特性有箭頭函數(shù)、解構(gòu)賦值、let、const。
3、ES6 的繼承和 ES5 的繼承有什么區(qū)別?
es5 的繼承是通過原型或者是構(gòu)造函數(shù)機制來實現(xiàn),es6 用過 class 關(guān)鍵字定義類,里面有構(gòu)造方法,類之間通過 extends 關(guān)鍵字實現(xiàn),子類必須在 constructor 方法中調(diào)用 super 方法。
4、let 和 const 的優(yōu)點?
let 和 const 有了塊級作用域,變量聲明不會提升相比于 var。
5、ES6 generator 是什么,async / await 實現(xiàn)原理?
generator 函數(shù)就是一個封裝的異步任務(wù),也就是異步任務(wù)的容器,執(zhí)行Generator 函數(shù)會返回一個遍歷器對象,async 函數(shù)的實現(xiàn), 就是將Generator 函數(shù)和自動執(zhí)行器,包裝在一個函數(shù)里。
6、ES6 和 node 的 commonjs 模塊化規(guī)范的區(qū)別。
ES6是Js的增強版,是Js的語法規(guī)范,commonjs 都只是為了解決Js文件之間的依賴和引用問題,所以是一種Js的包管理規(guī)范,其中的代表是Node遵循commonjs規(guī)范。
7、箭頭函數(shù),以及他們的this。
所謂的箭頭函數(shù)是在寫法上面很簡便和之前相比,類似于:(a,b)=>{returna+b;},箭頭函數(shù)的 this 默認指向在定義它時,它所處的對象,而不是執(zhí)行時的對象, 定義它的時候,可能環(huán)境是 window(即繼承父級的 this)。
感謝你的閱讀,相信你對“如何進行ES6的面試題解答”這一問題有一定的了解,快去動手實踐吧,如果想了解更多相關(guān)知識點,可以關(guān)注億速云網(wǎng)站!小編會繼續(xù)為大家?guī)砀玫奈恼拢?/p>
免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。