Welcome to the Treehouse Community

Want to collaborate on code errors? Have bugs you need feedback on? Looking for an extra set of eyes on your latest project? Get support with fellow developers, designers, and programmers of all backgrounds and skill levels here with the Treehouse Community! While you're at it, check out some resources Treehouse students have shared here.

Looking to learn something new?

Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and join thousands of Treehouse students and alumni in the community today.

Start your free trial

JavaScript Practice Classes in JavaScript Practicing Classes Practice Adding Methods

Ilya Treehouse
Ilya Treehouse
118 Points

How can I call the method?

Can someone help me with that calling issue, please? Not sure how can I call a method not a class.

User.js
class User {
    constructor(email, username, birthday) {
        this.email = email;
        this.username = username;
        this.birthday = birthday;
    }

    changeUsername(username) {
        this.username = username;
    }
}

var user1 = new User('JavaScriptStudent@teamtreehouse.com', 'JSUser1', '1/08/1991');

1 Answer

Dave StSomeWhere
Dave StSomeWhere
19,870 Points

You call your method from the class instance with dot notation.

Try the following:

class User {
    constructor(email, username, birthday) {
        this.email = email;
        this.username = username;
        this.birthday = birthday;
    }

    changeUsername(username) {
        this.username = username;
    }
}

const user1 = new User('JavaScriptStudent@teamtreehouse.com', 'JSUser1', '1/08/1991');

console.log(user1.birthday);
console.log("username before method call --> " + user1.username);
user1.changeUsername('did this work?');   // this is the method call
console.log("username after method call --> " + user1.username);

// output:
1/08/1991
username before method call --> JSUser1
username after method call --> did this work?

:tropical_drink: :palm_tree: