大战熟女丰满人妻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面試題要掌握",希望對大家有幫助,如有疑問,請在線咨詢,有專業老師隨時為您務。

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

免費課程推薦 >>
技術文檔推薦 >>
主站蜘蛛池模板: 亚洲美女黄视频 | 80s成年女人毛片免费观看观看 | 色综合久久天天综合观看 | 亚洲欧美日韩国产专区一区 | 久久精品二区 | 欧美成人专区 | 日韩视频免费一区二区三区 | 91在线丨亚洲| 免费播放欧美毛片欧美a | 日韩欧美亚洲一区精选 | 成人性色大片 | 亚洲第一成年免费网站 | 91大神在线精品视频一区 | 亚洲一区中文字幕在线 | 久草色播| 香蕉tv亚洲专区在线观看 | 欧美一区二区在线视频 | 久久天天躁夜夜躁狠狠85麻豆 | 国产v欧美v日韩在线观看 | 三上悠亚在线一区 | 有码 在线| 久久riav| 午夜精品在线视频 | 深夜福利免费观看 | 国产欧美综合精品一区二区 | 欧美啊v在线观看 | 亚洲色吧 | 久久国产精品高清一区二区三区 | 中文精品视频一区二区在线观看 | 奇米在线777在线视频 | 一级做a爱片久久蜜桃 | 色妞欧美| 成人99国产精品 | 夜色99| 黄色高清在线观看 | 久久99精品久久久久子伦小说 | 黄黄视频免费看 | 久操网址| 天天综合天天 | 91色老99久久九九爱精品 | 中文字幕日本在线观看 |