typescript interface type name code example

Example 1: typescript valueof interface

type ValueOf<T> = T[keyof T];

Example 2: typescript type vs interface

// Types are used to enforce the data type of a variable
// For example:

type Weekday = 'Monday' | 'Tuesday' | 'Wednesday' | 'Thursday' | 'Friday' | 'Saturday' | 'Sunday';

let day1: Weekday = 'Monday';  // OK
let day2: Weekday = 'January'; // ERROR: 'January' is not assignable to type 'Weekday'

// Interfaces are used to enforce the shape of an object
// For example:

interface Person {
  firstName: string;
  lastName: string;
  age: number;
}

// OK
let person1: Person = {
    firstName: 'James',
    lastName: 'Smith',
    age: 30
}

// ERROR: property 'age' is missing
let person2: Person = {
    firstName: 'Mary',
    lastName: 'Williams'
}

// NOTE: Technically, you can use types to enforce the shape of objects,
//       but that's not what they are intended for.

// More details: https://www.typescriptlang.org/docs/handbook/advanced-types.html

Example 3: 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 4: 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