您好,登錄后才能下訂單哦!
本篇內容主要講解“有哪些編寫短小精煉的JS代碼小技巧”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“有哪些編寫短小精煉的JS代碼小技巧”吧!
Javascript 里的邏輯運算符與(&&)
可以產生短路,例如
console.log(true && 0 && 2); // 0 console.log(true && 'test' && 2) // 2
即代碼從左往右,如果遇到undefined
,null
,0
等等會被轉化為false
的值時就不再繼續運行。
x == 0 && foo() // 等價于 if( x == 0 ){ foo() }
假設有一個對象
const student = { name : { firstName : 'Joe' } }
我們希望firstname存在的情況下做一些事情, 我們不得不一層一層檢查
if(student && student.name && student.name.firstName){ console.log('student First name exists') }
采用鏈判斷運算符會在某一層取不到值的時候停止并返回undefined
if(student?.name?.firstName){ console.log('student First name exists') }
我們有時候會使用三元運算來簡化if...else...
或者返回一個默認值
const foo = () => { return student.name?.firstName ? student.name.firstName : 'firstName do not exist' } console.log(foo())
這種情況,我們可以通過空值合并進一步簡化代碼
const foo = () => { return student.name?.firstName ?? 'firstName do not exist' } console.log(foo())
很像或||
運算符,但??
只對undefined
和 null
起作用,可以避免值是0麻煩
例如
const foo = () => { if(x<1) { return 'x is less than 1' } else { if(x > 1){ return 'x is greater than 1' } else { return 'x is equal to 1' } } }
通過刪除 else 條件可以使 if else 嵌套變得不那么復雜,因為 return 語句將停止代碼執行并返回函數
const foo = () => { if(x<1){ return 'less than 1' } if(x>1){ return 'x is greater than 1' } return 'x is equal to 1' }
好的代碼不一定要追求盡可能的短,有時候過于精簡的代碼會使debug的過程更加麻煩,所以可讀性才是最重要的,特別是在多人協作的情況下。
到此,相信大家對“有哪些編寫短小精煉的JS代碼小技巧”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。