Omitting the second expression when using the if-else shorthand

conditional-operator, javascript, shorthand, ternary-operator

Solution

This is also an option:

x==2 && dosomething();

`dosomething()` will only be called if `x==2` is evaluated to true. This is called Short-circuiting.

It is not commonly used in cases like this and you really shouldn't write code like this. I encourage this simpler approach:

if(x==2) dosomething();

You should write readable code at all times; if you are worried about file size, just create a minified version of it with help of one of the many JS compressors. (e.g Google's Closure Compiler)

Problem

Can I write the `if else` shorthand without the `else`? ``` var x=1; x==2 ? dosomething() : doNothingButContinueCode(); ``` I've noticed putting `null` for the else works (but I have no idea why or if that's a good idea). Edit: Some of you seem bemused why I'd bother trying this. Rest assured it's purely out of curiosity. I like messing around with JavaScript.

Original source

Related problems