рдЖрдЬ, рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореИрдиреБрдЕрд▓ рдХреЗ рдЕрдиреБрд╡рд╛рдж рдХреЗ рдиреМрд╡реЗрдВ рднрд╛рдЧ рдореЗрдВ, ES7, ES8 рдФрд░ ES9 рдорд╛рдирдХреЛрдВ рдХреЗ рд▓рд┐рдП рднрд╛рд╖рд╛ рдореЗрдВ рдкреНрд░рдХрдЯ рд╣реЛрдиреЗ рд╡рд╛рд▓реА рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХрд╛ рдЕрд╡рд▓реЛрдХрди рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред
тЖТ
рднрд╛рдЧ 1: рдкрд╣рд▓рд╛ рдХрд╛рд░реНрдпрдХреНрд░рдо, рднрд╛рд╖рд╛ рд╕реБрд╡рд┐рдзрд╛рдПрдБ, рдорд╛рдирдХтЖТ
рднрд╛рдЧ 2: рдХреЛрдб рд╢реИрд▓реА рдФрд░ рдХрд╛рд░реНрдпрдХреНрд░рдо рд╕рдВрд░рдЪрдирд╛тЖТ
рднрд╛рдЧ 3: рдЪрд░, рдбреЗрдЯрд╛ рдкреНрд░рдХрд╛рд░, рднрд╛рд╡, рд╡рд╕реНрддреБтЖТ
рднрд╛рдЧ 4: рд╕реБрд╡рд┐рдзрд╛рдПрдБтЖТ
рднрд╛рдЧ 5: рд╕рд░рдгрд┐рдпрд╛рдБ рдФрд░ рд▓реВрдктЖТ
рднрд╛рдЧ 6: рдЕрдкрд╡рд╛рдж, рдЕрд░реНрдзрд╡рд┐рд░рд╛рдо, рд╡рд╛рдЗрд▓реНрдбрдХрд╛рд░реНрдб рд╢рд╛рдмреНрджрд┐рдХтЖТ
рднрд╛рдЧ 7: рд╕рдЦреНрдд рдореЛрдб, рдпрд╣ рдХреАрд╡рд░реНрдб, рдШрдЯрдирд╛рдУрдВ, рдореЙрдбреНрдпреВрд▓, рдЧрдгрд┐рддреАрдп рдЧрдгрдирд╛тЖТ
рднрд╛рдЧ 8: ES6 рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХрд╛ рдЕрд╡рд▓реЛрдХрдитЖТ
рднрд╛рдЧ 9: ES7, ES8 рдФрд░ ES9 рдорд╛рдирдХреЛрдВ рдХрд╛ рдЕрд╡рд▓реЛрдХрди
рдИрдПрд╕ 7 рдорд╛рдирдХ
ES7 рдорд╛рдирдХ, рдЬрд┐рд╕реЗ рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рд╢рдмреНрджрд╛рд╡рд▓реА рдХреЗ рдЕрдиреБрд╕рд╛рд░, ES2016 рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ, 2016 рдХреА рдЧрд░реНрдорд┐рдпреЛрдВ рдореЗрдВ рдЬрд╛рд░реА рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рд╡рд╣, ES6 рдХреА рддреБрд▓рдирд╛ рдореЗрдВ, рднрд╛рд╖рд╛ рдореЗрдВ рд▓рд╛рдпрд╛ рдЧрдпрд╛, рдЬреНрдпрд╛рджрд╛ рдирдпрд╛ рдирд╣реАрдВ рд╣реИред рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ, рд╣рдо рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ:
Array.prototype.includes()
рд╡рд┐рдзрд┐ред- рдпрдпрдпрдп рдпрдпрдп рдпрдпрдп рдпрдпрдпрдпрдпред
тЦН рд╡рд┐рдзрд┐ Array.prototype.includes ()
рд╕рд░рдгреА рдореЗрдВ рдПрдХ рддрддреНрд╡ рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐ рдХреЗ рд▓рд┐рдП
Array.prototype.includes()
рд╡рд┐рдзрд┐ рдХреЛ рдЬрд╛рдВрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рд╕рд░рдгреА рдореЗрдВ рд╡рд╛рдВрдЫрд┐рдд рдЦреЛрдЬрдирд╛, рдпрд╣
true
,
false
ред ES7 рд╕реЗ рдкрд╣рд▓реЗ,
indexOf()
рд╡рд┐рдзрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдЙрд╕реА рдСрдкрд░реЗрд╢рди рдХреЛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдЬреЛ рд░рд┐рдЯрд░реНрди рдХрд░рддрд╛ рд╣реИ, рдпрджрд┐ рдХреЛрдИ рддрддреНрд╡ рдкрд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдкрд╣рд▓рд╛ рд╕реВрдЪрдХрд╛рдВрдХ рдЬрд┐рд╕рдХреЗ рджреНрд╡рд╛рд░рд╛ рдпрд╣ рд╕рд░рдгреА рдореЗрдВ рдкрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдпрджрд┐
indexOf()
рддрддреНрд╡ рдирд╣реАрдВ рдорд┐рд▓рд╛, рддреЛ рдпрд╣ рдирдВрдмрд░
-1
рд▓реМрдЯрд╛рддрд╛ рд╣реИред
рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдкреНрд░рдХрд╛рд░ рд░реВрдкрд╛рдВрддрд░рдг рдирд┐рдпрдореЛрдВ рдХреЗ рдЕрдиреБрд╕рд╛рд░, рдирдВрдмрд░
-1
true
рдкрд░рд┐рд╡рд░реНрддрд┐рдд рд╣реЛ рдЬрд╛рддрд╛
true
ред рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк,
indexOf()
рдХреЗ рд╕рдВрдЪрд╛рд▓рди рдХреЗ рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреА рдЬрд╛рдВрдЪ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП
indexOf()
рдХрд┐рд╕реА рдХреЛ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд░реВрдк рдХреЗ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдирд┐рд░реНрдорд╛рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред
if ([1,2].indexOf(3) === -1) { console.log('Not found') }
рдпрджрд┐ рдПрдХ рд╕рдорд╛рди рд╕реНрдерд┐рддрд┐ рдореЗрдВ, рдпрд╣ рдорд╛рдирдХрд░ рдХрд┐
indexOf()
, рдПрдХ рддрддреНрд╡ рдХреЛ рдЦреЛрдЬрдиреЗ рдХреЗ рдмрд┐рдирд╛,
false
рд░рд┐рдЯрд░реНрди рдХрд░рддрд╛ рд╣реИ, рддреЛ рдиреАрдЪреЗ рджрд┐рдЦрд╛рдП рдЧрдП рдЬреИрд╕реЗ рдХреБрдЫ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ, рдХреЛрдб рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдХрд╛рдо рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ред
if (![1,2].indexOf(3)) {
рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛ рд╣реИ рдХрд┐ рдирд┐рд░реНрдорд╛рдг
![1,2].indexOf(3)
false
рджреЗрддрд╛
false
ред
includes()
рд╡рд┐рдзрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП, рдРрд╕реА рддреБрд▓рдирд╛рдПрдВ рдЕрдзрд┐рдХ рддрд╛рд░реНрдХрд┐рдХ рд▓рдЧрддреА рд╣реИрдВред
if (![1,2].includes(3)) { console.log('Not found') }
рдЗрд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ, рдирд┐рд░реНрдорд╛рдг
[1,2].includes(3)
false
, рдпрд╣ рдорд╛рди рдПрдХ рдСрдкрд░реЗрдЯрд░ рд╣реИ
!
рдпрд╣
true
рдЬрд╛рддрд╛
true
рдФрд░ рдХрдВрд╕реЛрд▓ рдХреЛ рдПрдХ рд╕рдВрджреЗрд╢ рдорд┐рд▓рддрд╛ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдХрд╣рд╛ рдЧрдпрд╛ рд╣реИ рдХрд┐ рд╕рд░рдгреА рдореЗрдВ рдЖрдЗрдЯрдо рдирд╣реАрдВ рдорд┐рд▓рд╛ред
тЦН рдШрд╛рддрд╛рдВрдХ рд╕рдВрдЪрд╛рд▓рдХ
рдкреНрд░рддрд┐рдкрд╛рджрдХ рдСрдкрд░реЗрдЯрд░
Math.pow()
рд╡рд┐рдзрд┐ рдХреЗ рд╕рдорд╛рди рдХрд╛рд░реНрдп рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдлрд╝рдВрдХреНрд╢рди рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЕрдзрд┐рдХ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рднрд╛рд╖рд╛ рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рд╣реИред
Math.pow(4, 2) == 4 ** 2
рдЗрд╕ рдСрдкрд░реЗрдЯрд░ рдХреЛ рдЬреЗрдПрд╕ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реБрдЦрдж рдЬреЛрдбрд╝ рдорд╛рдирд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЬреЛ рдХреБрдЫ рдЧрдгрдирд╛ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдореЗрдВ рдЙрдкрдпреЛрдЧреА рд╣реИред рдПрдХ рд╕рдорд╛рди рдСрдкрд░реЗрдЯрд░ рдЕрдиреНрдп рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖рд╛рдУрдВ рдореЗрдВ рдореМрдЬреВрдж рд╣реИред
рдИрдПрд╕ 8 рдорд╛рдирдХ
рдИрдПрд╕ 8 рд╕реНрдЯреИрдВрдбрд░реНрдб (ES2017) 2017 рдореЗрдВ рдЬрд╛рд░реА рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рд╡рд╣, ES7 рдХреА рддрд░рд╣, рднрд╛рд╖рд╛ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдХреБрдЫ рдирд╣реАрдВ рд▓рд╛рдпрд╛ред рдЕрд░реНрдерд╛рддреН, рд╣рдо рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ:
- рджреА рдЧрдИ рд▓рдВрдмрд╛рдИ рдореЗрдВ рддрд╛рд░ рдЬреЛрдбрд╝рдирд╛ред
- рд╡рд┐рдзрд┐
Object.values()
ред - рд╡рд┐рдзрд┐
Object.entries()
ред - рд╡рд┐рдзрд┐
Object.getOwnPropertyDescriptors()
ред - рдлрд╝рдВрдХреНрд╢рди рдорд╛рдкрджрдВрдбреЛрдВ рдореЗрдВ рдЯреНрд░реЗрд▓рд┐рдВрдЧ рдХреЙрдорд╛ред
- рдЕрддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рдХрд╛рд░реНрдпред
- рд╕рд╛рдЭрд╛ рдореЗрдореЛрд░реА рдФрд░ рдкрд░рдорд╛рдгреБ рд╕рдВрдЪрд╛рд▓рди рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░реЗрдВред
.Adding рд▓рд╛рдЗрдиреЗрдВ рджреА рдЧрдИ рд▓рдВрдмрд╛рдИ рдХреЗ рд▓рд┐рдП
ES8 рдиреЗ рджреЛ рдирдИ
String
рдСрдмреНрдЬреЗрдХреНрдЯ рд╡рд┐рдзрд┐рдпрд╛рдБ рдкреЗрд╢ рдХреАрдВ -
padStart()
рдФрд░
padEnd()
ред
padStart()
рд╡рд┐рдзрд┐ рд╡рд░реНрддрдорд╛рди рд░реЗрдЦрд╛ рдХреЛ рджреВрд╕рд░реА рдкрдВрдХреНрддрд┐ рд╕реЗ рднрд░рддреА рд╣реИ рдЬрдм рддрдХ рдХрд┐ рдЕрдВрддрд┐рдо рдкрдВрдХреНрддрд┐ рд╡рд╛рдВрдЫрд┐рдд рд▓рдВрдмрд╛рдИ рддрдХ рдирд╣реАрдВ рдкрд╣реБрдВрдЪ рдЬрд╛рддреАред рд▓рд╛рдЗрди (рдмрд╛рдПрдВ) рдХреА рд╢реБрд░реБрдЖрдд рдореЗрдВ рднрд░рдирд╛ рд╣реЛрддрд╛ рд╣реИред рдпрд╣рд╛рдБ рдЗрд╕ рд╡рд┐рдзрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рддрд░реАрдХрд╛ рдмрддрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИред
str.padStart(targetLength [, padString])
рдпрд╣рд╛рдБ
str
рд╡рд░реНрддрдорд╛рди рд▓рд╛рдЗрди рд╣реИ,
targetLength
рдЕрдВрддрд┐рдо рд▓рд╛рдЗрди рдХреА рд▓рдВрдмрд╛рдИ рд╣реИ (рдпрджрд┐ рдпрд╣ рд╡рд░реНрддрдорд╛рди рд▓рд╛рдЗрди рдХреА рд▓рдВрдмрд╛рдИ рд╕реЗ рдХрдо рд╣реИ, рддреЛ рдпрд╣ рд░реЗрдЦрд╛ рдмрд┐рдирд╛ рдХрд┐рд╕реА рдмрджрд▓рд╛рд╡ рдХреЗ рд╡рд╛рдкрд╕ рдЖ рдЬрд╛рдПрдЧреА),
padString
рдПрдХ рд╡реИрдХрд▓реНрдкрд┐рдХ рдкреИрд░рд╛рдореАрдЯрд░ рд╣реИ - рд╡рд░реНрддрдорд╛рди рд▓рд╛рдЗрди рдХреЛ рднрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХреА рдЬрд╛рдиреЗ рд╡рд╛рд▓реА рд▓рд╛рдЗрдиред рдпрджрд┐
padString
рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдирд╣реАрдВ рд╣реИ,
padString
рд╡рд░реНрддрдорд╛рди рд▓рд╛рдЗрди рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рд▓рдВрдмрд╛рдИ рддрдХ
padString
рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрдВрддрд░рд┐рдХреНрд╖ рд╡рд░реНрдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
padEnd()
рд╡рд┐рдзрд┐
padEnd()
рд╕рдорд╛рди рд╣реИ, рд▓реЗрдХрд┐рди рд▓рд╛рдЗрди рджрд╛рдИрдВ рдУрд░ рднрд░реА рдЧрдИ рд╣реИред
рдЗрди рд╡рд┐рдзрд┐рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рдЙрджрд╛рд╣рд░рдгреЛрдВ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВред
const str = 'test'.padStart(10) const str1 = 'test'.padEnd(10,'*') console.log(`'${str}'`)
рдпрд╣рд╛рдВ, рдкрд░рд┐рдгрд╛рдореА рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреА рдХреЗрд╡рд▓ рд╡рд╛рдВрдЫрд┐рдд рд▓рдВрдмрд╛рдИ рдХреЗ рд╕рд╛рде
padStart()
рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп, рдореВрд▓ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреА рд╢реБрд░реБрдЖрдд рдореЗрдВ рд░рд┐рдХреНрдд рд╕реНрдерд╛рди рдЬреЛрдбрд╝реЗ рдЧрдП рдереЗред рдЕрдВрддрд┐рдо рдкрдВрдХреНрддрд┐ рдХреА рд▓рдВрдмрд╛рдИ рдФрд░ рдЗрд╕реЗ рднрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд▓рд╛рдЗрди рдХреЗ рд╕рд╛рде
padEnd()
рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ
padEnd()
, рдореВрд▓ рдкрдВрдХреНрддрд┐ рдХреЗ рдЕрдВрдд рдореЗрдВ
*
рдЕрдХреНрд╖рд░ рдЬреЛрдбрд╝реЗ рдЧрдПред
тЦН рд╡рд┐рдзрд┐ Object.values тАЛтАЛ()
рдпрд╣ рд╡рд┐рдзрд┐ рдПрдХ рд╕рд░рдгреА рджреЗрддрд╛ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЗ рд╕реНрд╡рдпрдВ рдХреЗ рдЧреБрдгреЛрдВ рдХреЗ рдорд╛рди рд╣реЛрддреЗ рд╣реИрдВ, рдЕрд░реНрдерд╛рдд, рд╡реЗ рдЧреБрдг рдЬреЛ рдСрдмреНрдЬреЗрдХреНрдЯ рдореЗрдВ рд╕реНрд╡рдпрдВ рд╣реЛрддреЗ рд╣реИрдВ, рди рдХрд┐ рд╡реЗ рдЬреЛ рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк рд╢реНрд░реГрдВрдЦрд▓рд╛ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЗрд╕рдХреЗ рд▓рд┐рдП рд╕реБрд▓рдн рд╣реИрдВред
рдпрд╣рд╛рдБ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреИрд╕реЗ рдХрд░рдирд╛ рд╣реИред
const person = { name: 'Fred', age: 87 } const personValues = Object.values(person) console.log(personValues)
рдпрд╣ рд╡рд┐рдзрд┐ рд╕рд░рдгрд┐рдпреЛрдВ рдкрд░ рднреА рд▓рд╛рдЧреВ рд╣реЛрддреА рд╣реИред
тЦН рд╡рд┐рдзрд┐ Object.entries ()
рдпрд╣ рд╡рд┐рдзрд┐ рдПрдХ рд╕рд░рдгреА рджреЗрддрд╛ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рддрддреНрд╡ рднреА рдПрдХ рд╕рд░рдгреА рдпреБрдХреНрдд рд╣реЛрддрд╛ рд╣реИ, рдкреНрд░рд╛рд░реВрдк рдореЗрдВ
[key, value]
, рдСрдмреНрдЬреЗрдХреНрдЯ рдХреА рдЕрдкрдиреА рдЧреБрдгреЛрдВ рдХреА рдХреБрдВрдЬреА рдФрд░ рдорд╛рдиред
const person = { name: 'Fred', age: 87 } const personValues = Object.entries(person) console.log(personValues)
рд╕рд░рдгрд┐рдпреЛрдВ рдореЗрдВ рдЗрд╕ рд╡рд┐рдзрд┐ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддреЗ рд╕рдордп, рддрддреНрд╡реЛрдВ рдХреЗ рд╕реВрдЪрдХрд╛рдВрдХреЛрдВ рдХреЛ рдХреБрдВрдЬрд┐рдпреЛрдВ рдХреЗ рд░реВрдк рдореЗрдВ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рд╕рдВрдмрдВрдзрд┐рдд рд╕реВрдЪрдХрд╛рдВрдХреЛрдВ рдкрд░ рд╕рд░рдгреА рдореЗрдВ рдЬреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЙрд╕реЗ рдореВрд▓реНрдпреЛрдВ рдХреЗ рд░реВрдк рдореЗрдВ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
тЦН getOwnPropertyDescriptors () рд╡рд┐рдзрд┐
рдпрд╣ рд╡рд┐рдзрд┐ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЗ рд╕рднреА рдЧреБрдгреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рджреЗрддреА рд╣реИред рд╡рд┐рд╢реЗрд╖рддрд╛ рд╕реЗрдЯ (рд╡рд┐рд╡рд░рдгрдХрд░реНрддрд╛) рдСрдмреНрдЬреЗрдХреНрдЯ рдЧреБрдгреЛрдВ рд╕реЗ рдЬреБрдбрд╝реЗ рд╣реЛрддреЗ рд╣реИрдВред рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ, рд╣рдо рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ:
value
- рд╡рд╕реНрддреБ рдХреА рд╕рдВрдкрддреНрддрд┐ рдХрд╛ рдореВрд▓реНрдпредwritable
- рдЕрдЧрд░ рд╕рдВрдкрддреНрддрд┐ рдХреЛ рдмрджрд▓рд╛ рдЬрд╛ рд╕рдХрддрд╛ true
рддреЛ рдпрд╣ true
редget
- рдореЗрдВ рд╕рдВрдкрддреНрддрд┐ рдХреЗ рд╕рд╛рде рдЬреБрдбрд╝рд╛ рд╣реБрдЖ рдПрдХ рдЧреЗрдЯрд░ рдлрд╝рдВрдХреНрд╢рди рд╣реЛрддрд╛ рд╣реИ, рдпрд╛, рдпрджрд┐ рдРрд╕рд╛ рдХреЛрдИ рдлрд╝рдВрдХреНрд╢рди рдирд╣реАрдВ рд╣реИ, undefined
редset
- рдЗрд╕рдореЗрдВ рд╕рдВрдкрддреНрддрд┐ рдпрд╛ undefined
рд▓рд┐рдП рд╕реЗрдЯрд░ рдлрд╝рдВрдХреНрд╢рди рд╣реЛрддрд╛ рд╣реИредconfigurable
- рдпрджрд┐ рдпрд╣ false
- рд╕рдВрдкрддреНрддрд┐ рдХреЛ рд╣рдЯрд╛рдпрд╛ рдирд╣реАрдВ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рддреЛ рдЗрд╕рдХреЗ рдЧреБрдгреЛрдВ рдХреЛ рдореВрд▓реНрдп рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдирд╣реАрдВ рдмрджрд▓рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИредenumerable
- рдпрджрд┐ рдЗрд╕ рдЧреБрдг рдореЗрдВ рд╕рддреНрдп рдирд┐рд╣рд┐рдд рд╣реИ -
enumerable рд╣реИред
рдпрд╣рд╛рдБ рдЗрд╕ рд╡рд┐рдзрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рддрд░реАрдХрд╛ рдмрддрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИред
Object.getOwnPropertyDescriptors(obj)
рдпрд╣ рдПрдХ рдРрд╕реА рд╡рд╕реНрддреБ рд▓реЗрддрд╛ рд╣реИ рдЬрд┐рд╕рдХреА рд╕рдВрдкрддреНрддрд┐ рдХреА рдЬрд╛рдирдХрд╛рд░реА рдЖрдкрдХреЛ рдкрддрд╛ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рдФрд░ рдЗрд╕ рдЬрд╛рдирдХрд╛рд░реА рд╕реЗ рдпреБрдХреНрдд рдПрдХ рд╡рд╕реНрддреБ рджреЗрддрд╛ рд╣реИред
const person = { name: 'Fred', age: 87 } const propDescr = Object.getOwnPropertyDescriptors(person) console.log(propDescr)
рдЗрд╕ рдкрджреНрдзрддрд┐ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреНрдпреЛрдВ рд╣реИ? рддрдереНрдп рдпрд╣ рд╣реИ рдХрд┐ рдпрд╣ рдЖрдкрдХреЛ рдЕрдиреНрдп рд╕рдВрдкрддреНрддрд┐рдпреЛрдВ, рдЧреЗрдЯрд░реНрд╕ рдФрд░ рд╕реЗрдЯрд░реНрд╕ рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд╡рд╕реНрддреБрдУрдВ рдХреА рдЫреЛрдЯреА рдкреНрд░рддрд┐рдпрд╛рдВ рдмрдирд╛рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЛ рдХреЙрдкреА рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП ES6 рдорд╛рдирдХ рдореЗрдВ рджрд┐рдЦрд╛рдИ рджреЗрдиреЗ рд╡рд╛рд▓реА
Object.assign()
рдкрджреНрдзрддрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдРрд╕рд╛ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рдирд┐рдореНрди рдЙрджрд╛рд╣рд░рдг рдореЗрдВ рдПрдХ рд╕реЗрдЯрд░ рдХреЗ рд╕рд╛рде рдПрдХ рдСрдмреНрдЬреЗрдХреНрдЯ рд╣реЛрддрд╛ рд╣реИ рдЬреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддрд╛ рд╣реИ,
console.log()
рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ, рдЬреЛ рд╡реЗ рдЗрд╕рдХреА рд╕рдВрдмрдВрдзрд┐рдд рд╕рдВрдкрддреНрддрд┐ рдХреЛ рд▓рд┐рдЦрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣реЗ рд╣реИрдВред
const person1 = { set name(newName) { console.log(newName) } } person1.name = 'x'
рдЖрдЗрдП
assign()
рд╡рд┐рдзрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЗрд╕ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЛ рдХреЙрдкреА рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВред
const person2 = {} Object.assign(person2, person1) person2.name = 'x'
рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рдпрд╣ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред
name
рд╕рдВрдкрддреНрддрд┐, рдЬреЛ рдореВрд▓ рдСрдмреНрдЬреЗрдХреНрдЯ рдореЗрдВ рд╕реЗрдЯрд░ рдереА, рдЕрдм рдПрдХ рдирд┐рдпрдорд┐рдд рд╕рдВрдкрддреНрддрд┐ рдХреЗ рд░реВрдк рдореЗрдВ рджрд░реНрд╢рд╛рдпреА рдЬрд╛рддреА рд╣реИред
рдЕрдм рд╣рдо
Object.defineProperties()
(рдпрд╣ ES5.1 рдореЗрдВ рджрд┐рдЦрд╛рдИ рджрд┐рдпрд╛) рдФрд░
Object.getOwnPropertyDescriptors()
рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЛ рдХреЙрдкреА рдХрд░реЗрдВрдЧреЗред
const person3 = {} Object.defineProperties(person3, Object.getOwnPropertyDescriptors(person1)) person3.name = 'x'
рдпрд╣рд╛рдВ, рдСрдмреНрдЬреЗрдХреНрдЯ рдХреА рдХреЙрдкреА рдореЗрдВ рд╕реЗрдЯрд░ рд░рд╣рддрд╛ рд╣реИред
рдпрд╣ рдзреНрдпрд╛рди рджрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐
Object.assign()
рд▓рд┐рдП рд╡рд┐рд╢рд┐рд╖реНрдЯ рдкреНрд░рддрд┐рдмрдВрдз рднреА
Object.create()
рдХреЛ
Object.create()
рдХреЗ рд▓рд┐рдП
Object.create()
рд╡рд┐рдзрд┐ рдХреА рд╡рд┐рд╢реЗрд╖рддрд╛ рд╣реИред
рд╕рдорд╛рд░реЛрд╣ рдорд╛рдкрджрдВрдбреЛрдВ рдореЗрдВ тЦНCompletion рдХреЙрдорд╛
рдпрд╣ рд╕реБрд╡рд┐рдзрд╛ рдЖрдкрдХреЛ рдкреИрд░рд╛рдореАрдЯрд░ рдФрд░ рддрд░реНрдХреЛрдВ рдХреА рд╕реВрдЪреА рдХреЗ рдЕрдВрдд рдореЗрдВ рдПрдХ рдЕрд▓реНрдкрд╡рд┐рд░рд╛рдо рдЫреЛрдбрд╝рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреА рд╣реИ, рдХреНрд░рдорд╢рдГ, рдЬрдм рдШреЛрд╖рдгрд╛ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдЬрдм рдлрд╝рдВрдХреНрд╢рди рдХреЙрд▓ рдХрд░рддреЗ рд╣реИрдВред
const doSomething = ( var1, var2, ) => {
рдпрд╣ рд╕рдВрд╕реНрдХрд░рдг рдирд┐рдпрдВрддреНрд░рдг рдкреНрд░рдгрд╛рд▓рд┐рдпреЛрдВ рдХреА рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдореЗрдВ рд╕реБрдзрд╛рд░ рдХрд░рддрд╛ рд╣реИред рдЕрд░реНрдерд╛рддреН, рд╣рдо рдЗрд╕ рддрдереНрдп рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдХрд┐ рдХрд┐рд╕реА рдлрд╝рдВрдХреНрд╢рди рдореЗрдВ рдирдП рдкреИрд░рд╛рдореАрдЯрд░ рдЬреЛрдбрд╝рддреЗ рд╕рдордп, рдЖрдкрдХреЛ рдХреЙрдорд╛ рд╕рдореНрдорд┐рд▓рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЗрд╡рд▓ рдореМрдЬреВрджрд╛ рдХреЛрдб рдХреЛ рдмрджрд▓рдирд╛ рдирд╣реАрдВ рд╣реИред
тЦНрдПрд╕рд┐рдиреНрдХреНрд░реЛрдирд╕ рдлрд╝рдВрдХреНрд╢рдВрд╕
ES2017 рдорд╛рдирдХ рдореЗрдВ
async/await
рдирд┐рд░реНрдорд╛рдг рджрд┐рдЦрд╛рдИ рджрд┐рдпрд╛ рд╣реИ, рдЬрд┐рд╕реЗ рднрд╛рд╖рд╛ рдХреЗ рдЗрд╕ рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдирд╡рд╛рдЪрд╛рд░ рдорд╛рдирд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рдПрд╕рд┐рдВрдХреНрд░реЛрдирд╕ рдлрд╝рдВрдХреНрд╢рдВрд╕ рд╡рд╛рджреЛрдВ рдФрд░ рдЬрдирд░реЗрдЯрд░ рдХрд╛ рдПрдХ рд╕рдВрдпреЛрдЬрди рд╣реИ, рд╡реЗ рдирд┐рд░реНрдорд╛рдгреЛрдВ рдХреЛ рд╕рд░рд▓ рдмрдирд╛рддреЗ рд╣реИрдВ рдЬреЛ рдкрд╣рд▓реЗ рдмрдбрд╝реА рдорд╛рддреНрд░рд╛ рдореЗрдВ рдЯреЗрдореНрдкреНрд▓реЗрдЯ рдХреЛрдб рдФрд░ рд╡рд░реНрдгрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд╛рджреЛрдВ рдХреА рдЕрд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╢реНрд░реГрдВрдЦрд▓рд╛рдУрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рд╣рдо рд╡рд╛рджреЛрдВ рдкрд░ рдПрдХ рдЙрдЪреНрдЪ-рд╕реНрддрд░реАрдп рдЕрдореВрд░реНрддрддрд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВред
рдЬрдм ES2015 рдорд╛рдирдХ рдореЗрдВ рд╡рд╛рджреЗ рджрд┐рдЦрд╛рдИ рджрд┐рдП, рддреЛ рдЙрдиреНрд╣реЗрдВ рдЕрддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рдХреЛрдб рдХреЗ рд╕рд╛рде рдореМрдЬреВрджрд╛ рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдЬреЛ рдЙрдиреНрд╣реЛрдВрдиреЗ рдХрд┐рдпрд╛ рдерд╛ред рд▓реЗрдХрд┐рди ES2015 рдФрд░ ES2017 рдорд╛рдирдХреЛрдВ рдХреЛ рд╕рд╛рдЭрд╛ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рджреЛ рд╡рд░реНрд╖реЛрдВ рдореЗрдВ, рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд╣реЛ рдЧрдпрд╛ рдХрд┐ рд╡рд╛рджреЛрдВ рдХреЛ рдЗрди рд╕рдорд╕реНрдпрд╛рдУрдВ рдХрд╛ рдЕрдВрддрд┐рдо рд╕рдорд╛рдзрд╛рди рдирд╣реАрдВ рдорд╛рдирд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ, рд╡рд╛рджреЗ "рдХреЙрд▓рдмреИрдХ рдирд░рдХ" рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рдЙрджреНрджреЗрд╢реНрдп рд╕реЗ рдереЗ, рд▓реЗрдХрд┐рди, рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдЙрдиреНрд╣реЛрдВрдиреЗ рд╕реНрд╡рдпрдВ рдЙрд╕ рдХреЛрдб рдХреА рдЬрдЯрд┐рд▓рддрд╛ рдХреЗ рдХрд╛рд░рдг рдЕрдкрдирд╛ рд╕рд░реНрд╡рд╢реНрд░реЗрд╖реНрда рдкрдХреНрд╖ рдирд╣реАрдВ рджрд┐рдЦрд╛рдпрд╛ рдЬрд┐рд╕рдореЗрдВ рд╡реЗ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВред рддрдереНрдп рдХреА рдмрд╛рдд рдХреЗ рд░реВрдк рдореЗрдВ,
async/await
рдирд┐рд░реНрдорд╛рдг рд╡рд╛рджреЛрдВ рдХреА рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЕрддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рдХреЛрдб рдХреА рдкреНрд░рдпреЛрдЬреНрдпрддрд╛ рдореЗрдВ рд╕реБрдзрд╛рд░ рдХрд░рддрд╛ рд╣реИред
рдПрдХ рдЙрджрд╛рд╣рд░рдг рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВред
function doSomethingAsync() { return new Promise((resolve) => { setTimeout(() => resolve('I did something'), 3000) }) } async function doSomething() { console.log(await doSomethingAsync()) } console.log('Before') doSomething() console.log('After')
рдпрд╣ рдХреЛрдб рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреЛ рдХрдВрд╕реЛрд▓ рдореЗрдВ рдЖрдЙрдЯрдкреБрдЯ рдХрд░реЗрдЧрд╛ред
Before After I did something
рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рдХреЙрд▓ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж
doSomething()
рдкреНрд░реЛрдЧреНрд░рд╛рдо рдЪрд▓рддрд╛ рд░рд╣рддрд╛ рд╣реИ,
Before
,
After
рдХрдВрд╕реЛрд▓ рдореЗрдВ рдкреНрд░рджрд░реНрд╢рд┐рдд рд╣реЛрддрд╛ рд╣реИ, рдФрд░ рддреАрди рд╕реЗрдХрдВрдб рдмреАрддрдиреЗ рдХреЗ рдмрд╛рдж,
I did something
ред
рд╕реАрд░рд┐рдпрд▓ рдЕрддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рдлрд╝рдВрдХреНрд╢рди рдХреЙрд▓
рдпрджрд┐ рдЖрд╡рд╢реНрдпрдХ рд╣реЛ, рддреЛ рдЕрддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рдлрд╝рдВрдХреНрд╢рди рдХреЙрд▓ рдХреА рд╢реНрд░реГрдВрдЦрд▓рд╛рдУрдВ рдХреА рддрд░рд╣ рдХреБрдЫ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВред рдЗрд╕ рддрд░рд╣ рдХреЗ рдбрд┐рдЬрд╛рдЗрди рдХреЗрд╡рд▓ рдЗрд╕реА рддрд░рд╣ рдХреЗ рд╡рд╛рджреЛрдВ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдмреЗрд╣рддрд░ рдкрдардиреАрдпрддрд╛ рд╕реЗ рдЕрд▓рдЧ рд╣реЛрддреЗ рд╣реИрдВред рдЗрд╕реЗ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЙрджрд╛рд╣рд░рдг рдореЗрдВ рджреЗрдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
function promiseToDoSomething() { return new Promise((resolve)=>{ setTimeout(() => resolve('I did something'), 10000) }) } async function watchOverSomeoneDoingSomething() { const something = await promiseToDoSomething() return something + ' and I watched' } async function watchOverSomeoneWatchingSomeoneDoingSomething() { const something = await watchOverSomeoneDoingSomething() return something + ' and I watched as well' } watchOverSomeoneWatchingSomeoneDoingSomething().then((res) => { console.log(res)
Ed рд╕рд╛рдЭрд╛ рдореЗрдореЛрд░реА рдФрд░ рдкрд░рдорд╛рдгреБ рд╕рдВрдЪрд╛рд▓рди
рдпрд╣рд╛рдВ рд╣рдо
SharedArrayBuffer рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдЬреЛ рд╣рдореЗрдВ рд╕рд╛рдЭрд╛ рдореЗрдореЛрд░реА рдХреНрд╖реЗрддреНрд░реЛрдВ, рдФрд░
рдПрдЯреЙрдорд┐рдХреНрд╕ рдСрдмреНрдЬреЗрдХреНрдЯ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рд╕реНрдерд┐рд░ рддрд░реАрдХреЛрдВ рдХреЗ рд░реВрдк рдореЗрдВ рдкрд░рдорд╛рдгреБ рд╕рдВрдЪрд╛рд▓рди рдХрд╛ рдПрдХ рд╕реЗрдЯ рд╣реЛрддрд╛ рд╣реИред рдЗрди рд╡рд╕реНрддреБрдУрдВ рдХреЛ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдХреЛ рджреЗрдиреЗ рд╡рд╛рд▓реА рд╕рдВрднрд╛рд╡рдирд╛рдУрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╡рд┐рд╡рд░рдг
рдпрд╣рд╛рдБ рдкрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛
рд╣реИ ред
ES9 рдорд╛рдирдХ
ES9 (ES2018) рдЗрд╕ рд╕рд╛рдордЧреНрд░реА рдХреЗ рдкреНрд░рдХрд╛рд╢рди рдХреЗ рд╕рдордп рдорд╛рдирдХ рдХрд╛ рдирд╡реАрдирддрдо рд╕рдВрд╕реНрдХрд░рдг рд╣реИред рдпрд╣рд╛рдБ рдЗрд╕рдХреА рдореБрдЦреНрдп рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ рд╣реИрдВ:
- рд╡рд╕реНрддреБрдУрдВ рдкрд░ рд╕реНрдкреНрд░реЗрдб рдФрд░ рдмрд╛рдХреА рд╕реНрдЯреЗрдЯрдореЗрдВрдЯ рд▓рд╛рдЧреВ рдХрд░реЗрдВред
- рдЕрддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ Iteratorsред
- рд╡рд┐рдзрд┐
Promise.prototype.finally()
ред - рдирд┐рдпрдорд┐рдд рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдореЗрдВ рд╡реГрджреНрдзрд┐ред
рд╡рд╕реНрддреБрдУрдВ рдХреЗ рдкреНрд░рд╕рд╛рд░ рдФрд░ рдмрд╛рдХреА рд╕рдВрдЪрд╛рд▓рдХреЛрдВ рдХрд╛ of рдЖрд╡реЗрджрди
рд╣рдо рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдмрд╛рдХреА рдФрд░ рдкреНрд░рд╕рд╛рд░ рдСрдкрд░реЗрдЯрд░реЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░ рдЪреБрдХреЗ рд╣реИрдВ рдЬреЛ рдИрдПрд╕ 6 рдореЗрдВ рджрд┐рдЦрд╛рдИ рджреЗрддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рд╕рд░рдгрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рджреЛрдиреЛрдВ рд╣реА рддреАрди рдбреЙрдЯреНрд╕ рдЬреИрд╕реЗ рджрд┐рдЦрддреЗ рд╣реИрдВред рдмрд╛рдХреА рд╕рдВрдЪрд╛рд▓рдХ, рдПрдХ рд╕рд░рдгреА рдХреЛ рдирд╖реНрдЯ рдХрд░рдиреЗ рдХреЗ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, рдЖрдкрдХреЛ рдЕрдкрдиреЗ рдкрд╣рд▓реЗ рдФрд░ рджреВрд╕рд░реЗ рддрддреНрд╡ рдХреЛ
first
рдФрд░
second
, рдФрд░ рдмрд╛рдХреА рд╕рднреА рдХреЛ рд▓рдЧрд╛рддрд╛рд░
others
ред
const numbers = [1, 2, 3, 4, 5] const [first, second, ...others] = numbers console.log(first)
spread
рдСрдкрд░реЗрдЯрд░ рдЖрдкрдХреЛ рдЙрди рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рд╕рд░рдгрд┐рдпрд╛рдБ рджреЗрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ рдЬреЛ рдирд┐рдпрдорд┐рдд рдкреИрд░рд╛рдореАрдЯрд░ рд╕реВрдЪрд┐рдпреЛрдВ рдХреА рдЕрдкреЗрдХреНрд╖рд╛ рдХрд░рддреЗ рд╣реИрдВред
const numbers = [1, 2, 3, 4, 5] const sum = (a, b, c, d, e) => a + b + c + d + e const res = sum(...numbers) console.log(res)
рдЕрдм, рдЙрд╕реА рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ, рдЖрдк рд╡рд╕реНрддреБрдУрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдпрд╣рд╛рдВ рдПрдХ рд╡рд┐рдирд╛рд╢рдХрд╛рд░реА рдЕрд╕рд╛рдЗрдирдореЗрдВрдЯ рдСрдкрд░реЗрд╢рди рдореЗрдВ рдмрд╛рдХреА рд╡рд┐рд╡рд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рд╣реИред
const { first, second, ...others } = { first: 1, second: 2, third: 3, fourth: 4, fifth: 5 } console.log(first)
рдпрд╣рд╛рдБ рдореМрдЬреВрджрд╛ рд╡рд┐рд╡рд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдореМрдЬреВрджрд╛ рд╡рд╕реНрддреБ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдПрдХ рдирдИ рд╡рд╕реНрддреБ рдмрдирд╛рддреЗ рд╕рдордп рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрд╣ рдЙрджрд╛рд╣рд░рдг рдкрд┐рдЫрд▓реЗ рдПрдХ рдХреЛ рдЬрд╛рд░реА рд░рдЦрддрд╛ рд╣реИред
const items = { first, second, ...others } console.log(items)
тЦНрдПрд╕рд┐рдиреНрдХреНрд░реЛрдирд╕ рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐рдпреЛрдВ
рдирд┐рд░реНрдорд╛рдг рдХреА рдирдИ
for-await-of
рдЖрдкрдХреЛ рдЙрди рдЕрддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреА рд╣реИ рдЬреЛ рд▓реВрдк рдореЗрдВ рд╡рд╛рджреЗ рд╡рд╛рдкрд╕ рдХрд░рддреЗ рд╣реИрдВред рдЗрд╕ рддрд░рд╣ рдХреЗ рд▓реВрдк рдЕрдЧрд▓реЗ рдЪрд░рдг рдкрд░ рдЬрд╛рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рд╡рд╛рджреЗ рдХреЗ рд╕рдВрдХрд▓реНрдк рдХрд╛ рдЗрдВрддрдЬрд╛рд░ рдХрд░рддреЗ рд╣реИрдВред рдпрд╣рд╛рдБ рд╣реИ рдХрд┐ рдпрд╣ рдХреИрд╕рд╛ рджрд┐рдЦрддрд╛ рд╣реИред
for await (const line of readLines(filePath)) { console.log(line) }
рдЗрд╕реА рд╕рдордп, рдпрд╣ рдзреНрдпрд╛рди рджрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рдЗрд╕ рддрд░рд╣ рдХреЗ рдЫреЛрд░реЛрдВ рдХреЛ рдЕрддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рдХрд╛рд░реНрдпреЛрдВ рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП - рдЙрд╕реА рддрд░рд╣ рдЬрдм
async/await
рдирд┐рд░реНрдорд╛рдг рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реЛред
тЦН Promise.prototype.finally () рд╡рд┐рдзрд┐
рдпрджрд┐ рд╡рд╛рджрд╛ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рд╣рд▓ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдЕрдЧрд▓рд╛
then()
рд╡рд┐рдзрд┐ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрджрд┐ рдХреБрдЫ рдЧрд▓рдд рд╣реЛрддрд╛ рд╣реИ, рддреЛ
catch()
рд╡рд┐рдзрд┐ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред
finally()
рд╡рд┐рдзрд┐ рдЖрдкрдХреЛ рдХреБрдЫ рдХреЛрдб рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреА рд╣реИ, рднрд▓реЗ рд╣реА рдкрд╣рд▓реЗ рдХреНрдпрд╛ рд╣реБрдЖ рд╣реЛред
fetch('file.json') .then(data => data.json()) .catch(error => console.error(error)) .finally(() => console.log('finished'))
тЦН рдирд┐рдпрдорд┐рдд рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдореЗрдВ рд╕реБрдзрд╛рд░
рдирд┐рдпрдорд┐рдд рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐рдпреЛрдВ рдореЗрдВ рдкреВрд░реНрд╡рд╡реНрдпрд╛рдкреА рд░реВрдк рд╕реЗ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЛ рдЬрд╛рдВрдЪрдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рд╣реЛрддреА рд╣реИ
?<=
(
?<=
)ред рдпрд╣ рдЖрдкрдХреЛ рд▓рд╛рдЗрдиреЛрдВ рдореЗрдВ рдХреБрдЫ рдирд┐рд░реНрдорд╛рдгреЛрдВ рдХреА рдЦреЛрдЬ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ рдЬрд┐рд╕рдХреЗ рдкрд╣рд▓реЗ рдХреБрдЫ рдЕрдиреНрдп рдирд┐рд░реНрдорд╛рдг рд╣реИрдВред
рдкреВрд░реНрд╡
?=
рдЪреЗрдХреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛
?=
рдирд┐рд░реНрдорд╛рдг ES2018 рдорд╛рдирдХ рд╕реЗ рдкрд╣рд▓реЗ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рд▓рд╛рдЧреВ рдХрд┐рдП рдЧрдП рдирд┐рдпрдорд┐рдд рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐рдпреЛрдВ рдореЗрдВ рдореМрдЬреВрдж рдерд╛ред рдЗрд╕ рддрд░рд╣ рдХреА рдЬрд╛рдВрдЪ рдЖрдкрдХреЛ рдмрддрд╛рддреА рд╣реИ рдХрд┐ рдХреНрдпрд╛ рдПрдХ рдФрд░ рдЯреБрдХрдбрд╝рд╛ рдПрдХ рд░реЗрдЦрд╛ рдХреЗ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рдЯреБрдХрдбрд╝реЗ рдХрд╛ рдЕрдиреБрд╕рд░рдг рдХрд░рддрд╛ рд╣реИред
const r = /Roger(?= Waters)/ const res1 = r.test('Roger is my dog') const res2 = r.test('Roger is my dog and Roger Waters is a famous musician') console.log(res1)
рдирд┐рд░реНрдорд╛рдг
?!
рд╡рд┐рдкрд░реАрдд рдСрдкрд░реЗрд╢рди рдХрд░рддрд╛ рд╣реИ - рдПрдХ рдореИрдЪ рдХреЗрд╡рд▓ рддрднреА рдорд┐рд▓реЗрдЧрд╛ рдЬрдм рдХреЛрдИ рдЕрдиреНрдп рджреА рдЧрдИ рд▓рд╛рдЗрди рдХрд╛ рдкрд╛рд▓рди рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред
const r = /Roger(?! Waters)/g const res1 = r.test('Roger is my dog') const res2 = r.test('Roger is my dog and Roger Waters is a famous musician') console.log(res1)
рдкреВрд░реНрд╡рд╡реНрдпрд╛рдкреА рд╕рддреНрдпрд╛рдкрди рдореЗрдВ, рдЬреИрд╕рд╛ рдХрд┐ рдкрд╣рд▓реЗ рд╣реА рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдирд┐рд░реНрдорд╛рдг
?<=
рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
const r = /(?<=Roger) Waters/ const res1 = r.test('Pink Waters is my dog') const res2 = r.test('Roger is my dog and Roger Waters is a famous musician') console.log(res1)
рд╡рд░реНрдгрд┐рдд рдПрдХ рдХреЗ рд╡рд┐рдкрд░реАрдд рдСрдкрд░реЗрд╢рди рдирд┐рд░реНрдорд╛рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ
?<!
ред
const r = /(?<!Roger) Waters/ const res1 = r.test('Pink Waters is my dog') const res2 = r.test('Roger is my dog and Roger Waters is a famous musician') console.log(res1)
рдпреВрдирд┐рдХреЛрдб рд░реЗрдЧреЗрдХреНрд╕ рдПрд╕реНрдХреЗрдк рд╕реАрдХреНрд╡реЗрдВрд╕
рдирд┐рдпрдорд┐рдд рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐рдпреЛрдВ рдореЗрдВ, рдЖрдк рдХрд┐рд╕реА рднреА рдЕрдВрдХ рд╕реЗ рдореЗрд▓ рдЦрд╛рдиреЗ рд╡рд╛рд▓реЗ
\d
рд╡рд░реНрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдХрд┐рд╕реА рднреА рд╡реНрд╣рд╛рдЯреНрд╕рдПрдк рдЪрд░рд┐рддреНрд░ рд╕реЗ рдореЗрд▓ рдЦрд╛рдиреЗ рд╡рд╛рд▓рд╛
\w
рд╡рд░реНрдЧ, рдХрд┐рд╕реА рднреА рдЕрд▓реНрдлрд╝рд╛рдиреНрдпреВрдореЗрд░рд┐рдХ рд╡рд░реНрдг рд╕реЗ рдореЗрд▓ рдЦрд╛рдиреЗ рд╡рд╛рд▓рд╛ рд╡рд░реНрдЧ, рдФрд░ рдЗрд╕реА рддрд░рд╣ред рд╡рд┐рдЪрд╛рд░рд╛рдзреАрди рд╕реБрд╡рд┐рдзрд╛ рдЙрди рдХрдХреНрд╖рд╛рдУрдВ рдХреЗ рд╕реЗрдЯ рдХреЛ рд╡рд┐рд╕реНрддрд╛рд░рд┐рдд рдХрд░рддреА рд╣реИ рдЬреЛ рдирд┐рдпрдорд┐рдд рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐рдпреЛрдВ рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВ, рдЬрд┐рд╕рд╕реЗ рдЖрдк рдпреВрдирд┐рдХреЛрдб рдЕрдиреБрдХреНрд░рдореЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд╣рдо рд╡рд░реНрдЧ
\p{}
рдФрд░ рд╡рд░реНрдЧ
\P{}
рдХреЗ рд╡реНрдпреБрддреНрдХреНрд░рдо рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВред
рдпреВрдирд┐рдХреЛрдб рдореЗрдВ, рдкреНрд░рддреНрдпреЗрдХ рд╡рд░реНрдг рдореЗрдВ рдЧреБрдгреЛрдВ рдХрд╛ рдПрдХ рд╕рдореВрд╣ рд╣реЛрддрд╛ рд╣реИред рдпреЗ рдЧреБрдг рд╕рдореВрд╣
\p{}
рдмреНрд░реЗрд╕рд┐рдЬрд╝ рдореЗрдВ рдЗрдВрдЧрд┐рдд рдХрд┐рдП рдЧрдП рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП,
Script
рдкреНрд░реЙрдкрд░реНрдЯреА рдЙрди рднрд╛рд╖рд╛рдУрдВ рдХреЗ рдкрд░рд┐рд╡рд╛рд░ рдХреЛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддреА рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдПрдХ рдЪрд░рд┐рддреНрд░ рд╣реЛрддрд╛ рд╣реИ,
ASCII
рдЧреБрдг, рддрд╛рд░реНрдХрд┐рдХ, ASCII рд╡рд░реНрдгреЛрдВ рдХреЗ рд▓рд┐рдП
true
рд╣реЛрддрд╛
true
, рдФрд░ рдЗрд╕реА рддрд░рд╣ред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╣рдореЗрдВ рдкрддрд╛ рдЪрд▓реЗрдЧрд╛ рдХрд┐ рдХреБрдЫ рдкрдВрдХреНрддрд┐рдпреЛрдВ рдореЗрдВ рдХреЗрд╡рд▓ ASCII рдЕрдХреНрд╖рд░ рд╣реИрдВред
console.log(r.test('abc'))
ASCII_Hex_Digit
рд╕рдВрдкрддреНрддрд┐ рдХреЗрд╡рд▓ рдЙрди рд╡рд░реНрдгреЛрдВ рдХреЗ рд▓рд┐рдП
true
рд╣реИ рдЬрд┐рдирдХрд╛ рдЙрдкрдпреЛрдЧ рд╣реЗрдХреНрд╕рд╛рдбреЗрд╕рд┐рдорд▓ рд╕рдВрдЦреНрдпрд╛ рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
const r = /^\p{ASCII_Hex_Digit}+$/u console.log(r.test('0123456789ABCDEF'))
рдХрдИ рдЕрдиреНрдп рд╕рдорд╛рди рдЧреБрдг рд╣реИрдВ рдЬреЛ рдКрдкрд░ рд╡рд░реНрдгрд┐рдд рдХреЗ рд░реВрдк рдореЗрдВ рдЙрд╕реА рддрд░рд╣ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВред рдЗрдирдореЗрдВ
Uppercase
,
Lowercase
,
White_Space
,
Alphabetic
,
Emoji
ред
рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрд╣рд╛рдВ
Script
рд╕рдВрдкрддреНрддрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдпрд╣ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдХрд┐ рдПрдХ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдореЗрдВ рдХрд┐рд╕ рд╡рд░реНрдгрдорд╛рд▓рд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрд╣рд╛рдВ рд╣рдо рдЧреНрд░реАрдХ рд╡рд░реНрдгрдорд╛рд▓рд╛ рдХреЗ рдЙрдкрдпреЛрдЧ рдХреЗ рд▓рд┐рдП рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреА рдЬрд╛рдВрдЪ рдХрд░рддреЗ рд╣реИрдВред
const r = /^\p{Script=Greek}+$/u console.log(r.test('╬╡╬╗╬╗╬╖╬╜╬╣╬║╬м'))
рдЗрди рд╕рдВрдкрддреНрддрд┐рдпреЛрдВ рдкрд░ рд╡рд┐рд╡рд░рдг
рдпрд╣рд╛рдВ рдкрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛
рд╣реИ ред
рдирд╛рдорд┐рдд рд╕рдореВрд╣
ES2018 рдореЗрдВ рдХреИрдж рдЪрд░рд┐рддреНрд░ рд╕рдореВрд╣реЛрдВ рдХреЛ рдирд╛рдо рджрд┐рдП рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВред рдпрд╣рд╛рдБ рд╣реИ рдХрд┐ рдпрд╣ рдХреИрд╕рд╛ рджрд┐рдЦрддрд╛ рд╣реИред
const re = /(?<year>\d{4})-(?<month>\d{2})-(?<day>\d{2})/ const result = re.exec('2015-01-02') console.log(result)
рдирд╛рдорд┐рдд рд╕рдореВрд╣реЛрдВ рдХреЗ рдЙрдкрдпреЛрдЧ рдХреЗ рдмрд┐рдирд╛, рдПрдХ рд╣реА рдбреЗрдЯрд╛ рдХреЗрд╡рд▓ рд╕рд░рдгреА рддрддреНрд╡реЛрдВ рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрд▓рдмреНрдз рд╣реЛрдЧрд╛ред
const re = /(\d{4})-(\d{2})-(\d{2})/ const result = re.exec('2015-01-02') console.log(result)
рд░реЗрдЧреЗрдХреНрд╕ рдлреНрд▓реИрдЧ рдПрд╕
s
рдлреНрд▓реИрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╕реЗ рд╡рд░реНрдг рдореЗрдВ рдкрд░рд┐рдгрд╛рдо рд╣реЛрддрд╛ рд╣реИ
.
(рдбреЙрдЯ), рджреВрд╕рд░реЛрдВ рдХреЗ рдмреАрдЪ, рдиреНрдпреВрд▓рд╛рдЗрди рд╡рд░реНрдг рд╕реЗ рдореЗрд▓ рдЦрд╛рддрд╛ рд╣реИред рдЗрд╕ рдзреНрд╡рдЬ рдХреЗ рдмрд┐рдирд╛, рдПрдХ рдЕрд╡рдзрд┐ рдХрд┐рд╕реА рднреА рдЪрд░рд┐рддреНрд░ рдХреЛ рдПрдХ рдирдИ рд░реЗрдЦрд╛ рдХреЛ рдЫреЛрдбрд╝рдХрд░ рдореЗрд▓ рдЦрд╛рддреА рд╣реИред
console.log(/hi.welcome/.test('hi\nwelcome'))
рдкрд░рд┐рдгрд╛рдо
рдЗрд╕ рд╕рд╛рдордЧреНрд░реА рдХреЗ рд╕рд╛рде, рд╣рдо
рдЗрд╕ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореИрдиреБрдЕрд▓ рдХреЗ рдЕрдиреБрд╡рд╛рдж рдХрд╛ рдкреНрд░рдХрд╛рд╢рди рдкреВрд░рд╛ рдХрд░ рд░рд╣реЗ рд╣реИрдВред рд╣рдореЗрдВ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдЗрди рдкреНрд░рдХрд╛рд╢рдиреЛрдВ рдиреЗ рдЙрди рд▓реЛрдЧреЛрдВ рдХреА рдорджрдж рдХреА рдЬрд┐рдиреНрд╣реЛрдВрдиреЗ рдЗрд╕ рднрд╛рд╖рд╛ рдореЗрдВ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдореЗрдВ рдЕрдкрдирд╛ рдкрд╣рд▓рд╛ рдХрджрдо рдЙрдард╛рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдирд╣реАрдВ рдХрд┐рдпрд╛ рдерд╛ред
рдкреНрд░рд┐рдп рдкрд╛рдардХреЛрдВ! рдпрджрд┐ рдЖрдкрдиреЗ рдкрд╣рд▓реЗ рдЬреЗрдПрд╕ рдореЗрдВ рдирд╣реАрдВ рд▓рд┐рдЦрд╛ рд╣реИ рдФрд░ рдЗрд╕ рдЧрд╛рдЗрдб рдореЗрдВ рдЗрд╕ рднрд╛рд╖рд╛ рдореЗрдВ рдорд╣рд╛рд░рдд рд╣рд╛рд╕рд┐рд▓ рдХреА рд╣реИ, рддреЛ рдХреГрдкрдпрд╛ рдЕрдкрдиреЗ рдЗрдВрдкреНрд░реЗрд╢рди рд╕рд╛рдЭрд╛ рдХрд░реЗрдВред
