2017-04-17 1 views
0

Das ist ein einfaches Problem, aber irgendwie kann ich nicht herausfinden, was hier falsch läuft.Increment Counter bei jedem Methodenaufruf der Klasse

class MyClass { 
    constructor() { 
     this.id = 0; 
    } 

    myFunc() { 
     let newValue = this.id + 1; 
     console.log('New Value', newValue); 
    } 

} 

let myObj = new MyClass(); 
myObj.myFunc(); // New Value 1 
myObj.myFunc(); // New Value 1 
myObj.myFunc(); // New Value 1 

ich id will, ist jedes Mal erhöhen myFunc so genannt, dass es druckt 1, 2, 3 ...

+4

-Update 'id' auch:' this.id = this.id + 1; '' – dfsq

+1

this.id ++; '... – nnnnnn

Antwort

0

Ich denke, was Ihr Code sollte so sein wird:

class MyClass { 
    constructor() { 
     console.log('setting to 0'); 
     this.id = 0; 
    } 

    myFunc() { 
     this.id += 1; 
     console.log('New Value', this.id); 
    } 

} 

let myObj = new MyClass(); 

myObj.myFunc(); // New Value 1 
myObj.myFunc(); // New Value 2 
0
class Increment { 
    constructor() { 
     this.id = 0; 
    } 
    myFunc() { 
     this.id++; 
     console.log(this.id) 
    } 
} 
let myObj = new Increment(); 
myObj.myFunc(); 
myObj.myFunc(); 
myObj.myFunc(); 
+0

Während dieser Code kann die Frage beantworten, pro Wenn Sie einen zusätzlichen Kontext bezüglich der Frage, warum und/oder wie dieser Code die Frage beantwortet, enthalten, verbessern Sie dessen langfristigen Wert. –

Verwandte Themen