Home >Web Front-end >JS Tutorial >JavaScript tutorial: Methods for optimizing if abbreviated statements_javascript skills
UglifyJS is a tool for compressing and beautifying JavaScript. In its documentation, I saw several methods for optimizing if statements. 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 operator to optimize if statements, maybe you use it often.
Example given by Script House:
Output result:
100
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 saw this way of writing when I was studying "Brother Niao's Linux Private Cooking", but I didn't expect to implement 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 are diligent in finding a better way.
[javascript skills] if(x==null) abbreviation
if(x==null) or if (typeof (x) == 'undefined') can be abbreviated as if(!x), which is not verified.
On the contrary if(x) means x is not empty
Determine whether the object exists
javascript || && abbreviation if