JavaScript中最常用的10種代碼簡寫技巧總結
前言
本文主要給大家整理了一份10個程序員常用的代碼簡寫技術,看懂一種是入門,全懂就是大神,你能知道幾個呢?下面話不多說了,來看看詳細的介紹:
一、三元操作符
當想寫if…else語句時,使用三元操作符來代替。
const x = 20;let answer;if (x > 10) {
簡寫:
const answer = x > 10 ? 'is greater' : 'is lesser';
也可以嵌套if語句:
const big = x > 10 ? " greater 10" : x
二、短路求值簡寫方式
當給一個變量分配另一個值時,想確定源始值不是null,undefined或空值??梢詫懽珜懸粋€多重條件的if語句。

或者可以使用短路求值方法:
const variable2 = variable1 || 'new';
三、聲明變量簡寫方法
let x;let y;let z = 3;
簡寫方法:
let x, y, z=3;
四、if存在條件簡寫方法
if (likeJavaScript === true)
簡寫:
if (likeJavaScript)
只有l(wèi)ikeJavaScript是真值時,二者語句才相等
如果判斷值不是真值,則可以這樣:
let a;if ( a !== true ) {// do something...}
簡寫:
let a;if ( !a ) {// do something...}
五、JavaScript循環(huán)簡寫方法
for (let i = 0; i < allImgs.length; i++)
簡寫:
for (let index in allImgs)
也可以使用Array.forEach:

六、短路評價
給一個變量分配的值是通過判斷其值是否為null或undefined,則可以:
let dbHost;if (process.env.DB_HOST) {
簡寫:
const dbHost = process.env.DB_HOST || 'localhost';
七、十進制指數(shù)
當需要寫數(shù)字帶有很多零時(如10000000),可以采用指數(shù)(1e7)來代替這個數(shù)字:
for (let i = 0; i < 10000; i++) {}
簡寫:

八、對象屬性簡寫
如果屬性名與key名相同,則可以采用ES6的方法:
const obj = { x:x, y:y };
簡寫:
const obj = { x, y };
九、箭頭函數(shù)簡寫
傳統(tǒng)函數(shù)編寫方法很容易讓人理解和編寫,但是當嵌套在另一個函數(shù)中,則這些優(yōu)勢就蕩然無存。
function sayHello(name) { console.log('Hello', name);
簡寫:
sayHello = name => console.log('Hello', name);
十、隱式返回值簡寫
經(jīng)常使用return語句來返回函數(shù)最終結果,一個單獨語句的箭頭函數(shù)能隱式返回其值(函數(shù)必須省略
{}為了省略return關鍵字)為返回多行語句(例如對象字面表達式),則需要使用()包圍函數(shù)體。

簡寫:

總結
以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學習或者工作能帶來一定的幫助,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。
相關文章
JavaScript實現(xiàn)網(wǎng)頁五子棋小游戲
這篇文章主要為大家詳細介紹了JavaScript實現(xiàn)網(wǎng)頁五子棋小游戲,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2022-06-06
深入理解JavaScript系列(35):設計模式之迭代器模式詳解
這篇文章主要介紹了深入理解JavaScript系列(35):設計模式之迭代器模式詳解,迭代器模式(Iterator):提供一種方法順序一個聚合對象中各個元素,而又不暴露該對象內(nèi)部表示,需要的朋友可以參考下2015-03-03
淺談關于JS下大批量異步任務按順序執(zhí)行解決方案一點思考
這篇文章主要介紹了淺談關于JS下大批量異步任務按順序執(zhí)行解決方案一點思考,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2019-01-01
uni-app使用countdown插件實現(xiàn)倒計時
這篇文章主要為大家詳細介紹了uni-app使用countdown插件實現(xiàn)倒計時,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2020-11-11

