回答編集履歴

5

/

2022/07/03 05:48

投稿

murabito
murabito

スコア108

test CHANGED
@@ -41,6 +41,7 @@
41
41
  ```
42
42
 
43
43
 
44
+ # 意見
44
45
  > 返り値のオブジェクトに対して、データが入ったプロパティを指定させることで解決自体はできますが、煩雑なコードを避けたいため、質問しました。
45
46
 
46
47
  煩雑になるとも感じませんし、逆に不可解なコードにはなりそうなので、普通にプロパティーアクセスした方が良いと思います。

4

/

2022/07/03 05:48

投稿

murabito
murabito

スコア108

test CHANGED
@@ -39,3 +39,8 @@
39
39
  const person = new Person('taro', 10)
40
40
  console.log(...person)
41
41
  ```
42
+
43
+
44
+ > 返り値のオブジェクトに対して、データが入ったプロパティを指定させることで解決自体はできますが、煩雑なコードを避けたいため、質問しました。
45
+
46
+ 煩雑になるとも感じませんし、逆に不可解なコードにはなりそうなので、普通にプロパティーアクセスした方が良いと思います。

3

/

2022/07/03 05:41

投稿

murabito
murabito

スコア108

test CHANGED
@@ -25,7 +25,7 @@
25
25
  this.age = age;
26
26
  }
27
27
 
28
- *[Symbol.iterator] (v) {
28
+ *[Symbol.iterator] () {
29
29
  const youngest = this.age - 5;
30
30
  const oldest = this.age + 5;
31
31
  const out = new Array();

2

iterable

2022/07/03 05:40

投稿

murabito
murabito

スコア108

test CHANGED
@@ -15,3 +15,27 @@
15
15
  console.log(person.toString()) // 配列で表示
16
16
  console.log(String(peson)) // 配列で表示
17
17
  ```
18
+
19
+ もしくは、以下のようにIterableにして呼び出すか。。。
20
+
21
+ ```
22
+ class Person {
23
+ constructor(name, age) {
24
+ this.name = name;
25
+ this.age = age;
26
+ }
27
+
28
+ *[Symbol.iterator] (v) {
29
+ const youngest = this.age - 5;
30
+ const oldest = this.age + 5;
31
+ const out = new Array();
32
+ for (let i = youngest; i <= oldest; i++) {
33
+ out.push(i);
34
+ }
35
+ yield out
36
+ }
37
+ }
38
+
39
+ const person = new Person('taro', 10)
40
+ console.log(...person)
41
+ ```

1

別の書き方追加

2022/07/03 05:26

投稿

murabito
murabito

スコア108

test CHANGED
@@ -13,4 +13,5 @@
13
13
  ```
14
14
  const person = new Person('taro', 10)
15
15
  console.log(person.toString()) // 配列で表示
16
+ console.log(String(peson)) // 配列で表示
16
17
  ```