typescript
GitHub
  • README
  • Давайте Почнемо
    • Why TypeScript
  • JavaScript
    • Equality
    • References
    • Null vs. Undefined
    • this
    • Closure
    • Number
    • Truthy
  • Future JavaScript Now
    • Classes
      • Classes Emit
    • Arrow Functions
    • Rest Parameters
    • let
    • const
    • Destructuring
    • Spread Operator
    • for...of
    • Iterators
    • Template Strings
    • Promise
    • Generators
    • Async Await
  • Проект / Project
    • Контекст компіляції / Compilation Context
      • tsconfig.json
      • Які файли / Which Files?
    • Простори Оголошень / Declaration Spaces
    • Модулі / Modules
      • File Module Details
      • global.d.ts
    • Namespaces
    • Dynamic Import Expressions
  • Node.js QuickStart
  • Browser QuickStart
  • Library QuickStart
  • TypeScript's Type System
    • JS Migration Guide
    • @types
    • Ambient Declarations
      • Declaration Files
      • Variables
    • Interfaces
    • Enums
    • lib.d.ts
    • Functions
    • Callable
    • Type Assertion
    • Freshness
    • Type Guard
    • Literal Types
    • Readonly
    • Generics
    • Type Inference
    • Type Compatibility
    • Never Type
    • Discriminated Unions
    • Index Signatures
    • Moving Types
    • Exception Handling
    • Mixins
  • JSX
    • React
    • Non React JSX
  • Options
    • noImplicitAny
    • strictNullChecks
  • Errors in TypeScript
    • Interpreting Errors
    • Common Errors
  • NPM
  • Testing
    • Jest
    • Cypress
  • Tools
    • Prettier
    • Husky
    • ESLint
    • Changelog
  • TIPs
    • String Based Enums
    • Nominal Typing
    • Stateful Functions
    • Currying
    • Type Instantiation
    • Lazy Object Literal Initialization
    • Classes are Useful
    • Avoid Export Default
    • Limit Property Setters
    • outFile caution
    • JQuery tips
    • static constructors
    • singleton pattern
    • Function parameters
    • Build Toggles
    • Barrel
    • Create Arrays
    • Typesafe Event Emitter
  • StyleGuide
  • TypeScript Compiler Internals
    • Program
    • AST
      • TIP: Visit Children
      • TIP: SyntaxKind enum
      • Trivia
    • Scanner
    • Parser
      • Parser Functions
    • Binder
      • Binder Functions
      • Binder Declarations
      • Binder Container
      • Binder SymbolTable
      • Binder Error Reporting
    • Checker
      • Checker Diagnostics
      • Checker Error Reporting
    • Emitter
      • Emitter Functions
      • Emitter SourceMaps
    • Contributing
Powered by GitBook
On this page
  • Давайте почнемо з TypeScript
  • Версія TypeScript
  • Де Шукати Код-Приклади з Книги
Edit on GitHub

Давайте Почнемо

PreviousREADMENextWhy TypeScript

Last updated 1 year ago

Давайте почнемо з TypeScript

TypeScript компілюється в JavaScript. JavaScript - це те, що ви фактично буде виконуватися (або в браузері, або на сервері). Тому вам знадобиться наступне:

  • TypeScript Компілятор (OSS доступний або через )

  • Редактор для TypeScript (ви можете використовувати блокнот, якщо хочете, але я використовую з . Також .

Версія TypeScript

Замість використання стабільної версії компілятора TypeScript ми будемо вивчати багато нових речей в цій книзі, які можуть ще не бути пов'язані з конкретним релізом (зборкою компілятора). Я загалом рекомендую людям використовувати "нічну" версію, оскільки тестовий набір компілятора лише з часом виявляє більше помилок.

Примітка перекладачів: під час написання книги актуальна версія була 2.0, на сьогодні це версія 5.0 яка є логічним продовженням попередніх версій. Версія компілятора важлива, оскільки новий функционал робить використання більш зручним, продуктивним, безпечним та швидким. Тому рекомендую використовувати останню версію компілятора. Але це не впливає на якість матеріалу поданого в книзі, оскільки він є актуальним для будь-якої версії компілятора, та обговорюються базові та розширені навички програмування на TypeScript.

Для встановлення "нічної" версії використовуйте комманду в терміналі:

# За допомогою npm менеджера пакетів
npm install -g typescript@next

# АБО за допомогою yarn менеджера пакетів
yarn install -g typescript@next # старий сінтаксис
yarn global add typescript@next # сучасний сінтаксис

Після цього командний рядок tsc буде запускати останню та найкращу версію. Різні IDE також підтримують його, наприклад:

  • Ви можете попросити vscode використовувати цю версію, створивши .vscode/settings.json з наступним вмістом:

{
  "typescript.tsdk": "./node_modules/typescript/lib"
}

Примітка перекладачів: усі комманди ві виконуєте в контексті папки з файлами проекту. Якщо ви не стоворили папку проекту, то ймовірно ви будете виконувати їх в папці C:\Users\{user_name}\ або /home/{user_name}/ (залежно від вашої ОС). Тобто в глобальному контексті вашої ОС. Аби уникнути проблем з конфліктами версій, рекомендую виконувати всі комманди в контексті папки з файлами проекту.

Де Шукати Код-Приклади з Книги

Код використанний в книжці доступний в репозиторії книги на github репозіторії https://github.com/basarat/typescript-book/tree/master/code більшість прикладів можна скопіювати в vscode і "побавитись" (модифікувати та експериментувати) в них. Для прикладів які потребують додаткових налаштувань (наприклад npm модулів) ми будемо посилатися на код прикладу перед тим як показувати код. Наприклад:

this/will/be/the/link/to/the/code.ts

// Це код який ми будемо обговорювати
// This will be the code under discussion

З завершенням початкового налаштуванням, на часі перейти до синтаксису TypeScript.

Примітка перекладачів: з останніми версіями менеджерів пакетів все більш популярним стає концепт PnP (Plug'n'Play) який дозволяє використовувати пакети без їх встановлення в папку node_modules. Це дозволяє уникнути конфліктів версій та зменшити час виконання команд. Якщо ви використовуєте PnP, то вам варто ознайомитись з цим концептом та конфігурацією, наприклад за посиланням.

Примітка перекладачів: усі файли будуть на англійській мові, як їх назви так і вміст. Це необхідна частина для повноцінного вивчення TypeScript. Якщо ви не впевнені в перекладі, то використовуйте або для уточнення та додаткових питань які можуть виникнути.

цим
Google Translate
ChatGPT
в коді
NPM
vscode 🌹
розширенням яке я написав
багато інших IDE's підтримують його
Давайте почнемо з TypeScript
Версія TypeScript
Де Шукати Код-Приклади з Книги