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

рдпрд╣рд╛рдВ 13 рд╕рд┐рдВрдЧрд▓-рд▓рд╛рдЗрди рдЦрд┐рд▓рд╛рдбрд╝реА рд╣реИрдВред Node.js v11.x рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рддреИрдпрд╛рд░ рдХрд┐рдП рдЧрдП рдЙрджрд╛рд╣рд░рдгред рдпрджрд┐ рдЖрдк рдЙрдиреНрд╣реЗрдВ рдХрд┐рд╕реА рдЕрдиреНрдп рд╡рд╛рддрд╛рд╡рд░рдг рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдпрд╣ рдЙрдирдХреЗ рдирд┐рд╖реНрдкрд╛рджрди рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░ рд╕рдХрддрд╛ рд╣реИред
1. рддрд╛рд░реНрдХрд┐рдХ рдкреНрд░рдХрд╛рд░ рдХреЗ рдореВрд▓реНрдпреЛрдВ рдХрд╛ рдмрд▓
рдПрдХ рдмреВрд▓рд┐рдпрди рдкреНрд░рдХрд╛рд░ рдХрд╛ рдорд╛рди рдХреИрд╕реЗ рдбрд╛рд▓рд╛ рдЬрд╛рдП:
const myBoolean = !!myVariable;
рджреЛрд╣рд░рд╛ рдЕрд╡рд╣реЗрд▓рдирд╛ (
!!
) рдЖрд╡рд╢реНрдпрдХ рд╣реИ рддрд╛рдХрд┐ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдирд┐рдпрдореЛрдВ рдХреЗ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╕реЗ рдПрдХ рдореВрд▓реНрдп
true
рдФрд░
true
рдФрд░ рдЧрд▓рдд рдХреЛ
false
рдореЗрдВ рдмрджрд▓ рджрд┐рдпрд╛ рдЬрд╛рдПред
2. рд╕рд░рдгрд┐рдпреЛрдВ рдореЗрдВ рдбреБрдкреНрд▓рд┐рдХреЗрдЯ рдореВрд▓реНрдпреЛрдВ рд╕реЗ рдЫреБрдЯрдХрд╛рд░рд╛
рд╕рд░рдгреА рд╕реЗ рдбреБрдкреНрд▓рд┐рдХреЗрдЯ рдорд╛рди рдирд┐рдХрд╛рд▓рдиреЗ рдХрд╛ рддрд░реАрдХрд╛ рдпрд╣рд╛рдВ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ:
const deDupe = [...new Set(myArray)];
рдбреЗрдЯрд╛ рд╕рдВрд░рдЪрдирд╛рдПрдБ
Set
рдХреЗрд╡рд▓ рдЕрдирдиреНрдп рдорд╛рди рд╕рдВрдЧреНрд░рд╣реАрдд
Set
ред рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рдРрд╕реА рдбреЗрдЯрд╛ рд╕рдВрд░рдЪрдирд╛ рдФрд░ рдкреНрд░рд╕рд╛рд░ рд╕рд┐рдВрдЯреИрдХреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╕реЗ рдЖрдкрдХреЛ
myArray
рдЖрдзрд╛рд░ рдкрд░ рдПрдХ рдирдпрд╛ рд╕рд░рдгреА рдмрдирд╛рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рдорд┐рд▓рддреА рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдХреЛрдИ рдбреБрдкреНрд▓рд┐рдХреЗрдЯ рдорд╛рди рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИред
3. рд╕реНрдерд┐рддрд┐ рджреНрд╡рд╛рд░рд╛ рд╡рд╕реНрддреБрдУрдВ рдХреЗ рдЧреБрдг рдмрдирд╛рдирд╛ рдФрд░ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛
&&
рдСрдкрд░реЗрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╡рд╕реНрддреБрдУрдВ рдХреЗ рдЧреБрдг рд╕реЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдк рдкреНрд░рд╕рд╛рд░ рд╕рд┐рдВрдЯреИрдХреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
const myObject = { ...myProperty && { propName: myProperty } };
рдпрджрд┐, рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдХреЗ рдмрд╛рдИрдВ рдУрд░ рдХрдВрдкреНрдпреВрдЯрд┐рдВрдЧ рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рдХреБрдЫ рдРрд╕рд╛ рдкреНрд░рд╛рдкреНрдд рд╣реЛрддрд╛ рд╣реИ рдХрд┐ рдЬреЗрдПрд╕ рдПрдХ рдЧрд▓рдд рдореВрд▓реНрдп рдХреЗ рд░реВрдк рдореЗрдВ рдорд╛рдирддрд╛ рд╣реИ, рддреЛ
&&
рдЖрдЧреЗ рдХреА рдЧрдгрдирд╛ рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ рдФрд░ рдПрдХ рдирдИ рд╕рдВрдкрддреНрддрд┐ рдмрдирд╛рдИ рдФрд░ рд╕реЗрдЯ рдирд╣реАрдВ рдХреА рдЬрд╛рдПрдЧреАред
myObject
рдЦрд╛рд▓реА рд╣реЛрдЧрд╛ред рдпрджрд┐ рдирд┐рд░реНрдорд╛рдг
...myProperty
рдХреБрдЫ рдкрд░рд┐рдгрд╛рдо рджреЗрддрд╛ рд╣реИ рдЬреЛ JS рдХреЛ рд╕рддреНрдп рдорд╛рдирддрд╛ рд╣реИ, рддреЛ
&&
рдирд┐рд░реНрдорд╛рдг рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж,
propName
рдЧреБрдг рдСрдмреНрдЬреЗрдХреНрдЯ рдореЗрдВ рдкреНрд░рдХрдЯ рд╣реЛрддрд╛ рд╣реИ, рдЬреЛ рдкреНрд░рд╛рдкреНрдд рдорд╛рди рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рддрд╛ рд╣реИред
4. рд╡рд╕реНрддреБрдУрдВ рдХрд╛ рд╡рд┐рд▓рдп
рдпрд╣рд╛рдВ рдПрдХ рдирдИ рд╡рд╕реНрддреБ рдмрдирд╛рдиреЗ рдХрд╛ рддрд░реАрдХрд╛ рдмрддрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рджреЛ рдЕрдиреНрдп рд╡рд╕реНрддреБрдУрдВ рдХреЛ рд╕рдВрдпреБрдХреНрдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛:
const mergedObject = { ...objectOne, ...objectTwo };
рдЗрд╕ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдЕрд╕реАрдорд┐рдд рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рд╡рд╕реНрддреБрдУрдВ рдХреЗ рд╡рд┐рд▓рдп рдХреЛ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдпрджрд┐ рд╡рд╕реНрддреБрдУрдВ рдореЗрдВ рд╕рдорд╛рди рдирд╛рдо рд╡рд╛рд▓реЗ рдЧреБрдг рд╣реИрдВ, рддреЛ рдХреЗрд╡рд▓ рдПрдХ рд╣реА рд╕рдВрдкрддреНрддрд┐ рдЕрдВрддрд┐рдо рдСрдмреНрдЬреЗрдХреНрдЯ рдореЗрдВ рд░рд╣реЗрдЧреА, рдЬреЛ рдореВрд▓ рд╡рд╕реНрддреБрдУрдВ рд╕реЗ рдПрдХ рд╣реИ, рдЬреЛ рджреВрд╕рд░реЛрдВ рдХреЗ рджрд╛рдИрдВ рдУрд░ рд╕реНрдерд┐рдд рд╣реИред рдХреГрдкрдпрд╛ рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдпрд╣рд╛рдВ рдСрдмреНрдЬреЗрдХреНрдЯ рдкреНрд░реЙрдкрд░реНрдЯреА рдХреА рдЫреЛрдЯреА рдХреЙрдкреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
5. рдкрд░рд┐рд╡рд░реНрддрдирд╢реАрд▓ рдореВрд▓реНрдпреЛрдВ рдХрд╛ рдЖрджрд╛рди-рдкреНрд░рджрд╛рди
рд╕рд╣рд╛рдпрдХ рдЪрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдмрд┐рдирд╛ рджреЛ рдЪрд░ рдХреЗ рдмреАрдЪ рдореВрд▓реНрдпреЛрдВ рдХрд╛ рдЖрджрд╛рди-рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдк рдпрд╣ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
[varA, varB] = [varB, varA];
рдЙрд╕рдХреЗ рдмрд╛рдж, рдЬреЛ
varA
рдореЗрдВ рдерд╛ рд╡рд╣
varA
рдорд┐рд▓рддрд╛ рд╣реИ, рдФрд░ рдЗрд╕рдХреЗ рд╡рд┐рдкрд░реАрддред рдпрд╣ рд╡рд┐рдирд╛рд╢рдХрд╛рд░реА рдХреЗ рдЖрдВрддрд░рд┐рдХ рддрдВрддреНрд░ рдХреЗ рдЙрдкрдпреЛрдЧ рдХреЗ рд▓рд┐рдП рд╕рдВрднрд╡ рд╣реИред
6. рд╕рд░рдгреА рд╕реЗ рдЧрд▓рдд рдорд╛рди рдирд┐рдХрд╛рд▓рдирд╛
рдпрд╣рд╛рдВ рдЙрди рд╕рднреА рдорд╛рдиреЛрдВ рдХреЛ рд╣рдЯрд╛рдиреЗ рдХрд╛ рддрд░реАрдХрд╛ рдмрддрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЬрд┐рдиреНрд╣реЗрдВ рдХрд┐рд╕реА рд╕рд░рдгреА рд╕реЗ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рдЧрд▓рдд рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИ:
const clean = dirty.filter(Boolean);
рдЗрд╕ рдСрдкрд░реЗрд╢рди рдХреЗ рджреМрд░рд╛рди,
null
,
undefined
,
false
,
0
рдФрд░ рд╕рд╛рде рд╣реА рдЦрд╛рд▓реА рд░реЗрдЦрд╛рдУрдВ рдЬреИрд╕реЗ рдорд╛рди рд╕рд░рдгреА рд╕реЗ рд╣рдЯрд╛ рджрд┐рдП рдЬрд╛рдПрдВрдЧреЗред
7. рд╕рдВрдЦреНрдпрд╛рдУрдВ рдХреЛ рддрд╛рд░реЛрдВ рдореЗрдВ рдмрджрд▓рдирд╛
рд╕рд░рдгреА рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рд╕рдВрдЦреНрдпрд╛рдУрдВ рдХреЛ рдЙрдирдХреЗ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдореЗрдВ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдк рдРрд╕рд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
const stringArray = numberArray.map(String);
рдЗрд╕ рддрд░рд╣ рдХреЗ рд░реВрдкрд╛рдВрддрд░рдг рдХреЗ рджреМрд░рд╛рди рд╕рд░рдгреА рдХреЗ рд╕реНрдЯреНрд░рд┐рдВрдЧ рддрддреНрд╡ рд╕реНрдЯреНрд░рд┐рдВрдЧ рд░рд╣реЗрдВрдЧреЗред
рдЖрдк
String
рдХреЗ рдкреНрд░рдХрд╛рд░реЛрдВ рдХреЗ рдорд╛рдиреЛрдВ рдХреЛ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░рдХреЗ рдЙрд▓рдЯрд╛ рд░реВрдкрд╛рдВрддрд░рдг рднреА рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
const numberArray = stringArray.map(Number);
8. рд╡рд╕реНрддреБ рд╕рдВрдкрддреНрддрд┐ рдореВрд▓реНрдпреЛрдВ рдХреЛ рдкреБрдирдГ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛
рдпрд╣рд╛рдВ рдмрддрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ рдХрд┐ рдХрд┐рд╕реА рд╡рд╕реНрддреБ рдХреА рд╕рдВрдкрддреНрддрд┐ рдХрд╛ рдореВрд▓реНрдп рдХреИрд╕реЗ рдирд┐рдХрд╛рд▓реЗрдВ рдФрд░ рдЙрд╕реЗ рдХреИрд╕реЗ рд▓рд┐рдЦреЗрдВ, рдЬрд┐рд╕рдХрд╛ рдирд╛рдо рдЗрд╕ рд╕рдВрдкрддреНрддрд┐ рдХреЗ рдирд╛рдо рд╕реЗ рдЕрд▓рдЧ рд╣реИ:
const { original: newName } = myObject;
рдЗрд╕ рдирд┐рд░реНрдорд╛рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП, рдПрдХ рдирдпрд╛ рд╕реНрдерд┐рд░рд╛рдВрдХ рдмрдирд╛рдпрд╛ рдЬрд╛рдПрдЧрд╛, рдирдпрд╛
newName
, рдЬрд┐рд╕рдореЗрдВ
myObject
рдСрдмреНрдЬреЗрдХреНрдЯ рдХреА
original
рд╕рдВрдкрддреНрддрд┐ рдХрд╛ рдореВрд▓реНрдп рд▓рд┐рдЦрд╛ рдЬрд╛рдПрдЧрд╛ред
9. JSON рдХреЛрдб рдлрд╝реЙрд░реНрдореЗрдЯ рдХрд░рдирд╛
рдпрд╣рд╛рдБ JSON рдХреЛрдб рдХреЛ рдкрдардиреАрдп рд░реВрдк рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░рдиреЗ рдХрд╛ рддрд░реАрдХрд╛ рдмрддрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ:
const formatted = JSON.stringify(myObj, null, 2);
stringify
рдкрджреНрдзрддрд┐ рддреАрди рдкреИрд░рд╛рдореАрдЯрд░ рд▓реЗрддреА рд╣реИред рдкрд╣рд▓реА рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдСрдмреНрдЬреЗрдХреНрдЯ рд╣реИред рджреВрд╕рд░рд╛, рд╡реИрдХрд▓реНрдкрд┐рдХ, рдПрдХ рдлрд╝рдВрдХреНрд╢рди рд╣реИ рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЗ рд░реВрдкрд╛рдВрддрд░рдг рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк JSON рдХреЛрдб рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЕрдВрддрд┐рдо рдкреИрд░рд╛рдореАрдЯрд░ рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ JSON рдХреЛрдб рдореЗрдВ рдЗрдВрдбреЗрдВрдЯ рдХрд░рддреЗ рд╕рдордп рдХрд┐рддрдиреЗ рд░рд┐рдХреНрдд рд╕реНрдерд╛рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдпрджрд┐ рдЖрдк рдЕрдВрддрд┐рдо рдкреИрд░рд╛рдореАрдЯрд░ рдХреЛ рдЫреЛрдбрд╝ рджреЗрддреЗ рд╣реИрдВ, рддреЛ рд╕рднреА рдкреНрд░рд╛рдкреНрдд JSON рдХреЛрдб рдПрдХ рд▓рдВрдмреА рд╕реНрдЯреНрд░рд┐рдВрдЧ рд╣реЛрдЧреАред рдпрджрд┐
myObj
рдСрдмреНрдЬреЗрдХреНрдЯ рдореЗрдВ рдЧреЛрд▓рд╛рдХрд╛рд░ рд╕рдВрджрд░реНрдн рд╣реИрдВ, рддреЛ рдЗрд╕реЗ JSON рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
10. рдЬрд▓реНрджреА рд╕реЗ рд╕рдВрдЦреНрдпрд╛рддреНрдордХ рд╕рд╛рд░рдгреА рдмрдирд╛рдПрдВ
рдпрд╣рд╛рдБ рдПрдХ рд╕рд░рдгреА рдмрдирд╛рдиреЗ рдФрд░ рдЗрд╕реЗ рд╕рдВрдЦреНрдпрд╛рдУрдВ рд╕реЗ рднрд░рдиреЗ рдХрд╛ рддрд░реАрдХрд╛ рдмрддрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ:
const numArray = Array.from(new Array(52), (x, i) => i);
рдЗрд╕ рддрд░рд╣ рдХреЗ рдПрд░реЗ рдХреЗ рдкрд╣рд▓реЗ рддрддреНрд╡ рдореЗрдВ 0. рдХрд╛ рдЗрдВрдбреЗрдХреНрд╕ рд╣реЛрддрд╛ рд╣реИред рдПрд░реЗ рдХреЗ рдЖрдХрд╛рд░ рдХреЛ рдиреНрдпреВрдореЗрд░рд┐рдХ рд╢рд╛рдмреНрджрд┐рдХ рдпрд╛ рдПрдХ рдЪрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдпрд╣рд╛рдВ рд╣рдо 52 рддрддреНрд╡реЛрдВ рдХреА рдПрдХ рд╕рд░рдгреА рдмрдирд╛рддреЗ рд╣реИрдВ, рдЬреЛ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдХрд╛рд░реНрдб рдХреЗ рдбреЗрдХ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдбреЗрдЯрд╛ рд╕реНрдЯреЛрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
11. рджреНрд╡рд┐-рдХрд╛рд░рдХ рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдХреЗ рд▓рд┐рдП рдХреЛрдб рдХрд╛ рдирд┐рд░реНрдорд╛рдг
рджреЛ-рдХрд╛рд░рдХ рдкреНрд░рдорд╛рдгреАрдХрд░рдг рддрдВрддреНрд░реЛрдВ рдпрд╛ рдЕрдиреНрдп рд╕рдорд╛рдиреЛрдВ рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЧрдП рдЫрд╣-рдЕрдВрдХреАрдп рдХреЛрдб рдХреЛ рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдк рдпрд╣ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
const code = Math.floor(Math.random() * 1000000).toString().padStart(6, "0");
рдХреГрдкрдпрд╛ рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдЬрд┐рд╕ рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рдкрд░рд┐рдгрд╛рдо
Math.random()
рджреНрд╡рд╛рд░рд╛ рдЧреБрдгрд╛ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЙрд╕рдореЗрдВ рд╢реВрдиреНрдп рдХреА рд╕рдВрдЦреНрдпрд╛
padStart
рд╡рд┐рдзрд┐ рдХреЗ рдкрд╣рд▓реЗ рдкреИрд░рд╛рдореАрдЯрд░ (
targetLength
) рд╕реЗ рдореЗрд▓ рдЦрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред
12. рдорд┐рд╢реНрд░рдг рдорд┐рд╢реНрд░рдг
рдпрд╣ рдЬрд╛рдирдиреЗ рдХреЗ рдмрд┐рдирд╛ рдХрд┐ рдХрд┐рд╕реА рд╕рд░рдгреА рдореЗрдВ рдлреЗрд░рдмрджрд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдк рдпрд╣ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
myArray.sort(() => { return Math.random() - 0.5});
рдорд┐рдХреНрд╕ рдРрд░реЗ рдХреЗ рд▓рд┐рдП рдмреЗрд╣рддрд░ рдПрд▓реНрдЧреЛрд░рд┐рджрдо рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдлрд┐рд╢рд░-рдпреЗрдЯреНрд╕ рдлреЗрд░рдмрджрд▓ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдоред рдРрд░реЗ рдХреЛ рдорд┐рд▓рд╛рдиреЗ рдХреЗ рд╡рд┐рднрд┐рдиреНрди рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ
рдпрд╣рд╛рдБ рдкрдврд╝реЗрдВред
13. рд╡рд╕реНрддреБрдУрдВ рдХреА рдЧрд╣рд░реА рдкреНрд░рддрд┐рдпрд╛рдВ рдмрдирд╛рдирд╛
рдпрд╣рд╛рдВ рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рд╡рд╕реНрддреБрдУрдВ рдХреА рдЧрд╣рд░реА рдирдХрд▓ рдХреА рд╡рд┐рдзрд┐ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдЙрдЪреНрдЪ рдкреНрд░рджрд░реНрд╢рди рдореЗрдВ рднрд┐рдиреНрди рдирд╣реАрдВ рд╣реЛрддреА рд╣реИред рд▓реЗрдХрд┐рди рдЕрдЧрд░ рдЖрдкрдХреЛ рдПрдХ-рд▓рд╛рдЗрдирд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рддреЛ рдЖрдк рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреЛрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
const myClone = JSON.parse(JSON.stringify(originalObject));
рдпрд╣ рдзреНрдпрд╛рди рджрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рдЕрдЧрд░
originalObject
рдСрдмрдЬреЗрдХреНрдЯ рдореЗрдВ рд╕рд░реНрдХреБрд▓рд░ рд▓рд┐рдВрдХ рд╣реИрдВ, рддреЛ рдЗрд╕рдХреА рдПрдХ рдХреЙрдкреА рдлреЗрд▓ рд╣реЛ рдЬрд╛рдПрдЧреАред рдпрд╣ рддрдХрдиреАрдХ рд╕рд░рд▓ рд╡рд╕реНрддреБрдУрдВ рдкрд░ рдЙрдкрдпреЛрдЧ рдХреЗ рд▓рд┐рдП рдЕрдиреБрд╢рдВрд╕рд┐рдд рд╣реИ рдЬреЛ рдЖрдк рдЦреБрдж рдмрдирд╛рддреЗ рд╣реИрдВред
рдлреИрд▓реА рд╣реБрдИ рд╕рд┐рдВрдЯреИрдХреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреА рдЙрдерд▓реА рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдмрдирд╛рдИ рдЬрд╛ рд╕рдХрддреА рд╣реИ:
const myClone = { ...orignalObject };
рд╕рд╛рд░рд╛рдВрд╢: рдПрдХрд▓-рд▓рд╛рдЗрди рдХреЛрдб рдХреЗ рд╕рдВрдпреЛрдЬрди рдФрд░ рд╡рд┐рд╕реНрддрд╛рд░ рдкрд░
рдпрд╣рд╛рдВ рдкреНрд░рд╕реНрддреБрдд рдХреЛрдб рд╕реНрдирд┐рдкреЗрдЯреНрд╕ рдХреЛ рд╕рдВрдпреЛрдЬрд┐рдд рдХрд░рдиреЗ рдХреЗ рдХрдИ рддрд░реАрдХреЗ рд╣реИрдВред рдпрд╣ рдЖрдкрдХреЛ рдЙрдирдХреА рдорджрдж рд╕реЗ рдХрдИ рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ рдФрд░ рдПрдХ рд╣реА рд╕рдордп рдореЗрдВ рдмрд╣реБрдд рдХреЙрдореНрдкреИрдХреНрдЯ рднрд╛рд╖рд╛ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред рдЗрд╕ рд╕рд╛рдордЧреНрд░реА рдХреЗ рд▓реЗрдЦрдХ рдХрд╛ рдорд╛рдирдирд╛ тАЛтАЛрд╣реИ рдХрд┐ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рд╡рд┐рдХрд╛рд╕ рдХреЗ рджреМрд░рд╛рди, рдЗрд╕рдореЗрдВ рдирдИ рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ рджрд┐рдЦрд╛рдИ рджреЗрдВрдЧреА рдЬреЛ рдХреЙрдореНрдкреИрдХреНрдЯ рдФрд░ рд╢рдХреНрддрд┐рд╢рд╛рд▓реА рдХреЛрдб рд▓рд┐рдЦрдиреЗ рдореЗрдВ рдорджрдж рдХрд░реЗрдЧреАред
рдкреНрд░рд┐рдп рдкрд╛рдардХреЛрдВ! рдЙрдкрдпреЛрдЧреА рдЬреЗрдПрд╕ рд╕рд┐рдВрдЧрд▓-рд▓рд╛рдЗрдирд░реНрд╕ рдХреЗ рдХреМрди рд╕реЗ рдЙрджрд╛рд╣рд░рдг рдЖрдк рдЗрд╕ рд╕рд╛рдордЧреНрд░реА рд╕реЗ рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ?

