# How to copy the properties of an inner object to the outer

> Learn how to copy the properties of an inner object up to the outer object in JavaScript using Object.assign, so you avoid copying each property by hand.

Author: Flavio Copes | Published: 2021-07-20 | Canonical: https://flaviocopes.com/javascript-copy-object-properties/

Problem: I had a `tweet` object that for some reason related to the architecture of the app contained the actual tweet data into another object assigned to its `data` property. 

Imagine this:

```js
let tweet = {
  data: {
    id: 1,
    content: 'test'
  }
}
```

I wanted to move those inner properties on the top level object:

```js
let tweet = {
  id: 1,
  content: 'test'
}
```

without manually copying those properties over, because the minute I add another property, I introduce a bug.

So here's what I did:

```js
tweet = Object.assign(tweet, tweet.data)
```

It's the same technique you can use to copy properties to another object, but applied in a slightly different way.
