Как сделать тип int typescript
Добрый день, это канал посвященный небольшим инструкциям, которые я пишу для себя и людей, которые являются начинающими разработчиками.
Также учтите, что данные лекции рассчитаны на то, что вы уже хоть немного знаете JavaScript. О том, как компилировать TypeScript вы можете узнать в моей статье .
Итак, для начала хочется просто перечислить все типы данных в TS (TypeScript), на случай, если просто вам нужно быстро освежить память:
- boolean - логическое значение;
- number - числовое значение;
- string - строки;
- array - массивы;
- tuple - кортежи;
- enum - перечисления;
- any - произвольный тип;
- null - null как и в обычном JavaScript;
- undefined - undefined как и в обычном JavaScript;
- void - отсутствие конкретного значения, используется в основном в качестве возвращаемого типа функций;
- never - также представляет отсутствие значения и используется в качестве возвращаемого типа функций, которые генерируют или возвращают ошибку.
Итого типов в TS 11 .
Давайте поговорим о каждом типе отдельно. Для объявления переменной необходимо написать, значение переменной можно изменить , но только на значение того же типа:
Для объявления константы необходимо написать, значение константы нельзя изменить :
В прошлой статье мы начали знакомиться с таким языком программирования как TypeScript. В этой мы продолжим рассматривать TypeScript и поговорим о типах данных этого языка.
Далее представлен список основных типов данных TypeScript:
- number - число
- string - строка
- boolean - логическое значение
- enum - перечисление
- void - нет возвращаемого типа
- null
- undefined
- any - любой тип
- Array - массив
- tuple - кортеж
Назначение переменной определенного типа данных происходит с помощью символа двоеточия (:).
Числовые типы данных
Числа в TypeScript - это значения с плавающей точкой, которые имеют тип number. Вы можете использовать любое представление чисел, будь-точкой десятичное, шестнадцатиричное, двоичное или восьмеричное.
let dec: number = 10 // десятичное
let hex: number = 0xffffff // шестнадцатиричное
let bin: number = 0b001 // двоичное
let oct: number = 0012 // восьмеричное
Строковой тип
Существенная часть работы при программировании связана с обработкой строк. В TypeScript, так же как и в JavaScript, строки заключаются в двойные или одинарные кавычки.
let name: string = "MyRusakov.Ru" let site: string = "Thematics"
Также, TypeScript поддерживает интерполяцию строк, т.е. вычисление значения внутри строки и подстановку этого значения.
let name: string = "MyRusakov.Ru" let site: string = "Web"
Логические типы данных обозначаются аналогично предыдущим:
Перечисляемый тип данных (enum TypeScript):
Перечисляемый тип данных - это набор именованных числовых значений.
enum Light < ON, OFF >// лампочка (вкл/выкл)
let light: Light = Light.ON // лампа включена
По умолчанию, значения в перечисляемом типе начинаются с нуля, но также вы можете использовать те числа, которые Вам необходимы.
Таким образом, TypeScript - это статически типизированный язык, что способствует созданию больших и поддерживаемых приложений.
Если Вы не хотите пропустить новые материалы на сайте,
то Вы можете подписаться на обновления: Подписаться на обновления
Если у Вас остались какие-либо вопросы, либо у Вас есть желание высказаться по поводу этой статьи, то Вы можете оставить свой комментарий внизу страницы.
Порекомендуйте эту статью друзьям:
Если Вам понравился сайт, то разместите ссылку на него (у себя на сайте, на форуме, в контакте):
Она выглядит вот так:
Комментарии ( 0 ):
TypeScript — один из языков программирования, получивший широкое признание в профессиональных кругах. Многие веб-разработчики отдают ему предпочтение и используют для создания новых программ. Краткий ответ на вопрос “Что такое TypeScript?” заложен в его названии: TypeScript — это язык программирования, реализовавший систему типов JavaScript. Иными словами, TypeScript — язык расширения возможностей JavaScript.
Почему мы используем TypeScript?
Зачем нам изучать другой язык, если JavaScript и без того достаточно сложен и многослоен? Что движет приверженцами TypeScript — подражание другим компаниям, взявшим на вооружение TypeScript, или просто дань моде на новейшие технологии?
TypeScript может повысить качество и производительность кода JavaScript. Убедиться в этом помогут два аргумента, приведенных ниже.
Предотвращение ошибок
TypeScript повышает качество и читабельность кода, облегчая поддержку и рефакторинг приложений. В частности, он может уменьшить количество ошибок в приложениях, поскольку находит ошибки в процессе компиляции, а не во время выполнения.
Давайте сравним два кода ниже и посмотрим, как TypeScript заранее предотвращает ошибки.
Оба кода являются функциональными, получающими сумму двух чисел. Первый написан на JavaScript, другой — на TypeScript. Посмотрим на результат с помощью этой функции.
Добавим числа 10 и 20 с помощью функции add (). Ожидаемый результат, который мы должны получить, — 30.
Однако, если строковое значение будет введено в функцию add (), написанную с помощью JavaScript, мы не сможем получить ожидаемое значение с помощью функции add ().
Неверный результат JavaScript
Посмотрим теперь на код, написанный на TypeScript. Как видите, редактор кода Visual Studio Code уже предупреждает нас о том, что в аргумент функции вставлено неверное значение.
Автозаполнение кода и руководство
Еще одно преимущество TypeScript заключается в том, что он позволяет нам максимально использовать возможности инструмента разработки при написании кода. Visual Studio Code, который обычно используется в разработке клиентской части приложений, оптимизирован для работы в TypeScript, поскольку этот инструмент создан на основе TypeScript.
Давайте посмотрим на код JavaScript ниже и оценим преимущества добавления типа в JavaScript для разработчика.
Приведенный выше код использует функцию add (), ранее выведенную нами, чтобы получить результат как сумму двух чисел, а затем добавляет “toLocaleString() API”, где числа помечены в соответствии с выражением определенного языка. Не имеет значения, какую роль выполняет API под названием “toLocaleString ()”, но важно, что JavaScript не мог распознать во время написания кода, что тип общей переменной — число.
Другими словами, сами разработчики ожидают результата функции add (), а затем предполагают, что типом результата должно быть число, прежде чем писать код “toLocaleString ()”, чей API содержит число. Взгляните на этот процесс.
Как вы видели, тип общей переменной произвольный, поэтому я вводил данные поочередно, чтобы написать “toLocaleString ()”, чей API предоставляет JavaScript Number. Если бы я допустил опечатку и написал “toLocalString()”, заметить ошибку можно было бы только тогда, когда файл ex-1.js был бы запущен в браузере.
А что произойдет, если код будет написан в TypeScript, как показано ниже?
Поскольку тип уже указан для общей переменной, Visual Studio Code может предварительно просматривать API для этого типа, поэтому позволяет быстро и точно записать API с помощью вкладок, а не вводить данные поочередно.
Number
String
Boolean
Undefined и Null
Типы Undefined и Null редко бывают необходимы сами по себе, однако становятся полезными при использовании с типом Union.
Unknown и Any
Лучше не допускать использования типов Unknown и Any в TypeScript, чтобы избежать создания кода, характерного для JavaScript.
Как вы можете видеть, в уже объявленную переменную можно ввести другой тип.
Обычно Void используется в качестве типа возврата для функций, которые не возвращают значение. Если вы хотите применять Void как тип возвращаемого значения при реализации функции, его можно опустить. Дело в том, что TypeScript принимает тип возврата за Void, если в функции нет типа возврата.
Never
Этот тип обычно используется для функции исключения или функции, имеющей бесконечный цикл.
Object
Не рекомендуется объявлять тип Object в переменной, так как значение может быть изменено.
Array
Tuple
Tuple представляет собой массив с элементами разных типов. Не стоит его использовать опрометчиво, кроме как для написания интерфейсов, псевдонимных типов или классов, потому что они менее разборчивы для чтения. Однако Tuple может быть полезен, если что-то возвращается в динамичном режиме, есть неоднозначный запрос в классе или интерфейсе, и пользователь определяет и записывает имя, группируя другие типы динамически связанных данных. Tulpe часто используется в React-хуках.
Alias
Если необходимо определить ваш собственный тип, вы можете использовать тип Alias.
Можно определить примитивные типы, а также типы форм объектов.
Важный момент заключается в том, что нельзя назначить что-либо другое, если это не включено в объект, который уже был объявлен. При наличии других данных, это будет ошибкой.
Union
Это тип, который означает A или B подобно OR-оператору “||” в JavaScript. Таким образом, тип Union лучше использовать в случае, когда нужно определить место только для одного из всех возможных случаев.
Функция move (), реализованная выше, может принимать в качестве факторов только аргументы, объявленные в типе Direction.
Приведенный выше код не вызывает ошибок, но рекомендуется использовать тип Discriminated Union, описанный ниже.
Discriminated Union
Тип Discriminated Union означает присвоение общего ключа, предназначенного для совместного использования внутри типа Union.
Тип Discrimination Union, пример которого приводится выше, позволяет более интуитивно писать код для приложения.
Intersection
Если в типе Union реализуется концепция “OR” (“ИЛИ”), то в типе Intersection — концепция “AND” (“И”).
При использовании типа Intersection, показанного в приведенном выше коде, значение аргумента должно быть задано всем ключам соответствующих типов, использующихся при вызове функции.
Это тип, который собирает и управляет значениями различных соотносимых констант в одном месте. Другими словами, тип Enum используется для набора конкретных значений.
В JavaScript константы обычно объявляются следующим образом.
В JavaScript API под названием freeze() может использоваться для придания объектам вида Enum, чтобы константы можно было сгруппировать и определить только один раз во избежание изменений.
Однако в TypeScript при объявлении Enum заглавными буквами пишется только первая буква, а не полностью все имя переменной.
Если начальное значение не задано, как показано в приведенном выше коде, оно увеличится на единицу от нуля.
Не рекомендуется часто использовать тип Enum в TypeScript, поскольку он может присваивать значения, отличные от Enum, даже если переменной Enum уже присвоен.
По этой причине в TypeScript тип Union используется чаще, чем Enum. Однако, когда необходимо обмениваться данными с другими языками, например, если веб-приложению и мобильному приложению необходимо взаимодействовать друг с другом, тип Union не может быть распознан на других языках, поэтому приходится использовать тип Enum.
Inference
TypeScript может самоопределиться, если тип не указан в переменной или функции.
TypeScript проверяет данные, присвоенные переменной, и считает текст переменной типом String, если он не объявляет String, как показано в приведенном ниже коде.
Хотя при реализации простых функций удобно использовать Inference, его использование при создании сложных функций может затруднить понимание кода разработчиками. Поэтому рекомендуется взять за правило всегда объявлять тип возврата при реализации функции.
Assertion
TypeScript позволяет переопределять Inference любым удобным для вас способом. Тип Assertion обычно используется для переноса кода из JavaScript, что рекомендуется, когда вы точно знаете тип возвращаемой функции или тип переменной. Если тип прогнозирования неопределен и вы его используете, ошибок во время компиляции и при написании кода не будет, но вы увидите неожиданные результаты в веб-браузере.
Обучение
Посмотрите это видео и поучитесь реализовать простую функцию calculate() с использованием вышеперечисленных типов.
TypeScript существенно упрощает разработку ввиду недостатков JavaScript, а сегодня речь пойдёт про типы данных в typescript.
Переменные объявляются следующим способом:
let x: number = 10
Константы:
const X: number = 10
В TypeScript можно использовать и var, но данное ключевое слово имеет ряд недостатков, известных нам из js, поэтому предпочтительней будет использовать let
Примитивные типы данных в typescript
let list: number[] = [10, 20, 30] или let s: Array = ['text1', 'text2']
let s: [string, number] = ['text', 10]
enum month < December, January >console.log(month.December) console.log(month[1]) // можно задавать свои значения для перечислений enum month
тип которых может быть неизвестен на момент написания приложения.
let n: any = 123 // можно переопределить any = "text"
// создаём новый тип my_type который может содержать строку type my_type = string const a1: my_type = "text" // создаём новый тип my_type который может содержать строку или число type my_type = string | number const a1: my_type = "text" const a2: my_type = 123
Функции
Функция может возвращать значение return (тогда указывается тип возвращаемого значения), или не возвращать Void
function myFunction(a: number, b: number): number < return a + b >myFunction(5, 10)
let myFunction = function(a: number, b: number): number < return a + b >myFunction(5, 10)
let myFunction = function(a: number, b: number): number < return a + b; >let strel : (x: number, y: number) => number strel = myFunction strel(10, 20) или let strel = (x: number, y: number) => x + y console.log(strel(10, 20))
Параметры по умолчанию:
function myFunction(a: number = 100, b: number = 2): number < return a + b >myFunction(5, 10)
Не обязательные параметры в функции:
обозначаются ?
function myFunction(a: number, b?: number): number < return a + b >myFunction(5, 10) myFunction(5) // не будет ошибкой, так как параметр b не обязательный
Неопределенный набор параметров
function myFunction(. mass: number[]): number < return 0; >myFunction(1, 4, 5) myFunction(1)
Сначала объявляются все версии функции, а потом уже идёт внутренняя логика
function myFunction(a: string): string function myFunction(a: string, b: number): number function myFunction(a: number, b: number): number
Читайте также: