Skip to content

Object destructuring with types in TypeScript

I was using TypeScript in Deno to build a sample project and I had to destructure an object. I am familiar with TypeScript basics but sometimes I hit a problem.

Object destructuring was one of those.

I wanted to do

const { name, age } = body.value

I tried adding the string and number types like this:

const { name: string, age: number } = body.value

But this didn’t work. It apparently worked, but in reality this is assigning the name property to the string variable, and the age property value to the number variable.

The correct syntax is this:

const { name, age }: { name: string; age: number } = body.value

The best way to approach this would be to create a type or interface for that data:

interface Dog {
  name: string
  age: number
}

Then you can write the above in this way, which is shorter:

const dog: Dog = body.value

→ Here's my latest YouTube video

→ Get my JavaScript Beginner's Handbook

→ I wrote 17 books to help you become a better developer, download them all at $0 cost by joining my newsletter

JOIN MY CODING BOOTCAMP, an amazing cohort course that will be a huge step up in your coding career - covering React, Next.js - next edition February 2025

Bootcamp 2025

Join the waiting list