typescript type vs interface

/**
* Modern Typescript types and interfaces are both very powerful (2020)
* It is almost down to personal choice, these days. 
* Key differences:
   - The type alias can also be used for other types such as primitives, 
   unions, and tuples.
   - Unlike a type alias, an interface can be defined multiple times, 
   and will be treated as a single interface
* Decision on when to use:
   - Personally, I use the interface to make it clear that it 
   is intended to be implemented and types for everything else.
*/

// type
type Person = {
  name: string;
  age: number;
}

type speak = (sentence: string) => void;

// interface
interface Person extends Human {
  name: string;
  age: number;
}

interface speak {
  (sentence: string): void;
}

4
5
Mjfgates 85 points

                                    // 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

4 (5 Votes)
0
0
1
Rojomoke 60 points

                                    // 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;
}

0
0
Are there any code examples left?
Create a Free Account
Unlock the power of data and AI by diving into Python, ChatGPT, SQL, Power BI, and beyond.
Sign up
Develop soft skills on BrainApps
Complete the IQ Test
Relative searches
typescript interface type difference difference between interface and types typescript what hs difference between type and interface in typescript what is difference between type and interface in typescript typescript interface vs class for model difference type interface typescript which is better type or interface typescript interface vs typeof typescript difference between interface and type ts class vs interface typescript features interface and type difference ts angular type vs interface Typescript difference between custom type and interface typescript difference type interface what is the difference between interface and type in typescript typescript initialize interface vs class typescript type vs interface example difference between type and interface ts interface vs type typescript diferencias what is the difference between interface and class typescript typescript interface vs type vs class javascript interface vs typescirpt ts type vs interface examples variable type interface difference typescript typescript when to use interface vs class class vs interface in typescript typescript angular interface vs class typescript interface versus type type vs interface typesscirpt difference type vs interface typescript interface vs class typescript angular typescript model interface vs class type vs interface in typescript difference between class and interface typescript interface vs types in typescript typescript class vs interface vs type interface vs type in typescript types vs interfaces typescript interface vs object differences type vs interface typescript types vs interfaces in typescript typescript declare vs interface typescript class and interface difference typescript interface vs types typescript when to use class vs interface difference between interface and type typecript typescript type interface difference typescript - difference between type and interface classes vs interfaces in typescript type vs interface in typscript typescript custom type vs interface interface vs types using interface vs type in typescript what is the difference between interface and annotations and type in typescript interface vs type in ts interface and class difference in typescript typescript difference between interface and type typescript type vs interface react What is the difference between "interface vs type" statements in typescript what is difference between interface and type in typescript java interface vs typescript interface typescript two interfaces same name interface vs type typescript react interface vs type ts react typescript type vs interface typescript object type vs interface classes vs interfaces typescript difference between interface and class in typescript typescript classes vs interface difference interface class typescript difference between type and interface in ts interface vs types in ts type extends typescript vs interface interface vs class in typescript interfaces vs types typescript typescript interfaces vs classes typescript class vs interface differences between interface and type typscript interface vs type interface vs type vs class typescript class vs interface typescript ts class vs interface difference between type and interface in typesscript difference between interface and type typescript typescript declare type vs interface typescript type and interface difference when should i use a type vs interface typescript typescript when to use type vs interface what is the difference between type and interface in typescript is type and interface the same typescript interface vs class interface vs class typescript typescript types vs interfaces types vs interface typescrtipt types vs interfaces typescript typescript interfaces vs types when to user interface vs types typescript difference between type and interface when to use interface vs type interfaces vs typescript difference between interface and type in typescript types vas interface ts interface as type alias typescript type vs interface react type vs interface types vs interface typescript interface e type typescript export type vs class typescript interface different types typescript type or interface difference between type and interface in typescript different of type and interface typescript declare vs interface typescript export type vs export interface typescript interface vs typescript type of interface and class type vs interface js typescript use interface and type keyword WHEN TO USE TYPESCRIPT TYPES interface and type typescript when to use type vs interface typescript why would you use an interface in typ typescript interface or type interface data types in typescript react typescript interface vs type type versus interface typescript type versus interface interface vs types typescript typescript interface type name difference between types and interface typescript type and interface typescript using an extednded interface as a typedef interfaces in typescript difference between interface and type in typscript when to use interface vs type typescript typescript what the difference between type and interface typescript when to use interface and type types and interfaces ts interface vs type type vs interface typescript react which interface type is the best typescript type and interface typescript when to use interface vs type typescript type vs interface types & vs | ? typescript use interface as type javascript difference between type and interface ts type vs interface difference type and interface typescript interface or type typescript difference between type and interface typescript interface vs type typescript typescript define type vs interface type vs interface typescript typescript interface vs type
Made with love
This website uses cookies to make IQCode work for you. By using this site, you agree to our cookie policy

Welcome Back!

Sign up to unlock all of IQCode features:
  • Test your skills and track progress
  • Engage in comprehensive interactive courses
  • Commit to daily skill-enhancing challenges
  • Solve practical, real-world issues
  • Share your insights and learnings
Create an account
Sign in
Recover lost password
Or log in with

Create a Free Account

Sign up to unlock all of IQCode features:
  • Test your skills and track progress
  • Engage in comprehensive interactive courses
  • Commit to daily skill-enhancing challenges
  • Solve practical, real-world issues
  • Share your insights and learnings
Create an account
Sign up
Or sign up with
By signing up, you agree to the Terms and Conditions and Privacy Policy. You also agree to receive product-related marketing emails from IQCode, which you can unsubscribe from at any time.
Creating a new code example
Code snippet title
Source