2016-12-02 14 views
-6

有沒有一種簡短的方式來寫下面的if語句,而不使用下面概述的hacky(至少不太清楚)方法?if(true){doStuff()}的速記?

if (isTireFlat){ 
    fixTire(); 
} 

短路:

isTireFlat && fixTire(); 

!isTireFlat || fixTire() 

三元:

//not really usable due to return/useless variable assignment 
return isTireFlat ? fixTire() : '' 
+2

我不得不問。爲什麼? – Archer

+0

是的。

+0

您已將其縮小到最多3行,最少爲1.我不確定您想要的縮短多少。如果你可以設計自己的*速記,那甚至會是什麼樣子? –

回答

1

只是你已經離開了只有一個是if免費的括號, :

if (isTireFlat) fixTire(); 

請注意,這不是要主張這樣做。只是指出您尚未涉及的選項。

+0

Linters不喜歡單行如果沒有大括號的聲明,這就是爲什麼我不這樣做。但是,ty是有道理的。 – VSO

+2

@VSO你可以配置你的linter喜歡這種風格。 ESLint很簡​​單。 –

+5

@VSO:我也沒有。:-)我更願意編寫'if'(帶括號); minification是用於minifiers,而不是程序員。但那是*意見*。 ;-) –