Эффективный TypeScript: 62 способа улучшить код

This document was uploaded by one of our users. The uploader already confirmed that they had the permission to publish it. If you are author/publisher or own the copyright of this documents, please report to us by using this DMCA report form.

Simply click on the Download Book button.

Yes, Book downloads on Ebookily are 100% Free.

Sometimes the book is free on Amazon As well, so go ahead and hit "Search on Amazon"

«Эффективный TypeScript» необходим тем, кто уже имеет опыт работы с JavaScript. Цель этой книги — не научить пользоваться инструментами, а помочь повысить профессиональный уровень. TypeScript представляет собой не просто систему типов, а набор служб языка, удобных в использовании. Он повышает безопасность разработки в JavaScript, делает работу увлекательнее и проще.

Author(s): Дэн Вандеркам
Series: Бестселлеры O’Reilly
Edition: 1
Publisher: Питер
Year: 2020

Language: Russian
Commentary: Vector PDF
Pages: 288
City: СПб.
Tags: JavaScript; Web Applications; Best Practices; TypeScript; Type Inference

Отзывы
Введение
От издательства
Глава 1. Знакомство с TypeScript
Правило 1. TypeScript и JavaScript взаимосвязаны
Правило 2. Выбирайте нужные опции в TypeScript
Правило 3. Генерация кода не зависит от типов
Правило 4. Привыкайте к структурной типизации
Правило 5. Ограничьте применение типов any
Глава 2. Система типов в TypeScript
Правило 6. Используйте редактор для работы с системой типов
Правило 7. Воспринимайте типы как наборы значений
Правило 8. Правильно выражайте отношение символа к пространству типов или пространству значений
Правило 9. Объявление типа лучше его утверждения
Правило 10. Избегайте оберточных типов (String, Number, Boolean, Symbol, BigInt)
Правило 11. Проверяйте пределы исключительных свойств типа
Правило 12. По возможности применяйте типы ко всему выражению функции
Правило 13. Знайте разницу между type и interface
Правило 14. Операции типов и обобщения сокращают повторы
Правило 15. Используйте сигнатуры индексов для динамических данных
Правило 16. В качестве сигнатур индексов используйте массивы, кортежи и ArrayLike, но не number
Правило 17. Используйте readonly против ошибок, связанных с изменяемостью
Правило 18. Используйте отображенные типы для синхронизации значений
Глава 3. Вывод типов
Правило 19. Не засоряйте код ненужными аннотациями типов
Правило 20. Для разных типов — разные переменные
Правило 21. Контролируйте расширение типов
Правило 22. Старайтесь сужать типы
Правило 23. Создавайте объекты целиком
Правило 24. Применяйте псевдонимы согласованно
Правило 25. Для асинхронного кода используйте функции async вместо обратных вызовов
Правило 26. Используйте контекст при выводе типов
Правило 27. Используйте функциональные конструкции и библиотеки для содействия движению типов
Глава 4. Проектирование типов
Правило 28. Используйте типы, имеющие допустимые состояния
Правило 29. Будьте либеральны в том, что берете, но консервативны в том, что даете
Правило 30. Не повторяйте информацию типа в документации
Правило 31. Смещайте нулевые значения на периферию типов
Правило 32. Предпочитайте объединения интерфейсов интерфейсам объединений
Правило 33. Используйте более точные альтернативы типов string
Правило 34. Лучше сделать тип незавершенным, чем ошибочным
Правило 35. Генерируйте типы на основе API и спецификаций, а не данных
Правило 36. Именуйте типы согласно области их применения
Правило 37. Рассмотрите использование маркировок для номинального типизирования
Глава 5. Эффективное применение any
Правило 38. Используйте максимально узкий диапазон для типов any
Правило 39. Используйте более точные варианты any
Правило 40. Скрывайте небезопасные утверждения типов в грамотно типизированных функциях
Правило 41. Распознавайте изменяющиеся any
Правило 42. Используйте unknown вместо any для значений с неизвестным типом
Правило 43. Используйте типобезопасные подходы вместо обезьяньего патча
Правило 44. Отслеживайте зону охвата типов для сохранения типобезопасности
Глава 6. Декларации типов и @types
Правило 45. Размещайте TypeScript и @types в devDependencies
Правило 46. Проверяйте совместимость трех версий, задействованных в декларациях типов
Правило 47. Экспортируйте все типы, появляющиеся в публичных API
Правило 48. Используйте TSDoc для комментариев в API
Правило 49. Определяйте тип this в обратных вызовах
Правило 50. Лучше условные типы, чем перегруженные декларации
Правило 51. Зеркалируйте типы для разрыва зависимостей
Правило 52. Тестируйте типы с осторожностью
Глава 7. Написание и запуск кода
Правило 53. Используйте возможности ECMAScript, а не TypeScript
Правило 54. Производите итерацию по объектам
Правило 55. Иерархия DOM — это важно
Правило 56. Не полагайтесь на private при скрытии информации
Правило 57. Используйте карты кода для отладки
Глава 8. Перенос данных в TypeScript
Правило 58. Пишите современный JavaScript
Правило 59. Используйте // @ts-check и JSDoc для экспериментов в TypeScript
Правило 60. Используйте allowJs для совмещения TypeScript и JavaScript
Правило 61. Конвертируйте модуль за модулем, восходя по графу зависимостей
Правило 62. Не считайте миграцию завершенной, пока не включите noImplicitAny
Об авторе
Об обложке