質問編集履歴

2

全角空白があるようなので、再度コピーペーストしてみました。

2019/10/06 14:16

投稿

Chirnil
Chirnil

スコア15

test CHANGED
File without changes
test CHANGED
@@ -132,13 +132,17 @@
132
132
 
133
133
  }
134
134
 
135
+
136
+
135
137
  showItems() {
136
138
 
137
- console.log(this.#items);
139
+ for (item of this.#items){
140
+
138
-
141
+ console.log(thing + "<br >");
142
+
139
- }
143
+ }
144
+
140
-
145
+ }
141
-
142
146
 
143
147
  }
144
148
 
@@ -184,13 +188,11 @@
184
188
 
185
189
  return `Your hero, ${this.name} has ${this.health} in health.<br>
186
190
 
187
- He is carrying a backpack that contains, ${this.myBackpack}`;   
191
+ He is carrying a backpack that contains ${this.myBackpack}`;
188
-
192
+
189
- }
193
+ }
190
-
194
+
191
- }
195
+ }
192
-
193
-
194
196
 
195
197
  let hero = new Hero (500, "Christian");
196
198
 
@@ -198,8 +200,6 @@
198
200
 
199
201
  console.log(hero.toString());
200
202
 
201
-
202
-
203
203
  ```
204
204
 
205
205
  このコードを実行すると、

1

このコードを実行した結果と、問題点の詳細を追加しました。

2019/10/06 14:16

投稿

Chirnil
Chirnil

スコア15

test CHANGED
File without changes
test CHANGED
@@ -40,7 +40,7 @@
40
40
 
41
41
 
42
42
 
43
- Backpack内のコードが特によくわせん
43
+ Backpack内のコードに問題あるのではないと思ってい
44
44
 
45
45
  Items内に、どんどんitemを追加していけるようにしたいです。(addItem)
46
46
 
@@ -76,8 +76,6 @@
76
76
 
77
77
  }
78
78
 
79
-
80
-
81
79
  class Item {
82
80
 
83
81
 
@@ -110,6 +108,8 @@
110
108
 
111
109
  }
112
110
 
111
+
112
+
113
113
  class Backpack {
114
114
 
115
115
 
@@ -118,42 +118,32 @@
118
118
 
119
119
 
120
120
 
121
+ get items(){
122
+
123
+ return this.#items;
124
+
125
+ }
126
+
127
+
128
+
121
- addItem(item) {     
129
+ addItem(item) {
122
-
130
+
123
- #items.push(item);   //ここが合っているのか、よくわかりません。
131
+ this.#items.push(item);
124
-
132
+
125
- }
133
+ }
126
-
127
-
128
-
129
-
130
-
134
+
131
- showItems(items) {
135
+ showItems() {
132
-
133
- for (let thing in #items) {    //Itemsに入ってるものを一個ずつ表示させたいです。
136
+
134
-
135
- return console.log(thing);   
137
+ console.log(this.#items);
136
138
 
137
139
  }
138
140
 
139
- }
140
-
141
-
142
-
143
- get items(){
144
-
145
- return #items;
146
-
147
- }
148
-
149
141
 
150
142
 
151
143
  }
152
144
 
153
145
 
154
146
 
155
-
156
-
157
147
  class Hero extends Creature {
158
148
 
159
149
  #name='';
@@ -194,24 +184,36 @@
194
184
 
195
185
  return `Your hero, ${this.name} has ${this.health} in health.<br>
196
186
 
197
- He is carrying a backpack that contains, ${this.myBackpack}`;    //この書き方でいいのでしょうか_
187
+ He is carrying a backpack that contains, ${this.myBackpack}`;   
198
-
188
+
199
- }
189
+ }
200
-
190
+
201
- }
191
+ }
202
-
203
-
204
-
205
- //ここの書き方(呼び出し方)もよくわかっていません。
192
+
193
+
206
194
 
207
195
  let hero = new Hero (500, "Christian");
208
196
 
209
- hero.myCoolBackpack.addItem(new Item("Flask of Water", 12), new Item("Apple", 0.3));
197
+ hero.myBackpack.addItem(new Item("Flask of Water", 12), new Item("Apple", 0.3));
198
+
199
+ console.log(hero.toString());
210
200
 
211
201
 
212
202
 
213
203
  ```
214
204
 
215
-
205
+ このコードを実行すると、
206
+
207
+ Your hero, Christian has 500 in health.<br>
208
+
209
+ He is carrying a backpack that contains, [object Object]
210
+
211
+ となり、itemがうまく表示されません。この[object,object]を
212
+
213
+ **Flask of Water, weight: 1.2**
214
+
215
+ **Apple, weight: 0.3**
216
+
217
+ とするにはどのような変更が必要なのでしょうか?
216
218
 
217
219
  アドバイスをどうかよろしくお願いします。