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

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

免費課程推薦 >>
技術文檔推薦 >>
主站蜘蛛池模板: 成年女人毛片 | 天天干天天舔天天射 | 国内永久第一免费福利视频 | 四虎影视永久免费视频观看 | 亚洲精品免费在线 | 国产在线成人精品 | 色激情五月| 国产成人久久久精品毛片 | 国产午夜成人无码免费看 | 国产精品免费_区二区三区观看 | 欧洲亚洲综合一区二区三区 | 日日夜夜嗷嗷叫 | 亚洲精品第一区二区在线 | 国自产拍在线天天更新91 | 久久ri精品高清一区二区三区 | 久久精品国产69国产精品亚洲 | 99在线精品免费视频九九视 | 久久久免费观成人影院 | 可以直接看的毛片 | 女人l8毛片a一级毛片免费 | 大片在线播放日本一级毛片 | 亚洲国产精品xo在线观看 | 色涩网站 | 日本最新免费二区三区 | 四虎影视永久地址www成人污 | 91精品全国免费观看青青 | 国产最新在线视频 | 国产在线看不卡一区二区 | 国产乱子伦一级毛片 | 日本一级特级毛片视频 | 9久热这里只有精品视频在线观看 | 日韩欧美区| 不卡在线观看 | 国产在线观看中文字幕 | 欧美亚洲精品小说一区二三区 | 国产品精人成福利视频 | 亚洲精品无人区一区二区三区 | 国产精品美女一区二区三区 | 天堂国产 | 日韩一级特黄毛片在线看 | 亚洲va高清中文字幕 |