"had better" は英文法で "助動詞" を習うときに出てくる表現です。塾で使っている高校用の英文法テキストには以下のように説明されています。

 

had better 「~したほうがいい(警告に近い助言)」:否定形 had better not ~ 

 

これだけではちょっと物足りないので、SWAN の Practical English Usage を見ると、had better を使うのは ① to give strong advice ② to tell what to do (including ourselves) の場合だという説明があります。

 

 

前向きな助言というよりは 「~しないとまずいよ」 といったニュアンスを表す表現のようです。それが上記の解説にある "警告に近い助言" ということなのでしょう。例文の "You'd better turn that music down before your dad gets angry." では 「音楽のボリュームを下げないとお父さんに怒られるよ」 という切迫感も感じられます。

 

時間の観点から見ても had better は "the immediate future" に言及するとあります。これに比べると "should" や "ought to" の方が行為の緊急度は緩いようです。上記の例文では、ought to が "one of these days(近いうちに)" と一緒に使われているのに対し、had better が "soon(すぐに)" を伴っていることからも分かります。いずれにせよ、should(ought to)よりも had better の方が "強い" ニュアンスを持っているのは意外でした。「~したほうがいい」 という日本語訳に引っ張られていた結果です。must と have to の違い と同様、had better と should(ought to) についても、本来の用法に対する理解が深まった気がします。