@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
. Н
@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
.