Skip to content

AlexanderShushunov/flow-it-night

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 

Repository files navigation

Репозиторий с материалами доклада "Типизируй этo"

Анонс

Часто видите ошибку “itShouldBeAnArray.map is not a function”? Автодополнение IDE дает список всех идентификаторов проекта? С трудом понимаете, что конкретно надо этому API? Коллеги с бека смеются и советуют перейти на “настоящий” язык? Нет! JavaScript мы не бросим! Потому что он хороший :). Мы его протипизируем! И поможет нам в этом Flow!

Запись доклада

https://www.youtube.com/watch?v=-DhimKUoXPA

Большое спасибо Арине Николаевой за съемку и Андрею Иванову за монтаж!

Что в репозитории

В докладе я разбираю два примера:

  • "Простой". На нем я в двух словах объяснил, как работает Flow. Начало примера - ветка simple-example-start. Конец - simple-example-end.
  • "Крестики нолики на React". В приложении есть несколько ошибок. Добавляя типы, я нахожу и исправляю эти ошибки. Начало примера - ветка react-example-start. Конец - raect-example-end.

Полезные ссылки

Проверки в runtime

Ковариантность и контрвариантность

В системе типов Flow выход контравариантный, а вход ковариантный.

Массивы инвариантны.

Поля объектов инвариантны. Но можно вариантность задавать руками. Пример.