Что такое Typearcript?
TeampScript Разработанный и поддерживаемый язык программирования Microsoft Отказ Он представляет дополнительные функции, такие как строгие привязки типа (переменные связаны с конкретными типами данных) до JavaScript и также может быть скомпилирован до JavaScript также.
TeampScript Это проект с открытым исходным кодом, а исходный код для него доступен на GitHub.
Какие дополнительные функции вводят в типографии?
TeampScript Добавляет несколько дополнительных функций для JavaScript. Наиболее важной является строгий печати (он включен по умолчанию, но можно отключить в случае, если разработчик не хочет его использовать).
Помимо строгих печати, TeampScript вводит множество функций, таких как Интерфейсы , Смесиновые классы , Поручитель И гораздо больше, как обсуждалось позже в статье.
Почему вы должны использовать Tymdercript?
Если описанные выше функции были недостаточно, чтобы убедить вас использовать TeampScript Следующая причина определенно сделает это. TeampScript преодолевает самый большой вопрос с JavaScript ; который является: проблема может быть обнаружена только во время выполнения в JavaScript , что может привести к приложениям с отгруженными ошибками к конечным пользователю. Это повлияет на любой бизнес отрицательно, препятствуя Пользовательский опыт . TeampScript Удаляет эту проблему, проверяя любую проблему во время компиляции.
Следующий скрипт не поднимет никаких ошибок при использовании JavaScript , но если вы используете TeampScript Компилятор укажет, что не существует не существует на объекте обман
const obj = {
foo: "baz",
};
console.log(obj.nonExistentProperty);
Даже если вы используете редактор, используя TeampScript Предоставляет вам лучшие предложения и проживание, как показано ниже:
GetWeatherDetails () примет логическое значение, которое TeampScript указывает, но JavaScript не может сделать это.
Начало работы с Skyscript
Достаточно теоретических вещей. Теперь давайте принесем наши руки грязные, написание наших первых TeampScript скрипт
Примечание : Вам понадобится Node.js и менеджер пакетов ( NPM или пряжа В этой статье мы будем использовать NPM Несомненно Установлено для использования TeampScript локально. Вы можете использовать онлайн-компилятор, такой как TeampStry Playground для компиляции, но это не хорошая идея в случае большого проекта.
Чтобы установить TeampScript глобально (заменить -G тег с -D Чтобы добавить его как Дева зависимость В оформлении Узел Пакет) Используйте следующую команду:
npm install -g typescript
Теперь вы сможете компилировать любой TeampScript код для JavaScript Отказ Давайте проверим его с помощью основного фрагмента:
const obj = {
foo: "baz",
};
console.log(obj);
Чтобы скомпилировать использование файла (вы также можете использовать команды без установки Tymdercript , добавляя NPX Перед каждой командой):
tsc.ts
Вы найдете новый файл <имя файла> .js создан в той же папке, которая может быть запущена как любой JavaScript файл.
Tymdercript VS Dilemma JavaScript
Теперь вы можете придумать 2 вопроса:
- Почему TeampScript Код должен быть скомпилирован на JavaScript ?
- Если код компилирует до JavaScript Почему мы беспокоим пишу в TeampScript ?
Ответ на первый вопрос – TeampScript Не понят ни с каким-то браузером, поэтому он должен быть преобразован в JavaScript Так что, что браузеры могут выполнить код.
Ответ на второй вопрос будет такой же, как, почему вы должны использовать TeampScript над JavaScript Он предлагает тип проверки в совокупности в зависимости от времени выполнения. Если вы попытаетесь компилировать Test.ts С ошибкой (как показано в Почему вы должны использовать Typearcript ? Раздел) Компилятор бросит ошибку и предупреждает вас о неверном коде.
Характерна характеристики
Как упоминалось ранее, TeampScript имеет несколько дополнительных функций по сравнению с JavaScript Мы будем идти через несколько из них в этом разделе.
Тип Система
Типы по умолчанию доступны в TeampScript приведены ниже:
| Количество | количество | Двойные прецизионные 64-битные значения плавающих точек. Его можно использовать для представления как целых чисел, так и долей. |
| Нить | нить | Представляет последовательность символов Unicode |
| Логический | логический | Представляет логические значения, истинные и ложные |
| Пустота | пустота | Используется на функции Типы возвратов для представления не возвращающихся функций |
| Нулевой | нулевой | Представляет собой преднамеренное отсутствие ценности объекта. |
| Неопределенный | неопределенный | Обозначает значение, учитывая все неинициализированные переменные |
TeampScript Также позволяет объединять 2 или более типов данных для создания Союз
let union: number | string; union = 10; union = "Hello World"; // union = true // ERROR!!! `union` can only be a number or a string
В случае JavaScript , ошибка не была бы указана и может привести к ошибкам вниз по линии.
Интерфейсы
TeampScript Интерфейс Позволяет описать, как будет выглядеть объект, то, что невозможно в JavaScript Отказ
// Interfaces for Objects
interface IObjectDefination {
foo: number[]; // foo is a number array
baz: Date; // baz is a date
[key: number]: string; // any other key (only numbers) can contain a string as its value
}
let obj: IObjectDefination;
// Interfaces for Classes
interface IClassDefination {
data: string;
func: () => void;
}
class Class implements IClassDefination {
data: string;
func() {
return;
}
}
Поручитель
Enums Разрешить разработчику определить набор именованных констант, что облегчает документ о намерениях или создать набор различных случаев.
enum Direction {
Up,
Down,
Left,
Right,
}
function move(direction: Direction) {
// ...
}
move(Direction.Up);
move(Direction.Down);
Достижение Похожие Результат с JavaScript потребует вам создать объект с соответствующими ключами. Даже тогда мы не сможем указать тип данных направление в Переместить () Отказ
const Direction = {
Up: "Up",
Down: "Down",
Left: "Left",
Right: "Right",
};
Оптимизация Tearpcript Compilation
Ранее мы использовали TSC Чтобы скомпилировать один TeampScript файл. Это может стать проблемой в случае крупного проекта с тысячами файлов. В этом случае вы можете настроить слушателя, чтобы посмотреть за изменения.
Для просмотра для изменений вам нужно создать tsconfig.json Файл в корневом каталоге вашего проекта и добавьте следующее:
{
"compilerOptions": {
"target": "es5",
"module": "commonjs",
"strict": true,
"outDir": "dist"
},
"include": ["src"],
"exclude": ["node_modules", "dist"]
}
Поочередно, вы можете использовать TSC --init Для создания файла (сгенерировано предварительно настроен и со всеми параметрами, ненужные комментарированные).
Теперь вы можете настроить слушатель
tsc -w
Теперь любой TeampScript файл, который вы создаете или измените в Src. ( Tsconfig.include ) Папка будет скомпилирована на JavaScript Файл в Dist ( tsconfig.compilerOptions.outdir ) Папка всякий раз, когда вы вносите какие-либо изменения.
Примечание : Вы можете добавить tsconfig.json К любому из ваших Узел Пакеты и конвертировать его из JavaScript Проект к TeampScript один.
Заключение
В этой статье мы прошли через что TeampScript Есть и как это может помочь вам написать лучший код. Мы видели некоторые функции, которые он предлагает и Как определенные функции, такие как Enums а также Интерфейсы может сделать вашу жизнь немного проще. Теперь пришло время добавить TeampScript в ваш собственный проект!
Узнайте полный стек веб-разработки
Оригинал: “https://dev.to/coderslang/what-is-typescript-and-why-should-you-use-it-3mfd”