TypeScript — Объекты

TypeScript — Объекты

От автора: в TypeScript объекты — это экземпляры, которые содержат набор пар ключ-значение. Значениями могут быть скалярными значениями или функциями, или даже массивами других объектов. Синтаксис приведён ниже.

Синтаксис

Как показано выше, объект может содержать скалярные значения, функции и структуры, например массивы и кортежи. Пример: Нотация объектного литерала

После компиляции, мы получим тот же код JavaScript. Результат выглядит следующим образом:

Шаблон типа TypeScript

Предположим, вы создали в JavaScript такой литерал объекта:

Если вы хотите добавить объекту какое-то значение, JavaScript позволяет выполнить необходимые модификации. Предположим, потом нам нужно добавить объекту person функцию, вот как мы можем это сделать.

Если вы используете тот же код в Typescript, компилятор выдаст ошибку. Это связано с тем, что в Typescript конкретные объекты должны иметь шаблон типа. Объекты в Typescript должны быть экземплярами определённого типа. Решить эту проблему можно используя шаблон метода в объявлении. Пример: Шаблон типа Typescript

После компиляции, мы получим тот же код JavaScript. Результат выглядит следующим образом:

Объекты также могут быть переданы функции в качестве параметра. Пример: Объекты в качестве параметров функции

В этом коде мы объявляем литерал объекта. Выражение функции вызывается путём передачи объекта person. После компиляции мы получим следующий JavaScript код:

Результат выглядит следующим образом:

Вы можете оперативно создавать и передавать анонимный объект. Пример: Анонимный объект

После компиляции мы получим следующий код JavaScript:

Результат выглядит следующим образом:

Концепция duck-typing заключается в том, что два объекта считаются объектами одного типа, если оба они имеют одинаковый набор свойств. Чтобы проверить их соответствие, duck-typing подтверждает наличие определённых свойств у объектов, а не их действительный тип. Концепцию можно объяснить при помощи следующей фразы:

“Когда я вижу птицу, которая ходит, как утка, плавает, как утка, и крякает как утка, я считаю, что эта птица — утка”. TypeScript компилятор реализует систему duck-typing, которая позволяет оперативно создавать объект и сохранять безопасность типов. Следующий пример иллюстрирует, как мы можем передавать объекты функции, которые неявно реализуют интерфейс, но содержат все требующиеся члены.

Пример

Источник: //www.tutorialspoint.com/

Редакция: Команда webformyself.

Метки:

Похожие статьи:

Комментарии Вконтакте: