Вход

Типы данных в typescript

Типы данных в 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
Ilya Web developer
Author

«Всегда пишите код так, будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете.»Martin Golding