, чтобы сохранить свой прогресс
Сделать код более многоразовым с помощью ключевого слова this
Последняя задача привела method
к объекту duck
. Он использовал duck.name
для доступа к значению свойства name
в операторе return: sayName: function() {return "The name of this duck is " + duck.name + ".";}
Хотя это действительный способ доступа к объекту, здесь есть ошибка. Если имя переменной изменяется, необходимо также обновить любой код, ссылающийся на исходное имя. В определении коротких объектов это не проблема, но если у объекта много ссылок на его свойства, вероятность появления ошибки больше. Чтобы избежать этих проблем, this
ключевое слово:
let duck = {
имя: «Афлак»,
numLegs: 2,
sayName: function () {return "Название этой утки:" + this.name + ".";}
};
this
глубокая тема, и приведенный выше пример - только один способ ее использования. В текущем контексте this
относится к объекту, с которым связан метод: duck
. Если имя объекта изменено на mallard
, нет необходимости находить все ссылки на duck
в коде. Это делает код многоразовым и более простым для чтения.Измените метод dog.sayLegs
чтобы удалить ссылки на dog
. Используйте пример duck
для руководства.
/**
* Your test output will go here.
*/