5. Об'єкти в деталях

Get Started. It's Free
or sign up with your email address
5. Об'єкти в деталях by Mind Map: 5. Об'єкти в деталях

1. Частина, де ми говоримо про JS

1.1. Object

1.1.1. Object - це 'ящик з іменованими ящиками та кнопками'

1.1.1.1. CRUD операції

1.1.1.1.1. Нюанс про тип ключів

1.1.1.1.2. особливості доступу через квадратні дужки

1.1.1.2. перевірка існування ключів

1.1.1.2.1. "key" in object

1.1.1.3. робота з циклом

1.1.1.3.1. for..in

1.1.1.4. Опційний ланцюжок '?.'

1.1.1.4.1. Працює з Symbol

1.1.1.4.2. Працює для читання/видалення, але не для запису

1.1.1.5. Object.keys() та Object.values() для отримання значень об'єкту

1.1.1.5.1. Ігнорують Symbol

1.1.1.5.2. https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/keys

1.1.1.5.3. https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/values

1.1.1.6. Перетворення в масив

1.1.1.6.1. Object.entries() та Object.fromEntries()

1.1.1.7. Та не так багато чого іншого...

1.1.1.8. Q&A

1.1.2. Примітивний тип Symbol

1.1.2.1. унікальність

1.1.2.1.1. https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Symbol

1.1.2.2. певна прихованість

1.1.2.2.1. https://developer.mozilla.org/ru/docs/Web/JavaScript/Reference/Global_Objects/Object/getOwnPropertySymbols

1.1.2.2.2. https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Reflect/ownKeys

1.1.2.3. глобальні символи

1.1.2.3.1. https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Symbol/for

1.1.2.3.2. https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Symbol/keyFor

1.1.2.4. Системні символи

1.1.2.4.1. https://tc39.es/ecma262/#sec-well-known-symbols

1.1.2.5. Q&A

1.1.3. Про що варто пам'ятати?

1.1.3.1. Null теж має тип 'object', Array теж має тип 'object'

1.1.3.2. Копіюваня, а точніше 'клонування'

1.1.3.2.1. Поверхневе клонування

1.1.3.2.2. Глибоке клонування

1.1.3.3. як зробити об'єкт незмінюваним

1.1.3.3.1. const не працює

1.1.3.3.2. Object.freeze() працює

1.1.3.4. Q&A

1.1.4. Вбудований об'єкт Date

1.1.4.1. Можемо створити через new Date(), з аргументами і без них

1.1.4.1.1. Аргументи можна задавати як:

1.1.4.1.2. Або ж можемо створити через Date() без аргументів

1.1.4.2. Можемо отримати компоненти дати (get)

1.1.4.2.1. https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date#instance_methods

1.1.4.3. Можемо встановити компоненти дати (set)

1.1.4.3.1. https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date#instance_methods

1.1.4.4. Можемо зробити заміри часу

1.1.4.4.1. Date.now()

1.1.4.4.2. performance.now()

1.1.4.5. Можемо зробити парсинг строки з датою

1.1.4.5.1. Date.parse()

1.1.4.6. TL;DR

1.1.4.6.1. Дата та час у JavaScript представлені об’єктом Date. Ми не можемо створити “тільки дату” або “тільки час”: об’єкти Date завжди мають в собі обидва значення

1.1.4.6.2. Дні тижня в getDay() рахуються з нуля (з неділі)

1.1.4.6.3. Місяці рахуються з нуля (січень це нульовий місяць)

1.1.4.6.4. Date автоматично виправляє себе, коли встановлено компоненти, які виходять за межі. Це добре для додавання/віднімання днів/місяців/годин.

1.1.4.6.5. Дати можуть відніматися, таким чином можна отримати різницю в мілісекундах. Це тому, що Date стає timestamp, коли перетворюється на число.

1.1.4.6.6. Щоб швидко отримати поточний timestamp використовуйте Date.now()

1.1.4.7. Q&A

2. Епілог

2.1. Екстра матеріали

2.1.1. Про перетворення об'єктів у примітиви: https://www.codingninjas.com/codestudio/library/converting-object-to-primitives-in-javascript

2.1.2. Документація по вбудованому об'єкту Date: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date

2.1.3. Ще про об'єкт Date: https://css-tricks.com/everything-you-need-to-know-about-date-in-javascript/

2.2. Тизер-трейлер наступного вебінару

2.2.1. Q&A