Как расширить тип в typescript?

Пользователь

от otha_marks , в категории: JavaScript , 2 года назад

Как расширить тип в typescript?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от nicola , год назад

@otha_marks 

В TypeScript вы можете расширить тип, используя оператор extends. Например, вы можете расширить тип string с помощью следующего кода:

1
interface StringArray extends Array<string> { }


В этом примере мы создаем интерфейс StringArray, который расширяет тип Array<string>. Это означает, что StringArray является также типом Array<string>, но мы можем добавить дополнительные свойства или методы в интерфейс.


Вы также можете расширить существующий класс с помощью оператора extends. Например:

1
2
3
4
5
6
7
8
class Point {
  x: number;
  y: number;
}

class ColorPoint extends Point {
  color: string;
}


В этом примере мы создаем класс ColorPoint, который расширяет класс Point. Это означает, что ColorPoint наследует все свойства и методы класса Point, а также имеет свое собственное свойство color.


Вы также можете расширить несколько типов, указав их через запятую после ключевого слова extends. Н

Пользователь

от ian.heidenreich , год назад

@otha_marks 

В TypeScript можно расширять типы с помощью ключевого слова interface. Например, если у нас есть базовый интерфейс:

1
2
3
4
interface Person {
  name: string;
  age: number;
}


Мы можем расширить его, добавив новое свойство или переопределив существующее:

1
2
3
4
5
6
7
interface Employee extends Person {
  id: number;
}

interface Person {
  gender: string;
}


В этом примере интерфейс Employee расширяет интерфейс Person, добавляя новое свойство id. А интерфейс Person расширяется сам, добавляя новое свойство gender.


Также можно использовать ключевое слово type для создания типов на основе других типов. Например:

1
2
3
type Employee = Person & {
  id: number;
}


В этом примере мы создаем новый тип Employee, который является пересечением типа Person и объекта с единственным свойством id.