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 Object-Oriented JavaScript Object Basics Filling Out the Play Method

Zeke Swanson
seal-mask
.a{fill-rule:evenodd;}techdegree
Zeke Swanson
Web Development Techdegree Student 8,301 Points

Inside the play method, write an empty if statement that checks if it's the players turn. Use dot notation.

I understand the correct answer is this "this."

But why is it this "this." Instead of "player1." Where does the , this come from?

object.js
const player1 = {
    name: 'Ashley',
    color: 'purple',
    isTurn: true,
    play: function(){
        if (player1.isTurn) {
        };
    }
}

2 Answers

Steven Parker
Steven Parker
231,268 Points

You never want to reference an object by name from inside the object itself. Just imagine if it were copied and given a different name!

Using this is the proper way for an object to reference itself.

Thanks. This helped!

As far as i can tell, using this.property (this.isTurn instead of player1.isTurn) hasn't been discussed yet in any of the other videos to this point, so it's kinda confusing. Just a heads up.