# Move Property
> Move a property from one object to another object.
## Usage
```javascript
var moveProperty = require( '@stdlib/utils/move-property' );
```
#### moveProperty( source, prop, target )
Moves a property from one `object` to another `object`.
```javascript
var obj1 = {
'a': 'b'
};
var obj2 = {};
var bool = moveProperty( obj1, 'a', obj2 );
// returns true
```
If the operation is successful, the function returns `true`; otherwise, `false`.
```javascript
var obj1 = {
'a': 'b'
};
var obj2 = {};
var bool = moveProperty( obj1, 'c', obj2 );
// returns false
```
## Notes
- A transfer is **shallow**.
```javascript
var arr = [ 1, 2, 3 ];
var obj1 = {
'a': arr
};
var obj2 = {};
var bool = moveProperty( obj1, 'a', obj2 );
console.log( obj2.a === arr );
// => true
```
- The property is **deleted** from the _source_ `object`.
- The property's descriptor **is** preserved during transfer.
- If a _source_ property is **not** `configurable`, the function throws an `Error`, as the property **cannot** be deleted from the _source_ `object`.
## Examples
```javascript
var moveProperty = require( '@stdlib/utils/move-property' );
var obj1 = {
'beep': 'boop'
};
var obj2 = {
'foo': 'bar'
};
var bool = moveProperty( obj1, 'beep', obj2 );
if ( bool === false ) {
console.log( 'failed to move property' );
}
console.dir( obj1 );
/* =>
{}
*/
console.dir( obj2 );
/* =>
{
'foo': 'bar',
'beep': 'boop'
}
*/
```