рдЬреЗрдПрд╕ рд╡рд╕реНрддреБрдУрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреЗ рд╕рдордп рд░реЗрд╕реНрдЯ рдФрд░ рд╕реНрдкреНрд░реЗрдб рдСрдкрд░реЗрдЯрд░реЛрдВ рдХреЗ рд╕рд╛рде 7 рдЪрд╛рд▓реЗрдВ

рд╣реЗрд▓реЛ, рд╣реЗрдмреНрд░! рдореИрдВ рдЖрдкрдХреЛ рдЬреЛрдПрд▓ рдереЙрдорд╕ рджреНрд╡рд╛рд░рд╛ "7 рдЯреНрд░рд┐рдХреНрд╕ рд╡рд┐рде рд░реЗрд╕реНрдЯрд┐рдВрдЧ рдПрдВрдб рд╕реНрдкреНрд░реЗрдбрд┐рдВрдЧ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕" рд▓реЗрдЦ рдХрд╛ рдЕрдиреБрд╡рд╛рдж рдкреНрд░рд╕реНрддреБрдд рдХрд░рддрд╛ рд╣реВрдВ ред

рд╕рднреА рдХреЛ рдирдорд╕реНрдХрд╛рд░, рджреВрд╕рд░реЗ рджрд┐рди рдПрдХ рдХрд╛рдо рдХреЗ рд╕рд╣рдпреЛрдЧреА рдиреЗ рдореБрдЭреЗ рдЕрдВрдЧреНрд░реЗрдЬреА рдХреЗ рдПрдХ рд▓реЗрдЦ рдХрд╛ рд▓рд┐рдВрдХ рджрд┐рдпрд╛, рдЬрд┐рд╕рдореЗрдВ рдЖрд░рд╛рдо рдФрд░ рдкреНрд░рд╕рд╛рд░ рдСрдкрд░реЗрдЯрд░реЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд╡рд┐рднрд┐рдиреНрди рддрд░реАрдХреЛрдВ рдХреЛ рд╕реВрдЪреАрдмрджреНрдз рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рд╡рд╣ рдореЗрд░реЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧреА рдереА рдФрд░ рдореИрдВрдиреЗ рдЗрд╕рдХрд╛ рдЕрдиреБрд╡рд╛рдж рдХрд░рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ред рддреЛ, рдЪрд▓реЛ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВред

рдЫрд╡рд┐

рд░реЗрд╕реНрдЯ рдПрдВрдб рд╕реНрдкреНрд░реЗрдб рдСрдкрд░реЗрдЯрд░реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рди рдХреЗрд╡рд▓ рдПрдХ рд╕рд░рдгреА рдореЗрдВ рддрд░реНрдХреЛрдВ рдХреЛ рд╕рдВрдпреЛрдЬрд┐рдд рдХрд░рдиреЗ рдФрд░ рд╕рд░рдгрд┐рдпреЛрдВ рдХреЛ рд╕рдВрдпреЛрдЬрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ рдЖрдкрдХреЛ рдЖрд░рд╛рдо рдФрд░ рдкреНрд░рд╕рд╛рд░ рдСрдкрд░реЗрдЯрд░реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ 7 рд╕рдмрд╕реЗ рдХрдо рдЬреНрдЮрд╛рдд рдЯреНрд░рд┐рдХреНрд╕ рдорд┐рд▓реЗрдВрдЧреЗред

1. рдЧреБрдг рдЬреЛрдбрд╝рдирд╛


рдХреНрд▓реЛрди рдХрд┐рдП рдЧрдП рдСрдмреНрдЬреЗрдХреНрдЯ рдореЗрдВ рдирдП рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЛ рдЬреЛрдбрд╝рддреЗ рд╕рдордп рдХрд┐рд╕реА рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЛ рдХреНрд▓реЛрди рдХрд░рдирд╛ред
рдиреАрдЪреЗ рджрд┐рдП рдЧрдП рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, рд╣рдо рдХреНрд▓реЛрди рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╡рд╕реНрддреБ рдФрд░ рдЬреЛрдбрд╝рдиреЗ рдкрд╛рд╕рд╡рд░реНрдб рд╕рдВрдкрддреНрддрд┐ рдХреНрд▓реЛрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП userWithPass рд╡рд╕реНрддреБ ред

const user = { id: 100, name: 'Howard Moon'}
const userWithPass = { ...user, password: 'Password!' }

user //=> { id: 100, name: 'Howard Moon' }
userWithPass //=> { id: 100, name: 'Howard Moon', password: 'Password!' }

