红菊直播官方版-红菊直播免费版app下载-红菊直播永久免费版下载

網(wǎng)站首頁
手機(jī)版

前端ES6高頻面試題 2021前端高級面試題

更新時(shí)間:2024-08-09 22:15作者:小樂

ES6 你能解釋一下ES5和ES6之間的區(qū)別嗎? ECMAScript 5 (ES5):ECMAScript 的第五個(gè)版本,于2009 年標(biāo)準(zhǔn)化,所有現(xiàn)代瀏覽器都完全支持該標(biāo)準(zhǔn)。

ECMAScript 6 (ES6)/ECMAScript 2015 (ES2015): ECMAscript 版本6,于2015 年標(biāo)準(zhǔn)化。該標(biāo)準(zhǔn)已在大多數(shù)現(xiàn)代瀏覽器中部分實(shí)現(xiàn)。

以下是ES5 和ES6 之間的一些主要區(qū)別:

1. 箭頭功能

constgreetings=(name)={return `hello ${name}`;} 也可以這樣寫:

const 問候語=name=`你好${name}`;2.常量

const 表示變量的原始值不能被修改。需要注意的是,const 表示對值的常量引用。我們可以更改引用對象的屬性值,但不能更改引用本身。

const NAMES=[];NAMES.push('吉姆');console.log(NAMES.length===1); //trueNAMES=['史蒂夫', '約翰']; //錯(cuò)誤3。塊作用域

在ES6 中,let 和const 將創(chuàng)建塊級作用域,并且不會像使用var 聲明的變量那樣被提升。

4. 默認(rèn)參數(shù)

默認(rèn)參數(shù)允許我們使用默認(rèn)值初始化函數(shù)。當(dāng)參數(shù)被省略或未定義時(shí),使用默認(rèn)參數(shù)值。

函數(shù)乘法(a,b=2){返回a * b;}乘法(5); //105. 類定義和繼承

ES6 引入了對類(class 關(guān)鍵字)、構(gòu)造函數(shù)(constructor 關(guān)鍵字)和extends 關(guān)鍵字(用于繼承)的語言支持。

6. for-of 運(yùn)算符

for.of 語句創(chuàng)建一個(gè)迭代可迭代對象的循環(huán)。

7. 擴(kuò)展運(yùn)算符

const obj1={ a: 1, b: 2 } const obj2={ a: 2, c: 3, d: 4} const obj3={.obj1,obj2} 8. Promise

Promise 提供了一種處理異步操作的結(jié)果和錯(cuò)誤的機(jī)制。使用回調(diào)可以完成同樣的事情,但是Promise 通過方法鏈接和簡潔的錯(cuò)誤處理來提高可讀性。

const isGreater=(a, b)={return new Promise ((resolve,reject)={if(a b) {resolve(true)} else {reject(false)}})}isGreater(1, 2) .then( result={ console.log('greater')}) .catch(result={ console.log('smaller')}) 9. 模塊導(dǎo)出和導(dǎo)入

const myModule={ x: 1, y: ()={ console.log('This is ES5') }}export default myModule;import myModule from './myModule';為什么使用ES6 類?選擇使用類的一些原因:

1.語法更簡單,不易出錯(cuò)。

2. 使用新語法比舊語法更容易(并且更不容易出錯(cuò))設(shè)置繼承層次結(jié)構(gòu)。

3.類可以避免在構(gòu)造函數(shù)中使用new的常見錯(cuò)誤(如果構(gòu)造函數(shù)不是有效對象,則使構(gòu)造函數(shù)拋出異常)。

4. 使用新語法調(diào)用父原型方法的版本比舊語法簡單得多。使用super.method() 而不是ParentConstructor.prototype.method.call(this) 或Object.getPrototypeOf(Object.getPrototypeOf(this)).method .call(this)

何時(shí)不使用箭頭函數(shù)舉出三個(gè)或更多示例1. 當(dāng)使用函數(shù)作為構(gòu)造函數(shù)時(shí)(箭頭函數(shù)沒有構(gòu)造函數(shù))

2.當(dāng)你想在函數(shù)中使用this/arguments時(shí),由于箭頭函數(shù)本身沒有this/arguments,它們依賴于外部上下文

3.當(dāng)你想讓函數(shù)提升時(shí)(箭頭函數(shù)是匿名的)

4.當(dāng)你想在對象字面量中添加一個(gè)函數(shù)作為屬性并使用其中的對象時(shí),因?yàn)槲覀儫o法訪問this,即對象本身。

6.4. ES6 Map 和WeakMap 有什么區(qū)別?當(dāng)它們的鍵/值引用的對象被刪除時(shí),它們的行為都不同,以下面的代碼為例:

