ilyachalov (ilyachalov) wrote,
ilyachalov
ilyachalov

Categories:

Учебник по JavaScript: ч.1, Объекты: основы

Прочел четвертый раздел («Объекты: основы») первой части («Язык программирования JavaScript») учебника по JavaScript.

https://learn.javascript.ru

Часть 1. Язык программирования JavaScript (в т.ч. 93 подраздела)

Разделы:

4. Объекты: основы (8 подразделов)

4.1 Объекты
4.2 Копирование объектов и ссылки
4.3 Сборка мусора
4.4 Методы объекта, "this"
4.5 Конструкторы, создание объектов через "new"
4.6 Опциональная цепочка '?.'
4.7 Тип данных Symbol
4.8 Преобразование объектов в примитивы

В названии раздела «Объекты: основы» слово «основы» указывает на то, что в этом разделе дана только начальная часть материала про объекты в языке JavaScript. Остальная часть будет раскрыта в следующих разделах, а особенно в разделе 8 «Прототипы, наследование» и разделе 9 «Классы».

По-прежнему учебнику остро не хватает практических задач после подразделов. Там, где они есть, уже применяется автоматическое тестирование, описанное ранее в подразделе 3.5. Это очень круто, почти так, будто учитель тестирует код ученика. Тут создатели учебника молодцы.

Реализация объектов, их свойств и методов в коде отличается от реализации в языке C++. В этом вопросе JavaScript на своей волне. Но в смысле концепций, теории ООП всё примерно так же.

Понравился подраздел «Сборка мусора». Речь об управлении памятью. Под мусором подразумеваются объекты, ставшие недостижимыми из программы. Концепция достижимости для меня в новинку, как и программа-сборщик мусора. В языке C++ программист может выделять память под объекты вручную, после чего освобождение памяти тоже может производиться вручную (а может исполняться автоматически, как и в JavaScript). В JavaScript же, как я понял, выделение памяти под объекты и ее освобождение производятся автоматически.

Подраздел «Методы объекта, "this"» пришлось перечитать трижды, чтобы его смысл до меня дошел полностью. В этом подразделе первые три практических задания (из пяти) очень важны для понимания, поэтому их следует прорешать обязательно.

Как я понял, в языке JavaScript нет отдельного типа для символов, вроде char в языке C++. В языке JavaScript есть строковый тип, а тип Symbol не имеет отношения к символам. При создании переменной типа Symbol создается гарантированно уникальный идентификатор, который может использоваться в программе-скрипте для разных целей.

Мне понравилось, как в JavaScript реализовано преобразование объектов в примитивы (примитивами в JavaScript называют простые типы данных вроде числового и строкового). В языке C++, конечно, это делается сложнее, но и возможности появляются побогаче.
Tags: Образование, Программирование
Subscribe

  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic

    Your IP address will be recorded 

  • 0 comments