Although I haven't used it to do some tentative tests, you can see from here that it does beautify js. Some people may think that the if statement is that simple, to what extent can it be optimized? But take a look at the following ways and you might change your mind.
1. Use common ternary operators
if (foo) bar(); else baz(); ==> foo?bar():baz(); if (!foo) bar(); else baz(); ==> foo?baz():bar(); if (foo) return bar(); else return baz(); ==> return foo?bar():baz();
You will definitely be familiar with the above use of ternary operators to optimize if statements, maybe you use it often.
2. Use the and(&&) and or(||) operators
if (foo) bar(); ==> foo&&bar(); if (!foo) bar(); ==> foo||bar();
To be honest, I have never written code like this. I am learning this way of writing from "Brother Bird's I saw it in "Linux Private Kitchen", but I didn't think of implementing it in js.
3. Omit the braces {}
if (foo) return bar(); else something(); ==> {if(foo)return bar();something()}
You and I are familiar with this writing method, but I recommend doing this when optimizing the code, or letting UglifyJS help you solve it. After all, if there is one missing curly bracket, the readability of the code is not high.
Writing this, I thought of a method for obtaining HTML element attributes in "Mastering JavaScript" by the father of jQuery.
function getAttr(el, attrName){ var attr = {'for':'htmlFor', 'class':'className'}[attrName] || attrName; };
If we don’t write it this way, we may need to use two if statements to process it. The above code is not only concise and effective, but also highly readable.
If you think about it carefully, many times we can find effective ways to solve problems, but the key lies in whether we use our heart to find a better way.
For more related articles on several optimized code writing methods for if statements in js, please pay attention to the PHP Chinese website!