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
Simon Tanner5,776 Points
question.js lines 7-9
Please could somebody tell me why you need to use 'return' in the above. Why not just 'this.answer === choice'?
Then, if my thinking is right, the 'return this.answer' becomes the argument in 'function(answer)', but then I'm struggling to understand how chaining the methods works in the above code...
Jonathan GrieveTreehouse Moderator 91,252 Points
As i understand it, chaining is how you share the properties of one function with another function. So instead of having 2 functions with the same properties you share them out, define them in one function and make them available in the other.
Returning the value is a way of telling the function to run the code in the function than then break out of that function and move on.
Not the most technical explanation but i think it's right. :)
Jess Hines5,411 Points
You're returning a value so that you can call the function on an object and use it in a conditional statement.
If you don't have a return, your code will still run, but the result of the comparison will be immediately lost because it doesn't get out of the function call, it would be a local evaluation. Returning is what lets you get a value back out so that when you call
isCorrectAnswer(choice) you get back true or false.