大战熟女丰满人妻av-荡女精品导航-岛国aaaa级午夜福利片-岛国av动作片在线观看-岛国av无码免费无禁网站-岛国大片激情做爰视频

專注Java教育14年 全國咨詢/投訴熱線:400-8080-105
動力節點LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁 學習攻略 職業指南 想成為開發程序員,這套es6面試題要掌握

想成為開發程序員,這套es6面試題要掌握

更新時間:2023-01-14 14:59:10 來源:動力節點 瀏覽1221次

1、es5和es6的區別,說一下你所知道的es6

ECMAScript5,即ES5,是ECMAScript的第五次修訂,于2009年完成標準化ECMAScript6,即ES6,是ECMAScript的第六次修訂,于2015年完成,也稱ES2015ES6是繼ES5之后的一次改進,相對于ES5更加簡潔,提高了開發效率ES6新增的一些特性:

1)let聲明變量和const聲明常量,兩個都有塊級作用域ES5中是沒有塊級作用域的,并且var有變量提升,在let中,使用的變量一定要進行聲明

2)箭頭函數ES6中的函數定義不再使用關鍵字function(),而是利用了()=>來進行定義

3)模板字符串模板字符串是增強版的字符串,用反引號(`)標識,可以當作普通字符串使用,也可以用來定義多行字符串

4)解構賦值ES6 允許按照一定模式,從數組和對象中提取值,對變量進行賦值

5)for of循環for...of循環可以遍歷數組、Set和Map結構、某些類似數組的對象、對象,以及字符串

6)import、export導入導出ES6標準中,Js原生支持模塊(module)。將JS代碼分割成不同功能的小塊進行模塊化,將不同功能的代碼分別寫在不同文件中,各模塊只需導出公共接口部分,然后通過模塊的導入的方式可以在其他地方使用

7)set數據結構Set數據結構,類似數組。所有的數據都是唯一的,沒有重復的值。它本身是一個構造函數

8)... 展開運算符可以將數組或對象里面的值展開;還可以將多個值收集為一個變量

9)修飾器 @decorator是一個函數,用來修改類甚至于是方法的行為。修飾器本質就是編譯時執行的函數

10)class 類的繼承ES6中不再像ES5一樣使用原型鏈實現繼承,而是引入Class這個概念11)async、await使用 async/await, 搭配promise,可以通過編寫形似同步的代碼來處理異步流程, 提高代碼的簡潔性和可讀性async 用于申明一個 function 是異步的,而 await 用于等待一個異步方法執行完成

12)promisePromise是異步編程的一種解決方案,比傳統的解決方案(回調函數和事件)更合理、強大

13)SymbolSymbol是一種基本類型。Symbol 通過調用symbol函數產生,它接收一個可選的名字參數,該函數返回的symbol是唯一的

14)Proxy代理使用代理(Proxy)監聽對象的操作,然后可以做一些相應事情

2、var、let、const之間的區別

var聲明變量可以重復聲明,而let不可以重復聲明

var是不受限于塊級的,而let是受限于塊級

var會與window相映射(會掛一個屬性),而let不與window相映射

var可以在聲明的上面訪問變量,而let有暫存死區,在聲明的上面訪問變量會報錯

const聲明之后必須賦值,否則會報錯

const定義不可變的量,改變了就會報錯

const和let一樣不會與window相映射、支持塊級作用域、在聲明的上面訪問變量會報錯

3、使用箭頭函數應注意什么?

(1)用了箭頭函數,this就不是指向window,而是父級(指向是可變的)

(2)不能夠使用arguments對象

(3)不能用作構造函數,這就是說不能夠使用new命令,否則會拋出一個錯誤

(4)不可以使用yield命令,因此箭頭函數不能用作 Generator 函數

4、ES6的模板字符串有哪些新特性?并實現一個類模板字符串的功能

基本的字符串格式化。

將表達式嵌入字符串中進行拼接。

用${}來界定在ES5時我們通過反斜杠()來做多行字符串或者字符串一行行拼接。

ES6反引號(``)就能解決類模板字符串的功能

let name = 'web';
let age = 10;
let str = '你好,${name} 已經 ${age}歲了'
str = str.replace(/\$\{([^}]*)\}/g,function(){
     return eval(arguments[1]);
   })
console.log(str);//你好,web 已經 10歲了

5、介紹下 Set、Map的區別?

應用場景Set用于數據重組,Map用于數據儲存Set:

(1)成員不能重復

(2)只有鍵值沒有鍵名,類似數組

(3)可以遍歷,方法有add, delete,has

Map:

(1)本質上是健值對的集合,類似集合

(2)可以遍歷,可以跟各種數據格式轉換

6、ECMAScript 6 怎么寫 class ,為何會出現 class?

ES6的class可以看作是一個語法糖,它的絕大部分功能ES5都可以做到,新的class寫法只是讓對象原型的寫法更加清晰、更像面向對象編程的語法

//定義類
class Point { 
  constructor(x,y) { 
      //構造方法
       this.x = x; //this關鍵字代表實例對象
       this.y = y; 
  } toString() {
       return '(' + this.x + ',' + this.y + ')'; 
  }
}

7、Promise構造函數是同步執行還是異步執行,那么 then 方法呢?

promise構造函數是同步執行的,then方法是異步執行的

8、setTimeout、Promise、Async/Await 的區別

事件循環中分為宏任務隊列和微任務隊列

其中setTimeout的回調函數放到宏任務隊列里,等到執行棧清空以后執行promise.then里的回調函數會放到相應宏任務的微任務隊列里,等宏任務里面的同步代碼執行完再執行async函數表示函數里面可能會有異步方法,await后面跟一個表達式

async方法執行時,遇到await會立即執行表達式,然后把表達式后面的代碼放到微任務隊列里,讓出執行棧讓同步代碼先執行

9、promise有幾種狀態,什么時候會進入catch?

三個狀態:

pending、fulfilled、reject

兩個過程:

padding -> fulfilled、padding -> rejected當pending為rejectd時,會進入catch

以上就是動力節點小編介紹的"想成為開發程序員,這套es6面試題要掌握",希望對大家有幫助,如有疑問,請在線咨詢,有專業老師隨時為您務。

提交申請后,顧問老師會電話與您溝通安排學習

免費課程推薦 >>
技術文檔推薦 >>
主站蜘蛛池模板: 精品人人做人人爽久久久 | 一级毛片看看 | 九一视频在线免费观看 | 五月久久婷婷综合片丁香花 | 国产高清国产专区国产精品 | 天码毛片一区二区三区入口 | 精品国产乱码一区二区三区麻豆 | 国产乱码| 天堂素人在线 | 国产一区在线免费观看 | 中文字幕在线观看国产 | 亚洲日日做天天做日日谢 | 成人免费视频在线看 | 美女很黄很黄免费的 | 久热国产精品 | 亚洲国产精品a一区二区三区 | 久久99影院网久久久久久 | 奇米影视777欧美在线观看 | 一区二区在线精品免费视频 | 欧美深夜影院 | 视频一区二区三区在线 | 搡女人免费的视频 | 在线精品国产第一页 | 国产精品美女www爽爽爽视频 | 成熟的女性强烈交性视频 | 久久久91精品国产一区二区三区 | 国产成+人+综合+亚洲专 | 日本不卡专区 | 欧美性色生活片天天看99 | 免费a级在线观看完整片 | 国产尤物视频在线 | 亚洲精品国产免费 | 日本一区二区在线播放 | 国内精品久久久久久久影视麻豆 | xxxx国产片| 女人与女zzzoooxxxx | 精品视频一区在线观看 | 欧美激情免费观看一区 | 欧美aaaa在线观看视频免费 | 精品久久久久久无码中文字幕 | 中国一级特黄特级毛片 |