teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

3

修正

2017/06/11 13:46

投稿

s8_chu
s8_chu

スコア14731

answer CHANGED
@@ -2,13 +2,13 @@
2
2
  ```javascript
3
3
  class Sample {
4
4
  constructor() {
5
- this.foo = this;
5
+ this.self = this;
6
- this.foo.initialize();
6
+ this.self.initialize();
7
7
  }
8
8
 
9
9
  initialize() {
10
10
  console.log("initialize1");
11
- this.foo.initialize2();
11
+ this.self.initialize2();
12
12
  }
13
13
 
14
14
  initialize2() {

2

修正

2017/06/11 13:46

投稿

s8_chu
s8_chu

スコア14731

answer CHANGED
@@ -2,12 +2,19 @@
2
2
  ```javascript
3
3
  class Sample {
4
4
  constructor() {
5
- var self = this;
5
+ this.foo = this;
6
- self.initialize();
6
+ this.foo.initialize();
7
7
  }
8
8
 
9
9
  initialize() {
10
- console.log("initialize");
10
+ console.log("initialize1");
11
+ this.foo.initialize2();
11
12
  }
13
+
14
+ initialize2() {
15
+ console.log("initialize2");
16
+ }
12
17
  }
18
+
19
+ var sample = new Sample();
13
20
  ```

1

修正

2017/06/11 13:44

投稿

s8_chu
s8_chu

スコア14731

answer CHANGED
@@ -1,4 +1,4 @@
1
- ES6では、**クラス直下にはメソッドしか定義できません**。おそらく厳格モードで`var`を付けずに変数を宣言すると`ReferenceError`が返されると思います。プロパティを`constructor`内で定義してはいかがでしょうか?
1
+ ES6では、**クラス直下にはメソッドしか定義できません**。また、厳格モードで`var`を付けずに変数を宣言すると`ReferenceError`が返されると思います。プロパティを`constructor`内で定義してはいかがでしょうか?
2
2
  ```javascript
3
3
  class Sample {
4
4
  constructor() {