クライアント側のHTMLを書いています。
html
1<script> 2 class a{ 3 constructor(){ 4 console.log(1); 5 class b{ 6 constructor(){ 7 console.log(2); 8 }; 9 }; 10 new b; 11 }; 12 }; 13 new a;
親クラスのコンストラクタの中でネストすれば問題ないのですが、
html
1<script> 2 class a{ 3 constructor(a,b){ 4 this.a1 = 1; 5 this.b2 = 2; 6 }; 7 af1(){ 8 let c = this.a1 + this.b1; 9 console.log('c is ' + c); 10 }; 11 af2(){ 12 let d = this.b1 - this.a1; 13 console.log('d is ' + d); 14 }; 15 class e{ 16 constructor(f,g){ 17 this.f3 = 3; 18 this.g4 = 4; 19 }; 20 bf1(){ 21 let h = this.f3 + this.g4; 22 console.log('h is ' + h); 23 bf2(){ 24 let i = this.g4 - this.f3; 25 console.log('i is ' + i); 26 let e2 = new e(5,6); 27 let j = e2.bf1.h + e2.bf2.i; 28 console.log('j is ' + j); 29 }; 30 }; 31 let a2 = new a(7,8); 32 let k = a2.af1.c + a2.af2.d; 33 console.log('k is ' + k); 34</script>
上記のように、親クラスのコンストラクタの外でネストすると、
class e{
の部分で、
Uncaught SyntaxError: unexpected token: identifier
どこかでセミコロン (;) を忘れています
のようなエラーになってしまいました。私は、
c is 3
d is 1
h is 7
i is 1
j is 11
k is 16
と表示される動作を期待していました。
解決法をご存知の方いらっしゃいましたら、よろしくお願いいたします。
回答1件
あなたの回答
tips
プレビュー