PROG_WAY_BLOG Telegram 293
В чем заключается разница между интерфейсом и типом?

Для меня большое удивление, что я до сих пор не смог найти нормального материала, где был бы описан этот вопрос. В этом после я планирую исправить эту несправедливость.

Тип — обозначается ключевым словом type — представляет собой либо описание структуры (объекта, функции…), либо набор других типов или структур:

// набор типов
type Identifier = string | boolean;

// описание структуры
type Person = {
name: string;
age: number;
}

// набор типов или структур
type Foo = Person | string;


Интерфейс — обозначается ключевым словом inderface — может описывать только структуры:

interface Props {
title: string;
visible?: boolean;
}


Особенности типов:
1. Только типами можно создать типы-объединения (они же union type):

type Identifier = string | number
type Animal = Dog | Cat


2. Только типами можно создавать кортежи, фиксируя тип элемента массива по индексу и длину массива:

type Cortage = [string, number, boolean]


3. Только с помощью типов можно создавать псевдонимы (они же alias):

type Name = string
type Author = Name


4. Типами проще и красивее создавать описание функций:

type Foo = (a: string) => number

interface Foo {
(a: string): number
}


Особенности интерфейсов:
1. Только интерфейсы имеют перегрузку типов:

interface Person {
name: string
}

interface Person {
age: number
}

const kate: Person = {
name: "Екатерина",
age: 24
}


2. Только интерфейсы могут быть имплементированы:

interface Person {}

class Fireman implements Person {}


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

Спасибо за прочтение, это важно для меня ❤️

#web #theory #typescript



tgoop.com/prog_way_blog/293
Create:
Last Update:

В чем заключается разница между интерфейсом и типом?

Для меня большое удивление, что я до сих пор не смог найти нормального материала, где был бы описан этот вопрос. В этом после я планирую исправить эту несправедливость.

Тип — обозначается ключевым словом type — представляет собой либо описание структуры (объекта, функции…), либо набор других типов или структур:

// набор типов
type Identifier = string | boolean;

// описание структуры
type Person = {
name: string;
age: number;
}

// набор типов или структур
type Foo = Person | string;


Интерфейс — обозначается ключевым словом inderface — может описывать только структуры:

interface Props {
title: string;
visible?: boolean;
}


Особенности типов:
1. Только типами можно создать типы-объединения (они же union type):

type Identifier = string | number
type Animal = Dog | Cat


2. Только типами можно создавать кортежи, фиксируя тип элемента массива по индексу и длину массива:

type Cortage = [string, number, boolean]


3. Только с помощью типов можно создавать псевдонимы (они же alias):

type Name = string
type Author = Name


4. Типами проще и красивее создавать описание функций:

type Foo = (a: string) => number

interface Foo {
(a: string): number
}


Особенности интерфейсов:
1. Только интерфейсы имеют перегрузку типов:

interface Person {
name: string
}

interface Person {
age: number
}

const kate: Person = {
name: "Екатерина",
age: 24
}


2. Только интерфейсы могут быть имплементированы:

interface Person {}

class Fireman implements Person {}


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

Спасибо за прочтение, это важно для меня ❤️

#web #theory #typescript

BY progway — программирование, IT


Share with your friend now:
tgoop.com/prog_way_blog/293

View MORE
Open in Telegram


Telegram News

Date: |

With the administration mulling over limiting access to doxxing groups, a prominent Telegram doxxing group apparently went on a "revenge spree." Joined by Telegram's representative in Brazil, Alan Campos, Perekopsky noted the platform was unable to cater to some of the TSE requests due to the company's operational setup. But Perekopsky added that these requests could be studied for future implementation. Telegram channels enable users to broadcast messages to multiple users simultaneously. Like on social media, users need to subscribe to your channel to get access to your content published by one or more administrators. A new window will come up. Enter your channel name and bio. (See the character limits above.) Click “Create.” As of Thursday, the SUCK Channel had 34,146 subscribers, with only one message dated August 28, 2020. It was an announcement stating that police had removed all posts on the channel because its content “contravenes the laws of Hong Kong.”
from us


Telegram progway — программирование, IT
FROM American