時間を表わす英単語について

[新着] Webテンプレートを仮オープンしました



0   名前: biola : 2006/12/15(金) 18:17  ID:.HA1OGe3
Javascriptを始めたばかりの者です。
時間を表わす単語がありますが、とても気になっているので
どなたか理由をお聞かせくださればとてもうれしいです。

getDate()という単語に括弧のついたもの(こういうのをなんというのか知りません)
がありますが、どうしてこれとgetYear()だけ単数なのでしょうか。
他のものはみな複数形です。たとえば、getHours()とかgetMinutes()とか。
日や年も複数形でなければおかしいと思いますが、
getDates()とやったら、使われていないプロパティ(そうですね、これはプロパティと
呼ぶんでしょうね。時間がないのでそのままにしておきます)だとエラーになりました。
ぜったいにgetDates()の方が正しいと思うんですが、何か理由があるんでしょうか?


1   名前: ひろ : 2006/12/15(金) 18:17  ID:AfXufV0M
JAVA Scriptではなく、英語のお話になってしまいますが・・・。

Yearは日本語の「年」で、2006年という場合は、単数形で表します。
何歳とか何年間の場合は複数形となって、yearsとなります。

日付も同様に「月日」を表す場合は単数形です。何月何日から何月何日までといった場合は、複数形になります。

HoursやMinutesは、通例複数形で時刻の「時」「分」を表します。単数形では、1時間、1分の意味で、時刻とは異なります。

そのようなわけで、年号や日付は単数形の単語が入った命令で、時刻は複数形で正しいのです。(ちなみに、getHours()などはプロパティではなく、メソッドと呼びます。)

JAVAに限らず、このようなプログラミング言語は英語圏で広く使用されていますので、このように文法的におかしいと思ったら、まず理由があると思った方が良いでしょう。

日本人には単数形や複数形はあまり馴染みがないですが、biolaさんのように気にかけていることは、今後の英語の学習にも良いと思いますよ。

一覧へ戻る