Skip to content

Instantly share code, notes, and snippets.

View dleitee's full-sized avatar
🤠
coding

Daniel Leite de Oliveira dleitee

🤠
coding
View GitHub Profile
const account = {
balance: 1000,
bank: '',
number: '',
}
const deposit = (account, value) => {
const newAccount = account
newAccount.balance = account.balance + value
return newAccount
// Example using destructuring assignment
const deposit = (account, value) => ({
...account,
balance: account.balance + value,
})
// Example using Objects.assign
const deposit = (account, value) => Object.assign({}, account, {
balance: account.balance + value
})
@dleitee
dleitee / mutable.js
Created April 27, 2017 19:40
Mutable Code
const user = {
name: 'John Due',
birthdate: '1988-08-15',
}
const changeName = (user, newName) => {
const newUser = user
newUser.name = newName
return newUser
}
@dleitee
dleitee / immutable.js
Created April 27, 2017 19:42
Immutable Code
const user = {
name: 'John Due',
birthdate: '1988-08-15',
}
const changeName = (user, newName) => {
return {
...user, // destructuring user object
name: newName, // override name attribute with new name
}
@dleitee
dleitee / immutable.functions.js
Created April 27, 2017 19:43
Creating immutable functions
// Example using Objects.assign
const changeName = (user, newName) => Object.assign({}, user, {
name: newName
})
// Example using destructuring assignment
const changeName = (user, newName) => ({
...user,
name: newName,
})