Self-aggrandizing is a word that I have in mind, but it doesn't seem suitable to describe one who laughs at their own joke, even when nobody else does.
He's a _______, a person who cannot help but laugh at his own jokes
Not really sure if this word is...erm...appropriate enough for ELU, but, according to Urban Dictionary:
- One who makes one's self laugh, or a person who laughs at their own jokes.
So yeah. A hybrid between laugh and masturbate is your answer.
He's someone who cannot keep a straight face
to manage to stop yourself from smiling or laughing:
- She tried to keep a straight face but, unable to contain herself, burst into laughter.