お世話になっております。
とても基本的な部分なのですが、明確に理解をしたいので、ご存知の方がいらっしゃればご教示をお願いします。
まず例えば
JavaScript
1var dat = new Date("2016/12/14"); 2document.write(dat.getFullYear()); 3//2016
これは換言すれば、組み込みオブジェクトのDateのインスタンスを生成して、その中のgetFullYearプロパティを使いたいのでドットで結んでいるということかと思います。
一方で
Javascript
1var num1=100, num2=200; 2document.write(Math.max(num1,num2)); 3//200
これは換言すれば、組み込みオブジェクトのMathオブジェクトを使用しており、ただMathオブジェクトは静的プロパティ/メソッドのため、インスタンスを生成できないので、そのmaxプロパティを直接使用していると理解しております。
<ご質問>
- ここで、一点目の質問ですが、dat.getFullYear()について、この()のなかに、"2016/12/14"としてdat.getFullYear("2016/12/14")としてMathオブジェクトのように引数を書かないのは、これはインスタンスを生成しているからなのでしょうか?
両者が数字をどのような流れで代入して、それぞれの返り値に至っているのかが引数の書き方の観点から分からなかったので、ご教示ください。
- また上記の1.の結果何らかの理由でインスタンスを生成する場合、特定のプロパティの呼び出しに引数を書かなくても良いとして(ここでいうdat.getFullYear()について、dat.getFullYear("2016/12/14")としなくても良いという意味)末尾の()については、なぜ省略できないのでしょうか?他のオブジェクトと比較した場合、
var str="Hello";
document.write(str.length);
のように引数の()が書略可能な場合と不可能な場合は本質的にどういう点で相違しているのか(document.write(str.length())としなくてよい。。?)がまだ理解できないのですが、この点ご教示願えますでしょうか?
何卒、宜しくお願い申し上げます。
回答4件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/12/14 04:09
2016/12/14 04:10
2016/12/14 05:33
2016/12/14 17:11