Great question, Hoon. Most native speakers are unaware that in normal speech, the "h" is usually only pronounced at (1) the beginning of a phrase or (2) at the beginning of an accented syllable. The word "has," as an auxiliary verb, is unaccented, so the "h" is dropped in the middle of a phrase. Sometimes, this is written as 's but even if the full form is intended, the "h" will usually be dropped in pronunciation. This is true in US, UK, and other standard varieties of English. This has been true throughout the entire history of English, as witnessed by the spelling of words in Middle English, as well as a comparison to other Germanic languages. (For example, the English word "it" is the Dutch word "het.")