Объекты Flashcards
Как можно создать объект?
Можно создать объект с помощью конструктора или литерала {}.
Что такое свойство объекта?
Свойство объекта — это пара ключ/значение.
Как можно добавить свойство в объект?
Свойство можно добавить с помощью точки или квадратных скобок.
Как можно удалить свойство из объекта?
Свойство можно удалить с помощью оператора delete.
Можно ли изменять содержимое объектов, которые созданы через const?
Да, можно изменять содержимое объектов, которые созданы через const, но нельзя перезаписывать сам объект.
Что такое зарезервированные слова, и можно ли использовать их в качестве названия свойств объекта?
Зарезервированные слова - это ключевые слова, используемые в языке программирования. Их можно использовать в качестве названия свойств объекта.
Что возвращает сравнение свойства, которого нет в объекте, с undefined?
true
Что возвращает оператор in, если свойство существует в объекте?
true
С помощью какого оператора можно итерироваться по свойствам объекта?
с помощью оператора in в конструкции for…in.
Какие значения будут выведены при итерации по объекту с помощью цикла for…in?
Ключи объекта (имена свойств), а затем значения свойств, соответствующих этим ключам.
В каком порядке перечисляются свойства объекта, если их ключи являются целочисленными значениями?
Перечисляются в порядке возрастания целочисленных значений ключей.
В каком порядке перечисляются свойства объекта, если их ключи НЕ являются целочисленными значениями?
Перечисляются в порядке, в котором свойства были созданы.
Как отсортировать свойства объекта по возрастанию значений ключей?
Нужно записать ключи свойств в виде целочисленных значений.
Чем отличаются объекты от примитивных типов данных?
Объекты хранятся по ссылке, в то время как примитивные типы данных хранятся в переменных.
Что произойдет, если переменной присвоить уже существующий объект и изменить значения в свойствах нового объекта?
Изменения будут отображаться и в старом объекте, так как переменная содержит ссылку на объект.
Как работают операторы == и === для объектов?
Они работают одинаково и сравнивают объекты по ссылке.
Как можно скопировать объект?
Можно скопировать объект, используя цикл for..in или метод Object.assign().
Как скопировать объект, если он содержит внутри себя другие объекты?
В этом случае необходимо в цикле проверять каждое свойство объекта на наличие других объектов и копировать их рекурсивно. Также можно воспользоваться библиотекой lodash и методом _.cloneDeep(object).
Какой принцип управления памятью используется в JavaScript?
В JavaScript используется принцип достижимости для управления памятью.
Что такое корни в контексте сборки мусора в JavaScript?
Корни в контексте сборки мусора в JavaScript - это достижимые значения, которые не могут быть удалены, такие как выполняемая в данный момент функция и ее локальные переменные и параметры, другие функции в текущей цепочке вложенных вызовов, глобальные переменные и некоторые другие внутренние значения.
Как работает основной алгоритм сборки мусора в JavaScript?
Основной алгоритм сборки мусора в JavaScript - это “алгоритм пометок”. Сборщик мусора помечает все корневые объекты, затем помечает все ссылки из них, а также все вложенные ссылки, причем все посещенные объекты запоминаются, чтобы вновь не посещать уже посещенный объект, и так далее, пока не будут помечены все достижимые (из корней) ссылки. Все непомеченные (недостижимые) ссылки удаляются.
Какие оптимизации могут использоваться для ускорения сборки мусора в JavaScript?
В JavaScript могут использоваться различные оптимизации для ускорения сборки мусора, такие как сборка по поколениям (Generational collection), инкрементальная сборка (Incremental collection) и сборка в свободное время (Idle-time collection).
Что такое метод объекта?
Метод объекта - это функция, которая связана с объектом и может быть вызвана через него.
Как добавить метод объекту?
Метод можно добавить к объекту, присвоив ему функцию, используя синтаксис “имя_объекта.имя_метода = функция”.
Как использовать сокращенную запись метода объекта?
Сокращенную запись метода можно использовать, объявив функцию как свойство объекта, используя синтаксис “method() { body }”.
Что такое “this” в методе объекта?
“this” - это ссылка на текущий объект, который вызывает метод.