FAQ: Code Challenges: JavaScript Fundamentals - agreeOrDisagree()


This community-built FAQ covers the “agreeOrDisagree()” exercise from the lesson “Code Challenges: JavaScript Fundamentals”.

Paths and Courses
This exercise can be found in the following Codecademy content:

Web Development

FAQs on the exercise agreeOrDisagree()

Join the Discussion. Help a fellow learner on their journey.

Ask or answer a question about this exercise by clicking reply (reply) below!

Agree with a comment or answer? Like (like) to up-vote the contribution!

Need broader help or resources? Head here.

Looking for motivation to keep learning? Join our wider discussions.

Learn more about how to use this guide.

Found a bug? Report it!

Have a question about your account or billing? Reach out to our customer support team!

None of the above? Find out where to ask other questions here!

The question states: write a function that takes in two strings. Shouldn’t first and second be written as strings, such as const agreeOrDisagree (‘first, second’) ??

1 Like

That is one string, btw. If the function expects two strings, then each would be quoted separately. Are first and second already declared variables with a value? If so, there would be no quotes since we wish to access those values, and not 'first', 'second'.

How come I get an error with this code? I get the right answer and I’ve tested it but I’m still not allow to move forward.

I just realised that “Agree” and “Disagree” were capitalised :pensive: . There should at least be some leeway for capitalisation of strings surely??

1 Like

if you use a return and wrap the condition in () it will work.

try this…

const agreeOrDisagree = (answer1, answer2) => {return (answer1 === answer2 ? ‘You agree!’ : ‘You disagree!’);}

console.log(agreeOrDisagree(“yep3”, “yep”))

Why doe this work: const agreeOrDisagree = (first, secound) => {
if(first === secound) {return’You agree!’}
else {return ‘You disagree!’}}

but this doesnt?
const agreeOrDisagree = (first, secound) => {
if(first === secound) {console.log(‘You agree!’)}
else {console.log(‘You disagree!’)}}

1 Like

I would be interested to know the answer to this as well!

They both work, only differently. The exercise checker may be expecting to log the return value. If we log inside the function then the return value is undefined.


I would like to as well! I was using console.log in my if statement and it would print the correct answer but then Undefined underneath. When I came here and saw everyone saying to use return, I did that and then it worked. It doesn’t make sense to me

return hands a result back to the caller (the line in the code that called the function) that can be used once the function is exited. Logging in the function gives nothing back, and the result is only visible on the screen, but is not available in memory.

1 Like

I’d like to know too…

I was stuck for 20 minutes with this. Why sometimes we have to use console.log and other times don’t. Looking forward to knowing it.
Thanks :smiley:

In JavaScript, console.log() is a method used to print the argument we pass to it to the console. If we execute console.log('cat'), 'cat' is the argument, and is printed to the console. The console.log() method is nothing more than a way for us to see the argument printed on the screen.

return is something else entirely. return passes a value back to the line of code that called a function or method (the caller), and ends the execution of the function/method.

If we want to see something printed to the console we use console.log(). It has absolutely nothing to do with whether or not we want to return a value.

1 Like

Thanks for the clear reply :smiley:

1 Like