открытого
курса
открытого
Привет!
Это страница
по JavaScript
от фронтенд-инженера AvitoTech
курса
Этот курс погружает во фронтенд-разработку и её базовые технологии:
Язык программирования JavaScript
Язык разметки HTML
Язык описания внешнего вида страниц CSS
Вы научитесь отвечать на два главных вопроса: как это работает и почему именно так
А ещё получите фундаментальную базу знаний и поймёте, как:
Избегать подводных камней в кодинге
Использовать механизмы работы JavaScript
Смотреть курс
МОДУЛЬ 1. Устройство современного веба и введение в JavaScript
1. General. Как устроен современный веб
Темы урока:
- Что такое веб и как он устроен
- Как происходит обмен данными в вебе
- Что такое браузеры, зачем они нужны и как устроены
- Процесс работы браузера от получения до отрисовки страницы
2. Введение в JavaScript
Теория:
- Стек и куча в памяти программы
- Хранение данных в движке V8
- Объект примитивных значений Oddball и зачем он нужен
Практика:
Написание и запуск своего первого скрипта в разных средах исполнения
Определение отличий между средами
МОДУЛЬ 2. Работа с данными в JavaScript
Теория:
- Стек и куча в памяти программы
- Хранение данных в движке V8
- Объект примитивных значений Oddball и зачем он нужен
2. Работа с данными в JavaScript. Часть 2
Теория:
- Типы данных и как они влияют на сами данные
- Переменные. Объявление и инициализация переменных
- Типы данных в JavaScript
- Принцип работы оператора typeof
1. Работа с данными в JavaScript. Часть 1
Практика:
Приведение числа из обычного представления в компьютерное и обратно
Теория:
- Стандарт IEEE 754 и хранение чисел в памяти программы
- Кодирование чисел в памяти программы
- Специальные числа в IEEE 754 и их реализация в JavaScript
3. Работа с данными в JavaScript. Часть 3
Теория:
- Безопасные числа, откуда они взялись и почему так называются
- Тип данных BigInt и какие числа он описывает
- Основные принципы работы с данными типа BigInt
4. Работа с данными в JavaScript. Часть 4
Теория:
- Объектные обёртки над данными в JavaScript и их предназначение
- Область видимости данных в программе и её типы в JavaScript
- LexicalEnvironment — концепция лексического окружения, её необходимость в ECMAScript, состав и реализация в JavaScript
- Замыкание: откуда оно появляется и как связано со статической областью видимости
5. Работа с данными в JavaScript. Часть 5
Теория:
- Hoisting (поднятие): принцип работы и важность
- Способы объявления переменных: var, let и const, и их отличия
- Процессы приведения типов данных
- Динамическая и слабая типизации и в чём они проявляются
6. Работа с данными в JavaScript. Часть 6
МОДУЛЬ 3. Контекст исполнения. Ключевое слово this
Теория:
- Контекст исполнения: как устроен и из чего состоит
- Алгоритмы создания различных записей среды: NewDeclarativeEnvironment, NewObjectEnvironment, NewFunctionEnvironment, NewGlobalEnvironment
- VaribleEnvironment и LexicalEnvironment, а также данные, которые в них попадают
- this — что это, откуда берётся и каким значением инициализируется
2. Контекст исполнения. Ключевое слово this. Часть 2
Теория:
- Контекст исполнения и его связь с лексическим окружением
- Виды контекстов исполнения и их отличия
- КонцепцияEnvironmentRecord, назначение и типы
- Структура Declarative EnvironmentRecord, Objective EnvironmentRecord, Function EnvironmentRecord и Global EnvironmentRecord
1. Контекст исполнения. Ключевое слово this. Часть 1
Теория:
- ThisArgument — что это и какое значение туда попадает в зависимости от контекста исполнения
- Методы bind, call, apply для ручного изменения ThisArgument
- Ключевую особенность стрелочных функций в разрезе привязки ThisArgument
3. Контекст исполнения. Ключевое слово this. Часть 3
МОДУЛЬ 4. ООП и прототипное наследование в JavaScript
Теория:
- Дескриптор свойства объектаамена прототипа объекта с помощью Object.create()
- Антипаттерн Monkey patching и подводные камни
Теория:
- Парадигма ООП
- Прототип объекта и реализация парадигмы ООП в JavaScript
- Отличиеполей __proto__ и .prototype
- Цепочка наследования объектов: как устроена и когда заканчивается
1. ООП и прототипное наследование в JavaScript. Часть 1
2. ООП и прототипное наследование в JavaScript. Часть 2
МОДУЛЬ 5. Инструменты конструирования объектов
Теория:
- Классы в JavaScript
- Принцип работы классов
- Типы классов и их особенности в JavaScript
- Наследование классов
Теория:
- Способы конструирования объектов
- Функции-конструкторы: как они порождают объекты
- Механизм работы оператора new при использовании совместно с функциями-конструкторами
1. Инструменты конструирования объектов. Часть 1
2. Инструменты конструирования объектов. Часть 2
Приходите на стажировку в компанию, чьи продукты используют миллионы. Выберите направление, учитесь у наставника, получайте поддержку и шанс остаться в команде.
Начни карьеру в Авито!
Приходите на стажировку в компанию, чьи продукты используют миллионы. Выберите направление, учитесь у наставника, получайте поддержку и шанс остаться в команде.
Спикер курса
Василий Новиков
фронтенд-инженер, Авито
Профильное образование. Программирую с 8 класса школы и уже более 6 лет во фронтенд разработке. Делал всякие классные штуки от почтовых клиентов до больших интернет-банков. Сделал несколько успешных курсов по веб разработке в универе для студентов. Сейчас занимаюсь рекламными продуктами в Авито.
FAQ