Какво е TypeScript интерфейс срещу тип?

Kakvo E Typescript Interfejs Sresu Tip



TypeScript поддържа потребителски типове, които могат да бъдат дефинирани чрез „ интерфейс ' или ' Тип ”. Интерфейсът може да бъде имплементиран от клас или обект, докато псевдонимът на тип може да се използва само за създаване на ново име за съществуващ тип или за дефиниране на съюз от типове. Въпреки че типовете и интерфейсите често са взаимозаменяеми, има определени разлики в тяхната функционалност и синтаксис, които ги правят по-подходящи за определени сценарии.

Този блог ще опише интерфейса и типа на TypeScript и тяхната разлика.







Какво е TypeScript интерфейс срещу тип?

Интерфейс ' и ' Тип ” се използват за дефиниране на потребителски типове в TypeScript. Но има някои разлики в тяхната функционалност и синтаксис. Основната разлика между интерфейс и тип е, че интерфейсът дефинира нов тип, докато псевдонимът на типа не го прави.



Интерфейсът може да бъде имплементиран от клас или обект, докато типовете могат да дефинират по-сложни типове, използвайки функции като обединения и пресичания. Като цяло интерфейсите се използват по-често за дефиниране на форми на обекти и API, докато типовете се използват по-често за дефиниране на сложни типове данни и типове помощни програми. Нека разберем и двете поотделно.



Какво е TypeScript интерфейс?

Интерфейсът TypeScript е техника за дефиниране на формата на TypeScript обект. Създаден е с помощта на ключовата дума „ интерфейс ” и указва набор от атрибути и методи, които даден обект изисква, за да бъде класифициран като от този тип. Той е еквивалентен на клас в обектно-ориентираното програмиране; обаче не дефинира никаква реализация. Интерфейсите се използват главно за проверка на типа и гарантиране, че обектът отговаря на конкретна структура.





Преди да продължите, имайте предвид, че за да изпълните TypeScript файл, той трябва да бъде транспилиран в JavaScript файл и след това да изпълните JavaScript кода на терминала, като използвате дадените команди:

tsc име на файл.ts
възел име на файл.js


Пример



Създайте интерфейс с име „Потребител“, който дефинира три атрибута и метод „ getInfo() ”:

потребителски интерфейс {
firstName: низ;
фамилно име: низ;
възраст: номер;
getInfo ( ) : празен;
}


Създайте клас ' Студент ”, който се наследява с интерфейс. Класът дефинира своите атрибути, конструктор, който ще присвои стойностите на атрибутите, и метод „getInfo()“, който ще покаже стойностите спрямо атрибутите:

клас Ученик изпълнява Потребител {
firstName: низ;
фамилно име: низ;
възраст: номер;

конструктор ( име: низ, фамилия: низ, възраст: номер ) {
this.firstName = firstName;
this.lastName = фамилно име;
this.age = възраст;
}
getInfo ( ) : недействителен {
console.log ( „Информация за студенти:“ )
console.log ( '- Име: ' + this.firstName + ' ' + this.lastName ) ;
console.log ( '- Възраст: ' + тази.възраст ) ;
}
}


Създайте обект от „ Студент ' на име ' std ' на ' Потребител ”, като извикате конструктора с ключовата дума „new” и след това извикайте метода getInfo(), за да отпечатате данните на конзолата:

const std: потребител = нов ученик ( 'прилеп' , 'Стив' , 17 ) ;
std.getInfo ( ) ;


Изход

Какво е тип TypeScript?

Типовете TypeScript се използват най-вече за създаване на псевдоними за съществуващи типове, както и за създаване на по-сложни типове. Той представлява специфична форма или структура от данни. Може да се дефинира/декларира с „ Тип ” ключова дума. Типовете на TypeScript могат да се използват, за да направят кода по-разбираем и да намалят повторенията/дублирането.

Пример

Първо, дефинирайте тип „ Потребител ' използвайки ' Тип “ ключова дума, посочена с пет свойства, едно от тях е незадължителен атрибут, който е „ телефон ”:

Тип Потребител = {
firstName: низ;
фамилно име: низ;
възраст: номер;
имейл: низ;
телефон?: низ;
} ;


Дефинирайте функция с име ' getFullName “, който приема параметър от тип „ Потребител ” и отпечатва данните, състоящи се от информацията за лицето, включително „ име ”, “ възраст ”, “ електронна поща ' и ' телефонен номер ”:

функция getInfo ( човек: потребител ) : недействителен {
console.log ( „Информация за потребителя:“ )
console.log ( '- Име: ' + person.firstName + ' ' + person.lastName ) ;
console.log ( '- Възраст: ' + човек.възраст ) ;
console.log ( '- Електронна поща: ' + person.email ) ;
console.log ( '-Телефон #: ' + човек.тел ) ;
}


Сега създайте обект ' човек 'от тип' Потребител ” с двойки ключ-стойност:

const лице: потребител = {
първо име: 'Mily' ,
фамилия: 'Майкъл' ,
възраст: 28 ,
електронна поща: 'mili124@yahoo.com' ,
телефон: '086-34581734'
} ;


И накрая, отпечатайте потребителската информация, като извикате функцията getInfo():

console.log ( getInfo ( човек ) ) ;


Изход


Това беше всичко за интерфейса и типа на TypeScript.

Заключение

В TypeScript, „ интерфейс ' и ' Тип ” се използват за дефиниране на потребителски типове. Интерфейсът може да бъде имплементиран от клас или обект, докато типовете могат да дефинират по-сложни типове, използвайки функции като обединения и пресичания. Това са мощните функции, които могат да помогнат за писането на по-организиран и мащабируем код. Този блог описва интерфейса и типа на TypeScript и тяхната разлика.