In many programming languages, you have function parameters:
function Something(param1, param2, param3) { }
However, it seems that function parameters can also appear as the following:
function Something({param1, param2, param3}) { }
What is the difference between these two notations in JavaScript? Which one is better in which circumstances?