Вопрос пользователя Msh Ker в уроке «Прототипы», курс «JS: Введение в ООП»

Msh Ker

Вопрос:

Когда мы создаем метод внутри прототипа обязательно именовать функцию после знака равно?:

Array.prototype.last = function last() {
  return this[this.length - 1];
}

можно ли так:

Array.prototype.last = function() {
  return this[this.length - 1];
}

Если да, то можно узнать какую роль это имя играет. Ведь метод, как я понял, вызывается по имени, которое следует после prototype.имяМетода

1 0

Сергей Мелодин

Msh Ker, приветствую.

В таких простых случаях вы можете проверять разницу работы кода в консоли браузера, например, таким образом:

const a = function () {};
const b = function b() {};

console.log(a); // => ƒ () {}
console.log(b); // => ƒ b() {}

Здесь видно, что a содержит анонимную функцию, а b именованную. Если представить что это не две строчки рядом, а что-то пришедшее из тысяч строк проекта над которым работало несколько разработчиков, то анонимная функция усложнит отладку. Именованная функция при отладке выведется с именем, что позволит быстрее разобраться в её предназначении.

1

Есть вопрос или хотите участвовать в обсуждении?

Зарегистрируйтесь или войдите в свой аккаунт

Нажимая кнопку «Зарегистрироваться», вы даёте своё согласие на обработку персональных данных в соответствии с «Политикой конфиденциальности» и соглашаетесь с «Условиями оказания услуг». Защита от спама reCAPTCHA «Конфиденциальность» и «Условия использования».

Похожие вопросы

Msh Ker 4 дня назад →

Встрял немного на методе сложения. Напрочь отказывается произвести конвертацию внутри add. https://ru.hexl...

Шмырин Юрий 7 дней назад →

Не могу понять в чем проблема enter link description here (https://ru.hexlet.io/code_reviews/314047)

Роман Степичев 09 сентября 2020 →

Добрый день. Подскажите, пожалуйста, в чём тут ошибка? https://ru.hexlet.io/code_reviews/312414 А именно : ...

Aleksandr Iatseniuk 02 сентября 2020 →

[Ревью](https://ru.hexlet.io/code_reviews/309486) Вроде решил, но вижу что решение учителя вышло куда лучше...

Сергей Ивлев 24 августа 2020 →

Здравствуйте! Подскажите, может не вижу, где ошибка) У меня в тестах на usd вылазит баг Expected: "$100.00"...