2016-11-04 8 views
1

2行目にエラーが表示されています。このコードはなぜエラーを表示していますか?

"ReferenceError: specialTrick is not defined 
    at CoolGuy.showoff (<anonymous>:23:40) 
    at <anonymous>:31:5 
    at Object.InjectedScript._evaluateOn (<anonymous>:875:140) 
    at Object.InjectedScript._evaluateAndWrap (<anonymous>:808:34) 
    at Object.InjectedScript.evaluate (<anonymous>:664:21)" 

class CoolGuy { 
 
    specialTrick = null; 
 

 
    CoolGuy(trick) { 
 
     specialTrick = trick 
 
    } 
 

 
    showOff() { 
 
     console.log("Here's my trick: ", specialTrick); 
 
    } 
 

 
} 
 

 
Joe = new CoolGuy("rope climbing"); 
 
Joe.shoeOff();

+1

たぶん、あなたはたぶん、VaRのspecialTrick'(または 'ES6でみましょうspecialTrick') – user2182349

+0

を定義する必要があります。ここでは

は修正があります/ blog/1544/web-inspector-understanding-stack-traces/ –

+0

https://webkit.org'てみspecialTrick – Isaac

答えて

5
  1. あなたはconstructor機能(とない同じ名前の関数)を使用する必要があります。
  2. thisを使用して、クラス定義内でメンバーをコンストラクタ内に設定することはできません。
  3. showOff機能でタイプミスがありました。

詳細情報in the reference

class CoolGuy { 
 

 
    constructor(trick) { 
 
     this.specialTrick = trick 
 
    } 
 

 
    showOff() { 
 
     console.log("Here's my trick: ", this.specialTrick); 
 
    } 
 
} 
 

 
Joe = new CoolGuy("rope climbing"); 
 
Joe.showOff();

関連する問題