?要判斷一個(gè)程序員是不是好的程序員,看他寫(xiě)的代碼就可以略知一二,因?yàn)槌绦騿T最重要的事是寫(xiě)代碼。
好的程序員寫(xiě)的代碼,整潔而規(guī)范,視覺(jué)上自然有一種美感。好的程序員采用一致的簡(jiǎn)寫(xiě)規(guī)則,差的程序員則時(shí)而不簡(jiǎn)寫(xiě),時(shí)而簡(jiǎn)寫(xiě)。
今天w3cschool小編我給大家整理了一份10個(gè)程序員常用的代碼簡(jiǎn)寫(xiě)技術(shù),讓你的代碼書(shū)簡(jiǎn)寫(xiě)整潔規(guī)范有美感,下面就一起來(lái)了解一下這些代碼!
1、對(duì)象屬性簡(jiǎn)寫(xiě)
如果屬性名與key名相同,就可以采用ES6的方法:
const obj = { x:x, y:y };
簡(jiǎn)寫(xiě):
const obj = { x, y };
2、聲明變量簡(jiǎn)寫(xiě)方法
let x;let y;let z = 3;
簡(jiǎn)寫(xiě)方法:
let x, y, z=3;
3、三元操作符
當(dāng)想寫(xiě)if…else語(yǔ)句時(shí),使用三元操作符來(lái)代替。
const x = 20;let answer;if (x > 10) {
簡(jiǎn)寫(xiě):
const answer = x > 10 ? 'is greater' : 'is lesser';
當(dāng)然也可以嵌套if語(yǔ)句:
const big = x > 10 ? " greater 10" : x
4、短路求值簡(jiǎn)寫(xiě)方式
當(dāng)給一個(gè)變量分配另一個(gè)值時(shí),如果想要確定源始值不是null,undefined或空值,我們可以使用短路求值方法:
const variable2 = variable1 || 'new';
可以寫(xiě)撰寫(xiě)一個(gè)多重條件的if語(yǔ)句。
5、if存在條件簡(jiǎn)寫(xiě)方法
if (likeJavaScript === true)
簡(jiǎn)寫(xiě):
if (likeJavaScript)
只有l(wèi)ikeJavaScript是真值時(shí),二者語(yǔ)句才相等
如果判斷值不是真值,則可以這樣:
let a;if ( a !== true ) {// do something...}
簡(jiǎn)寫(xiě):
let a;if ( !a ) {// do something...}
6、隱式返回值簡(jiǎn)寫(xiě)
經(jīng)常使用return語(yǔ)句來(lái)返回函數(shù)最終結(jié)果,一個(gè)單獨(dú)語(yǔ)句的箭頭函數(shù)能隱式返回其值(函數(shù)必須省略
{}為了省略return關(guān)鍵字)為返回多行語(yǔ)句(例如對(duì)象字面表達(dá)式),則需要使用()包圍函數(shù)體。
簡(jiǎn)寫(xiě):
7、JavaScript循環(huán)簡(jiǎn)寫(xiě)方法
for (let i = 0; i < allImgs.length; i++)
簡(jiǎn)寫(xiě):
for (let index in allImgs)
也可以使用Array.forEach:
8、短路評(píng)價(jià)
給一個(gè)變量分配的值是通過(guò)判斷其值是否為null或undefined,則可以:
let dbHost;if (process.env.DB_HOST) {
簡(jiǎn)寫(xiě):
const dbHost = process.env.DB_HOST || 'localhost';
9、十進(jìn)制指數(shù)
當(dāng)需要寫(xiě)數(shù)字帶有很多零時(shí)(如10000000),可以采用指數(shù)(1e7)來(lái)代替這個(gè)數(shù)字:
for (let i = 0; i < 10000; i++) {}
簡(jiǎn)寫(xiě):
10、箭頭函數(shù)簡(jiǎn)寫(xiě)
傳統(tǒng)函數(shù)編寫(xiě)方法讓人非常容易理解和編寫(xiě),但是倘若是嵌套在另一個(gè)函數(shù)中,這些優(yōu)勢(shì)就會(huì)消失。
function sayHello(name) { console.log('Hello', name);
簡(jiǎn)寫(xiě):
sayHello = name => console.log('Hello', name);