How does $.post work on the data passed to it ?

How does $.post work on the data passed to it ?

In jquery a $.post method can be used in the following way:
  1.     $.post('fileupload.php', { data: result, name: fileName }, function(){ console.log('yeeey'); });
see how the secound parameter is a plain object , and PHP the data can be picked up like so:
  1. $data = $_POST['data'];
  2. $fileName = $_POST['name']; 
how can the parameters of a object be read in this fashion ? or is it that $.pos() method internally uses $.param to convert the object literal passed to it in the 2nd parameter to a string ? is that the case ? 

Thank you.