Q:

Please explain this line of javascript code

jBox.prototype.position = function (options)
{
  // this line
  !options && (options = {});

}

In conventional programming boolean statements are used in if else statements.
What does  !options && (options = {}); translate too?
options is a json or array. What does !options mean?
options = {} is assigning a  empty json to variable options, how does it return a boolean value to be used  with &&.

A:

The code:
!options && (options = {});

is the equivalent of:
if(!options) { 
    options = {}; 
}

