TypeScript and Duck Typing

interface IItem 
id: number,
title: string
function print(item: IItem)
console.log(item.id + " > " + item.title);
var i : IItem = {
id: 10,
title : "ABC"
//Ok - As it implements IItem
//Ok - As it implicitly implements IItem
print({ id: 11, title: "XYZ" });
interface IProduct
id: number,
title: string,
author: string
var book: IProduct = {
id: 1,
title: "C# in Depth",
author: "Jon Skeet"
//Ok - Even though book implements IProduct and not the IItem
//It has two properties "id" and "title"
//which is actually the print function is interested in




Love podcasts or audiobooks? Learn on the go with our new app.

Recommended from Medium

Sharing Local Angular Libraries without NPM

VulcanJS 1.8: A Better Architecture

And then I saw her Face++

Tutorial: JavaScript Operator

Front-end Reading in Depth Week-18

Configuring Jest With Next.js

Let’s build a content extract endpoint — part 3

How I made my own file compressor using Node.js

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Ajay Bhosale

Ajay Bhosale

More from Medium

A Brief Introductio

Forcing string patterns in Typescript

What is Typescript