2. рд╡рд╕реНрддреБрдУрдВ рдХрд╛ рд╡рд┐рд▓рдп


рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ part1 рдФрд░ part2 merzhatsya рдПрдХ рд╡рд╕реНрддреБ user1

const part1 = { id: 100, name: 'Howard Moon' }
const part2 = { id: 100, password: 'Password!' }

const user1 = { ...part1, ...part2 }
//=> { id: 100, name: 'Howard Moon', password: 'Password!' }

рдЗрд╕ рд╕рд┐рдВрдЯреИрдХреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕рдорд╛рди рд╡рд╕реНрддреБрдУрдВ рдХреЛ рд╕рдиреНрдирд┐рд╣рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

const partial = { id: 100, name: 'Howard Moon' }
const user = { ...partial, id: 100, password: 'Password!' }

user //=> { id: 100, name: 'Howard Moon', password: 'Password!' }

3. рдХрд┐рд╕реА рд╡рд╕реНрддреБ рд╕реЗ рд╕рдВрдкрддреНрддрд┐ рдирд┐рдХрд╛рд▓рдирд╛


рдПрдХ рд╡рд╕реНрддреБ рд╕реЗ рдЧреБрдг рд╡рд┐рдирд╛рд╢рдХрд╛рд░реА рдФрд░ рдмрд╛рдХреА рдмрдпрд╛рдиреЛрдВ рдХреЗ рд╕рдВрдпреЛрдЬрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╣рдЯрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдиреАрдЪреЗ рджрд┐рдП рдЧрдП рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, рд╣рдо рдмрд╛рдХреА рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЛ рдирд╖реНрдЯ рдХрд░ рджреЗрддреЗ рд╣реИрдВ рдФрд░ рдкрд╛рд╕рд╡рд░реНрдб рдХреА рд╕рдВрдкрддреНрддрд┐ рдХреЛ рдЙрд╕рдореЗрдВ рд╕реЗ рд╣рдЯрд╛ рджреЗрддреЗ рд╣реИрдВ ред

const noPassword = ({ password, ...rest }) => rest
const user = {
  id: 100,
  name: 'Howard Moon',
  password: 'Password!'
}

noPassword(user) //=> { id: 100, name: 'Howard moon' }

4. рдЧреБрдгреЛрдВ рдХрд╛ рдЧрддрд┐рд╢реАрд▓ рд╡рд┐рд▓реЛрдкрди


рдиреАрдЪреЗ рджрд┐рдП рдЧрдП рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, removeProperty рдлрд╝рдВрдХреНрд╢рди рддрд░реНрдХ рдХреЗ рд░реВрдк рдореЗрдВ рдкреНрд░реЛрдк рд▓реЗрддрд╛ рд╣реИред рддрд░реНрдХ рдореЗрдВ рдкрд╛рд░рд┐рдд рд╕рдВрдкрддреНрддрд┐ рдирд╛рдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП, рд╣рдо рдЧрддрд┐рд╢реАрд▓ рд░реВрдк рд╕реЗ рдХреНрд▓реЛрди рдХрд┐рдП рдЧрдП рдСрдмреНрдЬреЗрдХреНрдЯ рд╕реЗ рд╕рдВрдкрддреНрддрд┐ рдХреЛ рдмрд╛рд╣рд░ рдХрд░рддреЗ рд╣реИрдВред

const user1 = {
  id: 100,
  name: 'Howard Moon',
  password: 'Password!'
}
const removeProperty = prop => ({ [prop]: _, ...rest }) => rest
//                     ----       ------
//                          \   /
//                dynamic destructuring

const removePassword = removeProperty('password')
const removeId = removeProperty('id')

removePassword(user1) //=> { id: 100, name: 'Howard Moon' }
removeId(user1) //=> { name: 'Howard Moon', password: 'Password!' }

5. рдирд╛рдо рд╕реЗ рд╕рдВрдкрддреНрддрд┐рдпреЛрдВ рдХрд╛ рд╕рдВрдЧрдарди рдпрд╛ рдЫрдВрдЯрдиреА


