АКЦИЯ: бесплатные месячные курсы по созданию сайтов
на выбор: верстка, JavaScript, PHP, Python или фреймворки. Сегодня последний день для записи! Жми!
⊗jsOpAdNC 44 of 60 menu
Вступайте в телеграмм-канал сайта code.mu: новинки, статьи, интервью, задачи, бесплатные курсы и тренинги. Жми для вступления:)

Конфликты имен методов и свойств в ООП в JavaScript

Имена свойств и методов не должны совпадать, это вызовет конфликт. Давайте посмотрим на примере. Пусть у нас есть следующий класс:

class User { name() { console.log('method'); } }

Создадим объект этого класса:

let user = new User;

Вызовем его метод, пока все будет работать:

user.name(); // работает

А теперь запишем данные в одноименное свойство, затерев тем самым код метода:

user.name = 'str'; user.name(); // ошибка

Для избежания подобных конфликтов всегда давайте методам имена-глаголы, а свойствам - имена-существительные.

Исправьте ошибку, допущенную в следующем в коде:

class Employee { constructor(salary) { this.salary = salary; } salary() { return this.salary + '$'; } }
byenru