Добавление метода к прототипу, который возвращает все заглавные буквы

#javascript

#javascript

Вопрос:

Я пишу код для присваивания, но код, который я пишу, оказывается «неожиданной синтаксической ошибкой» в repl.it даже при получении консоли.войдите, чтобы вывести ожидаемые ответы код не читается как true и показывает код как завершенный

Я пытался создавать новые переменные и синхронизировать их с этим и возвращать, но код не считывается как true

это то, что ожидается «Добавить метод к прототипу пользователя под названием «shoutName», который возвращает имя пользователя во всех прописных буквах». это то, что возвращает

 function Person(name) {
    this.name = name;
    this.shoutName = function() {
        name.toUpperCase();
        return.this.name.toUpperCase();
    }
}

/* Do not modify code below this line */

const john = new Person('John');
console.log(john.shoutName(), '<-- should be "JOHN"');  

Комментарии:

1. reurn.this... вы имеете в виду return this... ?

2. Не могли бы вы опубликовать полный фрагмент, пожалуйста? Похоже, вам не хватает первой строки.

3. Я вижу пару проблем с вашим кодом. Синтаксис неверен при возврате. Второе — это ваше this .

4. На самом деле, ваша ошибка говорит "Uncaught SyntaxError: Unexpected token ." , видите ли вы, что после этого есть точка token ? Это неожиданный символ. Исправьте синтаксические ошибки перед публикацией. Голосование за закрытие.

Ответ №1:

Вы должны удалить . after return . А также вы не добавляете метод prototype , вы добавляете метод к самому объекту.Вы должны добавить метод в Person.prototype

 function Person(name){
    this.name = name;
}
Person.prototype.shoutName = function() {
   return this.name.toUpperCase();
}
/* Do not modify code below this line */
const john = new Person('John');
console.log(john.shoutName(), '<-- should be "JOHN"');  

Ответ №2:

У вас должен быть пробел между return ключевым словом и значением, которое вы хотите вернуть, а не точка, которая вызывает a SyntaxError . Кроме того, вы должны добавить shoutName метод в Person прототип вместо каждого создаваемого объекта Person для лучшей ремонтопригодности.

 function Person(name) {
    this.name = name;
}
Person.prototype = {
  /*add any methods you want all Person objects to have*/
  shoutName: function(){
    return this.name.toUpperCase();
  }
};

const john = new Person('John');
console.log(john.shoutName(), '<-- should be "JOHN"');