рдХрднреА-рдХрднреА рдСрдмреНрдЬреЗрдХреНрдЯ рдореЗрдВ рдЧреБрдг рдЙрд╕ рдХреНрд░рдо рдореЗрдВ рдирд╣реАрдВ рд╣реЛрддреЗ рд╣реИрдВ рдЬрд┐рд╕рдХреА рд╣рдореЗрдВ рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдХрдИ рдЯреНрд░рд┐рдХреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ, рд╣рдо рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╕реВрдЪреА рдХреЗ рд╢реАрд░реНрд╖ рдкрд░ рдпрд╛ рдордзреНрдп рддрдХ рдЧреБрдгреЛрдВ рдХреЛ рдзрдХреНрдХрд╛ рджреЗ рд╕рдХрддреЗ рд╣реИрдВред

const user3 = {
  password: 'Password!',
  name: 'Naboo',
  id: 300
}

const organize = object => ({ id: undefined, ...object })
//                            -------------
//                          /
//  move id to the first property

organize(user3)
//=> { id: 300, password: 'Password!', name: 'Naboo' }

рдЕрдВрдд рдореЗрдВ рдкрд╛рд╕рд╡рд░реНрдб рдбрд╛рд▓рдиреЗ рдХреЗ рд▓рд┐рдП , рдЖрдкрдХреЛ рдкрд╣рд▓реЗ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЛ рдирд╖реНрдЯ рдХрд░рдиреЗ рдФрд░ рдкрд╛рд╕рд╡рд░реНрдб рдХреЛ рд╣рдЯрд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ , рдФрд░ рдлрд┐рд░ рдЗрд╕реЗ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░рд╕рд╛рд░ рдСрдкрд░реЗрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред

6. рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдЧреБрдг


рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдЧреБрдг рд╡реЗ рдЧреБрдг рд╣реЛрддреЗ рд╣реИрдВ рдЬреЛ рд╕реЗрдЯ рдХрд┐рдП рдЧрдП рдСрдмреНрдЬреЗрдХреНрдЯ рдореЗрдВ рдирд╣реАрдВ рд╣реЛрдиреЗ рдкрд░ рд╕реЗрдЯ рдХрд┐рдП рдЬрд╛рдПрдВрдЧреЗред

рдиреАрдЪреЗ рджрд┐рдП рдЧрдП рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, рдЙрджреНрдзрд░рдг рдлрд╝реАрд▓реНрдб рдореМрдЬреВрдж рдирд╣реАрдВ рд╣реИ рдореЗрдВ user2 рд╡рд╕реНрддреБ ред SetDefaults рдлрд╝рдВрдХреНрд╢рди, рдЙрджреНрдзрд░рдг рдлрд╝реАрд▓реНрдб рдХреА рдЕрдиреБрдкрд╕реНрдерд┐рддрд┐ рдореЗрдВ, рдЗрд╕реЗ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдорд╛рди [] рдХреЗ рд╕рд╛рде рд╕реЗрдЯ рдХрд░рддрд╛ рд╣реИ ред SetDefaults (user2) рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдпрд╣ рдорд╛рди рдХреЛрдЯреНрд╕ рдХреЗ рд╕рд╛рде рдПрдХ рдЧреБрдг рджреЗрддрд╛ рд╣реИ : [] рдЬрдм setDefaults (user4) рдХреЛ рдХреЙрд▓ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ , рддреЛ рдлрд╝рдВрдХреНрд╢рди рдЕрдирдореЙрдбрд┐рдлрд╛рдЗрдб рдорд╛рди рджреЗрддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ user4 рдСрдмреНрдЬреЗрдХреНрдЯ рдореЗрдВ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЙрджреНрдзрд░рдг рдЧреБрдг рд╣реИ




const user2 = {
  id: 200,
  name: 'Vince Noir'
}

const user4 = {
  id: 400,
  name: 'Bollo',
  quotes: ["I've got a bad feeling about this..."]
}

const setDefaults = ({ quotes = [], ...object}) =>
  ({ ...object, quotes })

setDefaults(user2)
//=> { id: 200, name: 'Vince Noir', quotes: [] }

setDefaults(user4)
//=> {
//=>   id: 400,
//=>   name: 'Bollo',
//=>   quotes: ["I've got a bad feeling about this..."]
//=> }

рдЖрдк рдЗрд╕реЗ рдЗрд╕ рддрд░рд╣ рднреА рд▓рд┐рдЦ рд╕рдХрддреЗ рд╣реИрдВ рдпрджрд┐ рдЖрдк рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдХрд┐ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдорд╛рди рдкрд╣рд▓реЗ рдкреНрд░рджрд░реНрд╢рд┐рдд рд╣реЛрдВ:

const setDefaults = ({ ...object}) => ({ quotes: [], ...object })

7. рдирд╛рдо рдмрджрд▓рдиреЗ рдХреЗ рдЧреБрдг


