Добавление метода к прототипу под названием «говорить»

Продолжайте получать ошибку:

Должен добавить в прототип метод с именем speak

Ожидалось, что «DogsaysWoof» будет «Собака говорит Woof».

Думал, у меня получилось, но чего-то не хватает. Я поставил пробелы "" между свойствами, но все равно появляется "DogsaysWoof". Думаю, это потому, что мне не хватает ссылки на метод прототипа, но, похоже, не имеет значения, что я туда вставил. (сейчас это "говорит")

Я немного смущен этим.

function exerciseTwo(AnimalClass){
  // Exercise Two: In this exercise you are given a class called AnimalClass.
  // The class will already have the properties 'name', 'noise' on it.
  // You will be adding a method to the prototype called 'speak'
  // Using the 'this' keyword, speak should return the following string:
  // '<name> says <noise>'
  // DO NOT create a new class or object

  /*My ************************************************************** Code*/
  AnimalClass.prototype.speak = function(says){
    this.speak = 'says';
    return this.name + '' + this.speak + '' + this.noise;
  };
  // Please write your code in the lines above
  return AnimalClass;
}

Вы добавляете пустые строки, которые не являются пробелами.

Dave Newton 08.03.2019 02:47
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
0
1
548
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

Вам действительно нужно добавить пробелы - в настоящее время это пустые строки:

return this.name + ' ' + this.speak + ' ' + this.noise;
//                  ^                  ^

Вот это да. Не могу поверить, что пропустил это. Работал 12 часов подряд над этими задачами. Очень ценю, что ты нашел мою ошибку, Джек. Спасибо! Очевидно, это сработало.

DangerousWithRocks 08.03.2019 02:50

Нет проблем @DangerousWithRocks, если мой ответ решил вашу проблему, отметьте его как принятый, щелкнув серую галочку слева от моего ответа, и проголосуйте за него.

Jack Bashford 08.03.2019 02:51

Вы можете писать так, используя литералы шаблонов. Вам не нужно беспокоиться о конкатенации.

return `${this.name}  ${this.speak} ${this.noise}`;

Другие вопросы по теме