TypeScript



TypeScript

0 0


type-script


On Github faruh-narzullaev / type-script

TypeScript

Big JavaScript Apps

  • Модульность
  • Тестирование
  • Фреймворки

CoffeeScript (2009)

  • Rails

  • DropBox

  • GitHub

CoffeeScript

Плюсы:

  • Короткий синтаксис
  • Совместим с JavaScript кодом
  • Много новых конструкций

Минусы:

  • Не стал проще
  • Генерит непонятный JS код
  • Не совместим с ES6
  • Свой синтаксис

Google Dart (2011)

  • Google

  • Blossom

  • Quire

Dart

2011

100kb

2012

20kb

2014

8 lines

Плюсы:

  • Строгая типизация
  • Много новых конструкций
  • IDE в комплекте

Минусы:

  • Генерит непонятный JS код
  • Не совместим с JavaScript
  • Другой язык

Microsoft TypeScript (2012)

Андерс Хейлсберг

Автор: Turbo Pascal, Delphi и C#

What is TypeScript?

  • Надмножество JavaScript
  • Компилируется в чистый JavaScript.
  • Cтрого типизированный (опционально!)
  • Позволяет быстрее и проще писать сложные комплексные решения, которые легче развивать и тестировать в дальнейшем.

TypeScript Projects

  • Office 365
  • Visual Studio Online
  • Visual Studio Code
  • Angular 2

TypeScript Development

  • Следование спецификациям ECMAScript
  • Поддержка типов данных

Installation/Usage

The command-line TypeScript compiler can be installed as a Node.js package.

npm install -g typescript
$ tsc helloworld.ts

Basic Data Types

  • Частичная замена документации
  • Частичная замена Unit тестов

Type Aliases

Enum

Interfaces

Interfaces (Optional Properties)

Interfaces (Typed Functions)

Interfaces (Typed Arrays)

Interfaces (Typed Classes)

Interfaces (Hybrid Types)

Types Union

Declaration Merging

Abstract Classes (Access modifiers)

Mixins (Примеси)

Generics (Functions/Classes)

Generics (Constraints)

  • Функция или класс работает с определенным диапозоном типов данных.

Generics (Constraints)

  • Функция или класс использует обобщенный тип данных в нескольких местах.

Decorators

Это обычная функция которая модифицирует класс, свойство, метод или параметр метода.

Decorators

Decorators (sample)

Separate Files

Third Party Libraries

http://definitelytyped.org/

jQuery Parallax Example

Compiler Options (tsconfig.json)

path-to-project> tsc

Resources

http://www.typescriptlang.org/

http://definitelytyped.org

Thank you for attention.

TypeScript