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