Skip to content

How to destructure an object to an already defined variable

I had the need to assign the result of a function call to a variable already defined. The function returned an object:

function test() {
	return {
		one: 1,
		two: 2
	}
}

I thought I’ll just use object destructing, like this:

const { one, two } = test()

But I had two already defined in my code (because of scoping issues) and I couldn’t redeclare it:

let two

//...

const { one, two } = test() //ERROR

Simple way would be to have

const result = test()

two = result.two
const { one } = result

Or, I could also declare one as let and use this syntax with parentheses (adding ; before them to prevent JS to freak out because I don’t use semicolons, any line starting with ( must start with a semicolon, simple rule)

let one, two

;({ one, two } = test())

→ Get my JavaScript Beginner's Handbook

→ I wrote 17 books to help you become a better developer:

  • C Handbook
  • Command Line Handbook
  • CSS Handbook
  • Express Handbook
  • Git Cheat Sheet
  • Go Handbook
  • HTML Handbook
  • JS Handbook
  • Laravel Handbook
  • Next.js Handbook
  • Node.js Handbook
  • PHP Handbook
  • Python Handbook
  • React Handbook
  • SQL Handbook
  • Svelte Handbook
  • Swift Handbook
...download them all now!

Also, 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