いつも単純な質問で申し訳ございません。
①下記のCase1のように通常のオブジェクトにメソッドとプロパティをどちらも定義しようとしても、メソッドが反映されません。これはオブジェクトが関数オブジェクトではないからかと考えCase2のように関数オブジェクトにした場合、今度はプロパティが消えてしまいます。同じオブジェクトにプロパティとメソッドを格納するにはどうすれば良いのでしょうか?(メソッドはprototypeとして定義します)
②そもそも自作オブジェクトにメソッドとプロパティどちらも格納するという考え方が正しくないのでしょうか?
JavaScript
1<Case1> 2var obj={}; 3obj.name="Tom"; 4obj.age=45; 5obj.prototype.method =function(n){this.result=n+n}; 6 7console.log(obj);] 8//Object {name: "Tom", age: 45} 9
JavaScript
1<Case2> 2var obj=function(){}; 3obj.name="Tom"; 4obj.age=45; 5obj.prototype.method =function(n){return n+n}; 6 7var hoge = new obj; 8console.log(obj.prototype.method); 9//function (n){return n+n} 10console.log(hoge.method(2)); 11//4 12console.log(hoge.name); 13//undefined 14console.log(hoge.age); 15//undefined 16
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/01/29 07:18
2017/01/29 07:21
2017/01/29 07:38