interface or type typescript code example

Example 1: typescript class interface

interface IPerson {
  name: string
  age: number
  hobby?: string[]
}

class Person implements IPerson {
  name: string
  age: number
  hobby?: string[]

  constructor(name: string, age: number, hobby: string[]) {
    this.name = name
    this.age = age
    this.hobby = hobby
  }
}

const output = new Person('john doe', 23, ['swimming', 'traveling', 'badminton'])
console.log(output)

Example 2: typescript interface vs type

// for starters:
// interfaces and types are very similar, they just differ in syntax

// interface
interface Car {
  name: string;
  brand: string;
  price: number;
}

// type
type Car = {
  name: string;
  brand: string;
  price: number;
}

// interface
interface Car extends Vehicle {
  name: string;
  brand: string;
  price: number;
}

// type
type Car = Vehicle & {
  name: string;
  brand: string;
  price: number;
}

Example 3: typescript interface

interface LabeledValue {
  label: string;
}

function printLabel(labeledObj: LabeledValue) {
  console.log(labeledObj.label);
}

let myObj = { size: 10, label: "Size 10 Object" };
printLabel(myObj);Try