關(guān)于ES6的六個(gè)小特性(二)
前言
Javascript 團(tuán)體的每個(gè)人都喜歡新的API,語法更新以及特性,它們提供了更好的,更智能,更有效的方式以完成重要的任務(wù)。
繼上一篇的 《簡單談?wù)凟S6的六個(gè)小特性》,這次我再分享6個(gè)可以減少代碼和最大化效率的方法。
1.Object Shorthand
新的對象聲明方法允許我們可以不聲明對象的 key :
var x = 12; var y = yes; var z = {one:'1',two:'2'}; // The old way var obj = { x:x, y:y, z:z } // The new way var obj = {x,y,z};
2.Method Properties
避免 function 關(guān)鍵字聲明函數(shù):
var davidwalsh = { makeItHappen(param){ // do stuff } }
必須承認(rèn)去除掉 function 關(guān)鍵字確實(shí)使代碼簡潔、更好維護(hù)。
3.Blocks vs Immediately Executed Functions
下面創(chuàng)建立即執(zhí)行方法的模式有點(diǎn)難看:
(function(){ // do stuff })();
通過ES6我們可以通過 {} 和 let 來創(chuàng)建塊級作用于,完成立即執(zhí)行函數(shù)的作用:
{ let j = 12; let divs = document.querySelectorAll('div'); // do stuff } j; // ReferenceError: j is not defined...
如果在 Block 內(nèi)部聲明函數(shù),它將會(huì)被外部訪問到。但你如果使用 let 關(guān)鍵字聲明函數(shù)自變量,將不使用括號的情況下實(shí)現(xiàn) IEF 的功能。
4. for loops and let
因?yàn)樵贘S里面會(huì)存在變量提升,我們經(jīng)常會(huì)在作用域前面聲明一些”無用”的迭代變量,例如(for var x = …)。ES6 使用 let 解決了此惱人的問題:
for(let x = 0; x < len; i++){ //do stuff } x; // ReferenceError: x is not defined
不久以后 let 會(huì)被應(yīng)用的更多。
5.get and set for Classes
class Cart{ constructor(total){ this._total = total; } get total(){return this._total;} set total(v){this._total = Number(v);} } var cart = new Cart(100); cart.total // 100
能為屬性設(shè)置 get、set 是這部分最棒的。不需要使用函數(shù)來進(jìn)行特殊的設(shè)定–當(dāng)執(zhí)行 obj.prop = {value} 時(shí),一切都會(huì)自動(dòng)執(zhí)行。
6.startsWith,endsWith and includes
"MooTools".startsWith("Moo"); // true; "MooTools".startsWith("moo"); // false; "MooTools".endsWith("Tools"); // true; "MooTools".includes("oo"); // true;
注:includes 方法兼容性還是很多,曾有一個(gè)線上bug,就是因?yàn)椴恢С执朔椒▽?dǎo)致的。
原文:https://davidwalsh.name/es6-features-ii/amp
總結(jié)
以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家學(xué)習(xí)或者工作能帶來一定的幫助,如果有疑問大家可以留言交流。
相關(guān)文章
基于JS實(shí)現(xiàn)移動(dòng)端訪問PC端頁面時(shí)跳轉(zhuǎn)到對應(yīng)的移動(dòng)端網(wǎng)頁
不想通過CSS自適應(yīng)在PC端和移動(dòng)端分別顯示不同的樣式,那么只能通過在移動(dòng)端訪問PC端網(wǎng)頁時(shí)跳轉(zhuǎn)到對應(yīng)的移動(dòng)端網(wǎng)頁了,那么怎么跳轉(zhuǎn)呢,網(wǎng)上也有很多文章說明,以下實(shí)現(xiàn)思路經(jīng)過小編測試過,需要的朋友可以參考下2016-04-04JS代碼實(shí)現(xiàn)百度地圖 畫圓 刪除標(biāo)注
這篇文章主要介紹了JS代碼實(shí)現(xiàn)百度地圖 畫圓 刪除標(biāo)注的相關(guān)資料,實(shí)現(xiàn)此功能的設(shè)計(jì)思路非常明確,代碼簡單易懂,非常不錯(cuò),具有參考借鑒價(jià)值,感興趣的朋友參考下吧2016-10-10詳解javascript實(shí)現(xiàn)自定義事件
這篇文章主要為大家介紹了javascript實(shí)現(xiàn)自定義事件的方法,自定義事件,顧名思義,就是自己定義事件類型,自己定義事件處理函數(shù),javascript如何實(shí)現(xiàn)自定義事件,需要了解的朋友可以參考下2016-01-01javascript中&&運(yùn)算符與||運(yùn)算符的使用方法實(shí)例
&&和||總是傻傻分不清,在這里詳細(xì)記錄一下吧,也給你們分享一下,所以這篇文章主要給大家介紹了關(guān)于javascript中&&運(yùn)算符與||運(yùn)算符的使用方法,需要的朋友可以參考下2021-11-11js中利用cookie實(shí)現(xiàn)記住密碼功能
這篇文章主要為大家詳細(xì)介紹了js中利用cookie實(shí)現(xiàn)記住密碼功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-10-10一文教會(huì)你如何在JavaScript中使用展開運(yùn)算符
展開運(yùn)算符(spread operator)允許一個(gè)表達(dá)式在某處展開,下面這篇文章主要給大家介紹了關(guān)于如何通過一文教會(huì)你如何在JavaScript中使用展開運(yùn)算符的相關(guān)資料,需要的朋友可以參考下2022-10-10JS實(shí)現(xiàn)適合于后臺使用的動(dòng)畫折疊菜單效果
這篇文章主要介紹了JS實(shí)現(xiàn)適合于后臺使用的動(dòng)畫折疊菜單效果,實(shí)例展示了兩種折疊菜單顯示效果,涉及JavaScript響應(yīng)鼠標(biāo)事件動(dòng)態(tài)遍歷及改變頁面元素樣式的實(shí)現(xiàn)技巧,需要的朋友可以參考下2015-09-09