FAQ: Objects - Methods


This community-built FAQ covers the “Methods” exercise from the lesson “Objects”.

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

Web Development

Introduction To JavaScript

FAQs on the exercise Methods

There are currently no frequently asked questions associated with this exercise – that’s where you come in! You can contribute to this section by offering your own questions, answers, or clarifications on this exercise. Ask or answer a question by clicking reply (reply) below.

If you’ve had an “aha” moment about the concepts, formatting, syntax, or anything else with this exercise, consider sharing those insights! Teaching others and answering their questions is one of the best ways to learn and stay sharp.

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!


Below the retreatMessage variable in the code editor, create an alienShip object. It should contain a method .retreat() which will console.log() the retreatMessage .

let retreatMessage = ‘We no longer wish to conquer your planet. It is full of dogs, which we do not care for.’;

// Write your code below



The lesson gives a good example…

With the new method syntax introduced in ES6 we can omit the colon and the function keyword.

const alienShip = {
  invade () { 

The ellipsis indicates where your content will be written in your method.


=> i get this undefined why <=


It’s a response from the console to the last instruction. console.log() has no return, and as the final instruction, it is that response that gets logged (undefined). Ignore it.


I wouldn’t say ignore it.
You’re incorrectly console logging a call to the functions. What you need to do is just call the functions–those functions each execute their own console log message.



It says We can include methods in our object literals by creating ordinary, comma-separated key-value pairs.
shouldn’t it be colon-separated key-value pairs?


We’re to understand that key-value pairs are separated by commas, and may be numerous. key and value are separated by a colon since they are bound to each other to form a property. Properties are essentially named objects that are attributes of an object.

When we write,

let a = 42;

we’ve declared an a attribute on the window object with a value of 42.

console.log(window.a)    // <- 42


Thanks a lot… I understand this now.
Key-value pairs are separated by commas the same way methods being included to object literals are separated because the method name is seen as the key while the function is the value.
Thanks again

function f() {
    return 'foo'
 > window.f()
<- foo


I have a serious question. Why does it say “We no longer wish to conquer your planet. It is full of DOGS which we do not CARE FOR!?”


Perhaps the aliens are either Felidae, Leporidae or Sciuridae to whom the Canidae is a natural antagonist.


what if they just wiped the dogs off the planet rip dogs xd idc


All the more reason we should hope that aliens who arrive here don’t see Hominidae as their antagonist.