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
→ Get my JavaScript Beginner's Handbook
I wrote 19 books to help you become a better developer:
- HTML Handbook
- Next.js Pages Router Handbook
- Alpine.js Handbook
- HTMX Handbook
- TypeScript Handbook
- React Handbook
- SQL Handbook
- Git Cheat Sheet
- Laravel Handbook
- Express Handbook
- Swift Handbook
- Go Handbook
- PHP Handbook
- Python Handbook
- Linux Commands Handbook
- C Handbook
- JavaScript Handbook
- CSS Handbook
- Node.js Handbook