Типы данных в typescript
TypeScript существенно упрощает разработку ввиду недостатков JavaScript, а сегодня речь пойдёт про типы данных в typescript.
Переменные объявляются следующим способом:
let x: number = 10
Константы:
const X: number = 10
В TypeScript можно использовать и var, но данное ключевое слово имеет ряд недостатков, известных нам из js, поэтому предпочтительней будет использовать let
Примитивные типы данных в typescript
- Boolean
- Number
- String
- Array
1 2 3
let list: number[] = [10, 20, 30] или let s: Array<string> = ['text1', 'text2']
- Tuple — кортежи
1
let s: [string, number] = ['text', 10]
- Enum — перечисления
1 2 3 4 5 6 7 8 9 10 11 12
enum month{ December, January } console.log(month.December) console.log(month[1]) // можно задавать свои значения для перечислений enum month{ December = 12, January = 'month 1' }
- Any — произвольный тип
тип которых может быть неизвестен на момент написания приложения.
1 2 3
let n: any = 123 // можно переопределить any = "text"
- Null и undefined — наследство от JavaScript
- Type — собственные типы данных
1 2 3 4 5 6 7 8
// создаём новый тип 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
- Именованная функция
1 2 3 4
function myFunction(a: number, b: number): number { return a + b } myFunction(5, 10)
- Анонимная функция
1 2 3 4
let myFunction = function(a: number, b: number): number { return a + b } myFunction(5, 10)
- Стрелочные функции
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | 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)) |
Параметры по умолчанию:
1 2 3 4 | function myFunction(a: number = 100, b: number = 2): number { return a + b } myFunction(5, 10) |
Не обязательные параметры в функции:
обозначаются ?
1 2 3 4 5 | function myFunction(a: number, b?: number): number { return a + b } myFunction(5, 10) myFunction(5) // не будет ошибкой, так как параметр b не обязательный |
Неопределенный набор параметров
1 2 3 4 5 | function myFunction(...mass: number[]): number { return 0; } myFunction(1, 4, 5) myFunction(1) |
Перегрузка функций
Сначала объявляются все версии функции, а потом уже идёт внутренняя логика
1 2 3 4 5 | function myFunction(a: string): string function myFunction(a: string, b: number): number function myFunction(a: number, b: number): number { return 0; } |
17 ноября 2020 /
2426 Views /
0 Comment