Pull to refresh

Моя боль в JavaScript: когда this и переменные становятся головоломкой

Level of difficultyEasy
Reading time1 min
Views3.9K

Не спорю и не критикую учебные подходы. Просто делюсь своей болью: как тавтология в примерах наследования (this.name = name) вгоняла в ступор на старте.

сбитый с толку pre-junior
сбитый с толку pre-junior

Сейчас, когда я работаю с наследованием и понимаю контекст this, мне очевидно😎, зачем в примере используется this.name = name. Но на старте моего пути это было одной из тех вещей, которые сбивали с толку🤯.

Когда видишь подобный пример:

function Person(name, age, gender) {
  this.name = name;
  this.age = age;
  this.gender = gender;
}

Кажется, что это просто «одно и то же имя равно самому себе». Ты пишешь код, но не до конца понимаешь, чем this.name отличается от name, и зачем здесь нужно this.

Понимание приходит со временем, но на первых порах это превращается в простое следование примеру. В голове остаётся ощущение магии🔮: «Я пишу то же самое, но почему это работает?» И только позже осознаёшь разницу между параметрами функции и свойствами объекта.

Я поддерживаю подход, когда сложные вещи объясняют через простые и жизненные примеры. Это работает. Люди, животные, профессии — прекрасные темы для демонстрации. Но тавтология переменных вроде this.age = age мне добавляла путаницы, чем помогала разобраться🤪.


Давайте обсудим? У кого так же было? Или может было что-то иное?

Tags:
Hubs:
Total votes 29: ↑11 and ↓18-7
Comments40
3

Articles