> For the complete documentation index, see [llms.txt](https://eleven-fifty-academy.gitbook.io/javascript-152-objects-arrays/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://eleven-fifty-academy.gitbook.io/javascript-152-objects-arrays/04-objects/solutions/family-challenge/pet.md).

# Pet

What family would be complete without a pet?

## Completed Code

```javascript
function Pet(firstName, lastName, gender, age, birthday, animal, breed, color) {
    Person.call(this, firstName, lastName, gender, age, birthday)

    this.animal = animal;
    this.breed = breed;
    this.color = color;
    this.good = function () {
        if (this.pronoun().toLowerCase() == "he") {
            return "boy";
        } else if (this.pronoun().toLowerCase() == "she") {
            return "girl";
        } else {
            return this.animal;
        }
    }
}
Pet.prototype = Object.create(Person.prototype);
Pet.prototype.constructor = Pet;

Pet.prototype.description = function () {
    return ("My " + this.animal + ", " + this.firstName + ", is the world's greatest " + this.breed + ".");
};
Pet.prototype.bday = function () {
    return ("Our " + this.color + " " + this.breed + " turns " + this.nextYear + " on " + this.birthday + ".");
};
Pet.prototype.praise = function () {
    return (this.pronoun() + " is/are " + "such a good " + this.good() + "!");
};
var pet1 = new Pet('Bon-Bon', 'Jovi', 'female', 3, 'February 14', 'dog', 'Border Collie', 'black and white');
console.log(pet1);
console.log(pet1.description());
console.log(pet1.bday());
console.log(pet1.praise());
```

## Output

```javascript
Pet {
  firstName: 'Bon-Bon',
  lastName: 'Jovi',
  gender: 'female',
  age: 3,
  birthday: 'February 14',
  nextYear: 4,
  fullName: [Function],
  pronoun: [Function],
  possessive: [Function],
  ordinalSuffix: [Function],
  animal: 'dog',
  breed: 'Border Collie',
  color: 'black and white',
  good: [Function] }

My dog, Bon-Bon, is the world's greatest Border Collie.
Our black and white Border Collie turns 4 on February 14.
She is/are such a good girl!
```

## Explanation

1. **New Properties**
   * `animal` - is your pet a dog, a cat, fish, horse, etc?
   * `breed` - is your dog a boxer, your cat a siamese?
   * `color` - what color is/are your pets fur, scales, feathers, etc?
   * `good()` - a function that we'll use to output a noun based on the gender pronoun.
2. **New Functions**
   * `description()` - displays `animal`, `firstName`, and `breed`.
   * `bday()` - displays `color`, `breed`, as well as `nextYear` and `birthday`
   * `praise()` - displays `pronoun` and the result of `good()`.
