It does not have aim assist on PC, but the server uses a system called "favor the shooter".
It just means that when the server and the client and all that resync, if one of them registers a "hit" it will assume one was made, even if one of them, your client, the enemies client, or the server register a miss. They put it in because they felt in this instance, it's more fun to get a hit that looks like it was a little off, then a clear visual hit that comes back as a miss because the server told it so.
BTW to change the subject, you ever have a night where you log on, play one game, and play that one game so well you just log off, because you worry you will jinx the next few games? I just had one of those. Was playing Mystery Heroes on Junkertown and we were doing pretty good, but then we got stopped by a really slippery Torbjorn on the balcony that my team couldn't seem to deal with because they always spread out, rather then going with a clean push to take him out. I finally killed him with an Ana and got us going towards Point B, but a Widow killed me and it rolled me to Bastion. As much as I love Bastion, I felt like I was going to be fodder considering how spread the group was.
So I decided to go a different way, and spread out myself. I would pop up in windows, stairways, doors, always moving to the next spot, shooting at a few people not really to get kills, but just to throw them off balance (though I did get a few kills too). By the time we passed Point B and were heading to C, the other team was out for my blood. A reaper came at me first and almost go me, but I was able to run to my teammates and they killed him before he could do the kill shot (man healing on the move is the best). Second time, a Junkrat thought he cornered me on a stairway, but I turned around and ran backwards while using the narrowness of the hall to pop him in the head dead. We steam rolled all the way to the end with me just popping out high, then low, then high again, before finally getting ult and screaming out a side door near C, blowing up three of them and getting the win and the POTG.
It was probably my best Bastion play in awhile, so I decided to end on a high note and get some work done. Haha.