FAQ: Code Challenges: JavaScript Fundamentals - toEmoticon()


#1

This community-built FAQ covers the “toEmoticon()” 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 toEmoticon()

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!


#2

Hi Guys, what is the problem with my code below …

// Write your function here:
let toEmoticon = () => {
switch(toEmoticon) {
case ‘shrug’:
return ‘|{"}|’;
break;
case ‘smiley face’:
return ‘:)’;
break;
case ‘frowny face’:
return ‘:(’;
break;
case ‘winky face’:
return ‘;)’;
break;
case ‘heart’:
return ‘<3’;
break;
default:
return ‘|(~)|’;
}
};

console.log(toEmoticon(‘shrug’));
console.log(toEmoticon(‘shrug’));
console.log(toEmoticon(‘smiley face’));

Output is…

|(~)|
|(~)|
|(~)|

Why ??


#3

The problem is the switch condition.

What your saying here is that you check what the function toEmoticon() is equal to. Since it will always be a function it will go to the default case.

If you want to use the input as the condition you would need to tell this to the function like so:
let toEmoticon = (input) => {
after that you can use input as check in your switch condition.

switch(input) {
	case 'shrug':
		return '|{"}|';
		break;
	case 'smiley face':
		return ':)';
		break;
	case 'frowny face':
		return ':(';
		break;
	case 'winky face':
		return ';)';
		break;
	case 'heart':
		return '<3';
		break;
	default:
		return '|(~)|';
	}