offline version v3
Запись на курсы по HTML, CSS, JavaScript, PHP, фреймворкам и CMS,
а также: помощь в поиске работы и заказов, стажировка на реальных проектах→
⊗jsOpAdNC 44 of 60 menu

Конфликты имен методов и свойств в ООП в 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 + '$'; } }