var map=new Map()varweakmap=new WeakMap()(function() { var a={ x: 12}; var b={ y: 12};map.set(a, 1);weakmap.set(b, 2);})()執(zhí)行上面的IIFE,不能再引用{x: 12}和{y: 12}。垃圾收集器繼續(xù)并從WeakMap 中刪除鍵b 指針,并從內(nèi)存中刪除{y:12}。

1.在使用Map的情況下,垃圾收集器不會從Map中刪除指針,也不會從內(nèi)存中刪除{x:12}

2.WeakMap允許垃圾收集器執(zhí)行其回收任務(wù),而Map則不允許。對于手動(dòng)編寫的Map,數(shù)組將保留對關(guān)鍵對象的引用以防止垃圾回收。但在WeakMap 中,對關(guān)鍵對象的引用被“弱”保留,這意味著它們不會在不被其他對象引用的情況下阻止垃圾回收。

給出一個(gè)柯里化函數(shù)的例子并解釋柯里化的好處?柯里化是一種模式,其中具有多個(gè)參數(shù)的函數(shù)被分解為多個(gè)函數(shù),這些函數(shù)在串行調(diào)用時(shí),一次累積一個(gè)所需的所有參數(shù)。這種技術(shù)有助于以函數(shù)式風(fēng)格編寫的代碼更易于閱讀和編寫。需要注意的是,要實(shí)現(xiàn)一個(gè)函數(shù),需要從一個(gè)函數(shù)開始,然后將其分解為一系列函數(shù),每個(gè)函數(shù)接受一個(gè)參數(shù)。

函數(shù)curry(fn) {if (fn.length===0) {return fn;}function _curried(深度, args) {return 函數(shù)(newArgument) {if (深度- 1===0) {return fn(.args, newArgument);}return _curried(深度- 1, [.args, newArgument]);};}return _curried(fn.length, []);}function add(a, b) {return a + b;}var curriedAdd=curry(add);var addFive=curriedAdd(5);var result=[0, 1, 2, 3, 4, 5].map(addFive); //[5, 6, 7, 8, 9, 10]

為您推薦

初二英語測試題8(重難點(diǎn)突破、拿高分)

初二英語測試題 8一.句子翻譯1.In fact, he sometimes does not even look like a monkey.事實(shí)上,他有時(shí)甚至看起來不像一只猴子。2.At other times, he is able

2024-08-09 22:16

泛型面試題庫:20道經(jīng)典題目,助你提升泛型理解?泛型好難

泛型什么是泛型?它與類型參數(shù)化有什么不同?什么是泛型?泛型是程序設(shè)計(jì)語言的一種特性,它允許在定義類、接口、方法時(shí)使用類型參數(shù)。在真正使用時(shí)指定具體類型,所有使用該泛型參數(shù)的地方都被統(tǒng)一化,保證類型一致。類型參數(shù)化是將類型參數(shù)應(yīng)用于已有代碼的

2024-08-09 22:15

47天GRE作文備考:感恩的心(關(guān)于感恩感想感悟的作文怎么寫)

本文講述了作者在48天里面通過自己的認(rèn)真復(fù)習(xí)GRE作文,最終獲得成功的寶貴經(jīng)驗(yàn)。并最終感悟到GRE作文帶給人的好處,給后人以啟迪和教訓(xùn)。大家都是為了夢想才來考G,于是堅(jiān)持是最要緊的!我想,不要有依賴心理,朋友都是好人,家人也會幫你,但是要想

2024-08-09 22:14

GRE作文備考規(guī)劃:兩大目標(biāo)+三大步驟 gre寫作訓(xùn)練計(jì)劃

新東方小編在此與大家分享GRE寫作提綱Issue完整版,幫助各位考生盡早熟悉GRE作文題庫,提高自己的GRE作文水平。具體的規(guī)劃:目標(biāo)1:系統(tǒng)地了解GRE寫作的考試要求和應(yīng)試技巧時(shí)限:4周左右1、首先,詞匯是要堅(jiān)持背的,紅寶書的背誦不能間斷

2024-08-09 22:14

《英語三級筆譯綜合能力模擬試題》摘選 14(英語三級筆譯綜合能力樣題答案)

①"Having served in that tumultuoustime after Sept. 11 attacks, I can offer you my personal commitment, clearly and witho

2024-08-09 22:13

5月25日大陸地區(qū)GRE考試都考了些什么?(gre test at home大陸)

5月25日大陸的考試如期結(jié)束,考試結(jié)束后,真經(jīng)GRE的老師們立即采訪了從考場出來的各位同學(xué),為大家整理了考試真題的回憶內(nèi)容。希望大家認(rèn)真完成下面題目,為自己的考試做準(zhǔn)備。當(dāng)然這些題目大部分還配有巍哥、博哥、小可愛、路莎四位GRE行業(yè)的頂級名

2024-08-09 22:13

加載中...