рдКрдкрд░ рд╕реЗ рдЯреНрд░рд┐рдХреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ, рд╣рдо рдПрдХ рдлрдВрдХреНрд╢рди рднреА рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ, рдЬреЛ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЗ рдЧреБрдгреЛрдВ рдХрд╛ рдирд╛рдо рдмрджрд▓ рджреЗрддрд╛ рд╣реИред

рдХрд▓реНрдкрдирд╛ рдХрд░реЗрдВ рдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдКрдкрд░реА рдорд╛рдорд▓реЗ рдореЗрдВ рд▓рд┐рдЦреА рдЧрдИ рд╕рдВрдкрддреНрддрд┐ рдЖрдИрдбреА рдХреЗ рд╕рд╛рде рдПрдХ рд╡рд╕реНрддреБ рд╣реИ, рдФрд░ рд╣рдореЗрдВ рдЗрд╕реЗ рдирд┐рдЪрд▓реЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдирд╛рдо рдмрджрд▓рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рд╣рдо рдСрдмреНрдЬреЗрдХреНрдЯ рд╕реЗ рдЖрдИрдбреА рдкреНрд░реЙрдкрд░реНрдЯреА рдХреЛ рд╣рдЯрд╛рдХрд░ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВред рдлрд┐рд░ рдЗрд╕реЗ рд╡рд╛рдкрд╕ рдирд╛рдо рдЖрдИрдбреА рдХреЗ рд╕рд╛рде рдЬреЛрдбрд╝реЗрдВ рдЬрдмрдХрд┐ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреНрд▓реЛрди рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИред

const renamed = ({ ID, ...object }) => ({ id: ID, ...object })

const user = {
  ID: 500,
  name: "Bob Fossil"
}

renamed(user) //=> { id: 500, name: 'Bob Fossil' }

8. рдмреЛрдирд╕ред рдПрдХ рд╢рд░реНрдд рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдПрдХ рд╕рдВрдкрддреНрддрд┐ рдЬреЛрдбрд╝рдирд╛


рдРрд╕реА рд╡рд┐рдзрд┐ рджрд┐рдЦрд╛рдиреЗ рдХреЗ рд▓рд┐рдП @vinialbano рдХреЛ рдзрдиреНрдпрд╡рд╛рдж ред рдЗрд╕ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, рд╣рдо рдкрд╛рд╕рд╡рд░реНрдб рдлрд╝реАрд▓реНрдб рддрднреА рдЬреЛрдбрд╝рддреЗ рд╣реИрдВ рдЬрдм рдкрд╛рд╕рд╡рд░реНрдб == рд╕рдЪ рд╣реЛ !

const user = { id: 100, name: 'Howard Moon' }
const password = 'Password!'
const userWithPassword = {
  ...user,
  id: 100,
  ...(password && { password })
}

userWithPassword //=> { id: 100, name: 'Howard Moon', password: 'Password!' }

рдирд┐рд╖реНрдХрд░реНрд╖


рдореИрдВрдиреЗ рдмрд╛рдХреА рдФрд░ рдкреНрд░рд╕рд╛рд░ рдСрдкрд░реЗрдЯрд░реЛрдВ рдХреЗ рдЙрдкрдпреЛрдЧ рдХреЗ рдХреБрдЫ рдХрдо рдкреНрд░рд╕рд┐рджреНрдз рддрд░реАрдХреЛрдВ рдХреЛ рд╕реВрдЪреАрдмрджреНрдз рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреАред рдпрджрд┐ рдЖрдк рдХрд┐рд╕реА рдЕрдиреНрдп рддрд░реАрдХреЗ рдХреЛ рдЬрд╛рдирддреЗ рд╣реИрдВ рдЬреЛ рдЗрд╕ рд╕реВрдЪреА рдореЗрдВ рд╕реВрдЪреАрдмрджреНрдз рдирд╣реАрдВ рд╣реИрдВ, рддреЛ рдХреГрдкрдпрд╛ рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдореЗрдВ рдЙрдирдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд▓рд┐рдЦреЗрдВред рдпрджрд┐ рдпрд╣ рд▓реЗрдЦ рдЖрдкрдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧреА рдерд╛, рддреЛ рдХреГрдкрдпрд╛ рдЗрд╕реЗ рдЕрдкрдиреЗ рдорд┐рддреНрд░реЛрдВ рдФрд░ рдкрд░рд┐рдЪрд┐рддреЛрдВ рдХреЛ рджреЗрдВред

All Articles