рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ рдЕрдиреБрд╡рд╛рдж рдХреЗ рдЗрд╕ рднрд╛рдЧ рдореЗрдВ рд╡рд┐рд╖рдп рдЕрдкрд╡рд╛рдж рд╣реИрдВрдбрд▓рд┐рдВрдЧ, рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдЕрд░реНрдзрд╡рд┐рд░рд╛рдо рд╕реБрд╡рд┐рдзрд╛рдПрдБ рдФрд░ рдЯреЗрдореНрдкрд▓реЗрдЯ рд╢рд╛рдмреНрджрд┐рдХ рд╣реЛрдВрдЧреЗред
тЖТ
рднрд╛рдЧ 1: рдкрд╣рд▓рд╛ рдХрд╛рд░реНрдпрдХреНрд░рдо, рднрд╛рд╖рд╛ рд╕реБрд╡рд┐рдзрд╛рдПрдБ, рдорд╛рдирдХтЖТ
рднрд╛рдЧ 2: рдХреЛрдб рд╢реИрд▓реА рдФрд░ рдХрд╛рд░реНрдпрдХреНрд░рдо рд╕рдВрд░рдЪрдирд╛тЖТ
рднрд╛рдЧ 3: рдЪрд░, рдбреЗрдЯрд╛ рдкреНрд░рдХрд╛рд░, рднрд╛рд╡, рд╡рд╕реНрддреБтЖТ
рднрд╛рдЧ 4: рд╕реБрд╡рд┐рдзрд╛рдПрдБтЖТ
рднрд╛рдЧ 5: рд╕рд░рдгрд┐рдпрд╛рдБ рдФрд░ рд▓реВрдктЖТ
рднрд╛рдЧ 6: рдЕрдкрд╡рд╛рдж, рдЕрд░реНрдзрд╡рд┐рд░рд╛рдо, рд╡рд╛рдЗрд▓реНрдбрдХрд╛рд░реНрдб рд╢рд╛рдмреНрджрд┐рдХтЖТ
рднрд╛рдЧ 7: рд╕рдЦреНрдд рдореЛрдб, рдпрд╣ рдХреАрд╡рд░реНрдб, рдШрдЯрдирд╛рдУрдВ, рдореЙрдбреНрдпреВрд▓, рдЧрдгрд┐рддреАрдп рдЧрдгрдирд╛тЖТ
рднрд╛рдЧ 8: ES6 рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХрд╛ рдЕрд╡рд▓реЛрдХрдитЖТ
рднрд╛рдЧ 9: ES7, ES8 рдФрд░ ES9 рдорд╛рдирдХреЛрдВ рдХрд╛ рдЕрд╡рд▓реЛрдХрди
рдЕрдкрд╡рд╛рдж рд╕рдВрднрд╛рд▓рдирд╛
рдЬрдм рдХреЛрдб рдирд┐рд╖реНрдкрд╛рджрди рдХреЗ рджреМрд░рд╛рди рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рд╣реЛрддреА рд╣реИ, рддреЛ рдЗрд╕реЗ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рдЕрдкрд╡рд╛рдж рдХреЗ рд░реВрдк рдореЗрдВ рд╡реНрдпрдХреНрдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрджрд┐ рдЖрдк рдЕрдкрд╡рд╛рджреЛрдВ рдХреЛ рд╕рдВрднрд╛рд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрд╛рдп рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ, рдЬрдм рд╡реЗ рд╣реЛрддреЗ рд╣реИрдВ, рддреЛ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдмрдВрдж рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдХрдВрд╕реЛрд▓ рдореЗрдВ рдПрдХ рддреНрд░реБрдЯрд┐ рд╕рдВрджреЗрд╢ рдкреНрд░рджрд░реНрд╢рд┐рдд рд╣реЛрддрд╛ рд╣реИред
рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреЛрдб рд╕реНрдирд┐рдкреЗрдЯ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВред
let obj = {value: 'message text'} let notObj let fn = (a) => a.value console.log(fn(obj))
рдпрд╣рд╛рдВ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ рдлрд╝рдВрдХреНрд╢рди рд╣реИ рдЬрд┐рд╕реЗ рд╣рдо рдЙрди рд╡рд╕реНрддреБрдУрдВ рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдпреЛрдЬрдирд╛ рдмрдирд╛рддреЗ рд╣реИрдВ рдЬрд┐рдирдХреЗ рдкрд╛рд╕
value
рд╕рдВрдкрддреНрддрд┐ рд╣реИред рд╡рд╣ рдпрд╣ рд╕рдВрдкрддреНрддрд┐ рд▓реМрдЯрд╛рддреА рд╣реИред рдпрджрд┐ рдЖрдк рдЗрд╕ рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдЕрдкрдиреЗ рдЗрдЪреНрдЫрд┐рдд рдЙрджреНрджреЗрд╢реНрдп рдХреЗ рд▓рд┐рдП рдХрд░рддреЗ рд╣реИрдВ, рдЕрд░реНрдерд╛рдд, рдЗрд╕реЗ рдРрд╕реА рд╡рд╕реНрддреБ рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд┐рд╕реЗ рдЗрд╕рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рддреЛ рдЗрд╕реЗ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдкрд░ рдХреЛрдИ рддреНрд░реБрдЯрд┐ рдЙрддреНрдкрдиреНрди рдирд╣реАрдВ рд╣реЛрдЧреАред рд▓реЗрдХрд┐рди рдЕрдЧрд░ рдЖрдк рдЗрд╕рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдЕрдиреБрдЪрд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдПрдХ рдШреЛрд╖рд┐рдд рд▓реЗрдХрд┐рди рдЕрд╕рдорд╛рди рд░реВрдк рд╕реЗ рдкрд░рд┐рд╡рд░реНрддрдирд╢реАрд▓ рдЪрд░, рддрдм рдПрдХ рддреНрд░реБрдЯрд┐ рддрдм рд╣реЛрддреА рд╣реИ рдЬрдм рдЖрдк
undefined
рдореВрд▓реНрдп рдХреА рд╕рдВрдкрддреНрддрд┐ рддрдХ рдкрд╣реБрдБрдЪрдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддреЗ рд╣реИрдВред рдХрдВрд╕реЛрд▓ рдореЗрдВ рдПрдХ рддреНрд░реБрдЯрд┐ рд╕рдВрджреЗрд╢ рджрд┐рдЦрд╛рдИ рджреЗрдЧрд╛, рдкреНрд░реЛрдЧреНрд░рд╛рдо рдирд┐рд╖реНрдкрд╛рджрди рдмрдВрдж рд╣реЛ рдЬрд╛рдПрдЧрд╛ред
рдЬрдм рдЖрдк рдЗрд╕ рдХреЛрдб рдХреЛ Node.js. рдкрд░ рдЪрд▓рд╛рддреЗ рд╣реИрдВ рддреЛ рдпрд╣ рдХреИрд╕рд╛ рджрд┐рдЦрддрд╛ рд╣реИ
Node.js рдореЗрдВ TypeError рдЕрдкрд╡рд╛рджрдпрджрд┐ рд╡реЗрдм рдкреЗрдЬ рдХреЗ рдЬреЗрдПрд╕ рдХреЛрдб рдореЗрдВ рдРрд╕рд╛ рдХреБрдЫ рд╣реЛрддрд╛ рд╣реИ, рддреЛ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХрдВрд╕реЛрд▓ рдХреЛ рдПрдХ рд╕рдорд╛рди рд╕рдВрджреЗрд╢ рднреЗрдЬрд╛ рдЬрд╛рдПрдЧрд╛ред рдпрджрд┐ рдпрд╣ рдПрдХ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдХрд╛рд░реНрдпрдХреНрд░рдо рдореЗрдВ рд╣реЛрддрд╛ рд╣реИ, рддреЛ рдХрд╣реЗрдВ - рд╡реЗрдм рд╕рд░реНрд╡рд░ рдХреЛрдб рдореЗрдВ, рдпрд╣ рд╡реНрдпрд╡рд╣рд╛рд░ рдмреЗрд╣рдж рдЕрд╡рд╛рдВрдЫрдиреАрдп рд╣реИред рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ рдХрд┐ рдХреЛрдИ рдРрд╕рд╛ рддрдВрддреНрд░ рд╣реЛ, рдЬреЛ рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреЛ рд░реЛрдХреЗ рдмрд┐рдирд╛, рддреНрд░реБрдЯрд┐ рдХреЛ рдкрдХрдбрд╝рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рдФрд░ рдлрд┐рд░ рдЗрд╕реЗ рд╕рд╣реА рдХрд░рдиреЗ рдХреЗ рдЙрдкрд╛рдп рдХрд░рддрд╛ рд╣реИред рдЗрд╕ рддрд░рд╣ рдХреЗ рдПрдХ рддрдВрддреНрд░ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рдореМрдЬреВрдж рд╣реИ, рдпрд╣
try...catch
рджреНрд╡рд╛рд░рд╛ рджрд░реНрд╢рд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ
try...catch
рдирд┐рд░реНрдорд╛рдг рдкрдХрдбрд╝реЗрдВред
тЦНрд╕рдВрдХрдЯ рдХреА рдХреЛрд╢рд┐рд╢ ... рдкрдХрдбрд╝
try...catch
рдирд┐рд░реНрдорд╛рдг рдЖрдкрдХреЛ рдЕрдкрд╡рд╛рджреЛрдВ рдХреЛ рдкрдХрдбрд╝рдиреЗ рдФрд░ рд╕рдВрднрд╛рд▓рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдЕрд░реНрдерд╛рддреН, рдЗрд╕рдореЗрдВ рдПрдХ
try
рдмреНрд▓реЙрдХ рд╢рд╛рдорд┐рд▓ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рдПрдХ рддреНрд░реБрдЯрд┐ рдХрд╛ рдХрд╛рд░рдг рдмрдирдиреЗ рд╡рд╛рд▓рд╛ рдХреЛрдб рдФрд░ рдПрдХ
catch
, рдЬрд┐рд╕рдореЗрдВ рддреНрд░реБрдЯрд┐ рд╣реЛрдиреЗ рдкрд░ рдирд┐рдпрдВрддреНрд░рдг рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
try
рдмреНрд▓реЙрдХ рдореЗрдВ рдмрд┐рд▓реНрдХреБрд▓ рд╕рднреА рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреЛрдб рд╢рд╛рдорд┐рд▓ рди рд╣реЛрдВред рдЗрд╕рдХреЗ рдХреБрдЫ рд╣рд┐рд╕реНрд╕реЗ рдЬреЛ рд░рдирдЯрд╛рдЗрдо рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХрд╛ рдХрд╛рд░рдг рдмрди рд╕рдХрддреЗ рд╣реИрдВ, рдЙрдиреНрд╣реЗрдВ рд╡рд╣рд╛рдВ рд░рдЦрд╛ рдЧрдпрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЙрди рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдХреЙрд▓ рдХрд░рддрд╛ рд╣реИ рдЬрд┐рдиреНрд╣реЗрдВ рдмрд╛рд╣рд░реА рд╕реНрд░реЛрддреЛрдВ рд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХреБрдЫ рдбреЗрдЯрд╛ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛ рдкрдбрд╝рддрд╛ рд╣реИред рдпрджрд┐ рдЗрд╕ рддрд░рд╣ рдХреЗ рдбреЗрдЯрд╛ рдХреА рд╕рдВрд░рдЪрдирд╛ рдХрд╛рд░реНрдп рдХреА рдЕрдкреЗрдХреНрд╖рд╛ рд╕реЗ рднрд┐рдиреНрди рд╣реИ, рддреЛ рдПрдХ рддреНрд░реБрдЯрд┐ рд╣реЛ рд╕рдХрддреА рд╣реИред рдпрд╣рд╛рдБ рд╣реИ рдХреНрдпрд╛
try...catch
рдбрд┐рдЬрд╛рдЗрди рдЖрд░реЗрдЦ рдЬреИрд╕рд╛ рджрд┐рдЦрддрд╛ рд╣реИред
try {
рдпрджрд┐ рдХреЛрдб рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЗ рдмрд┐рдирд╛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ
catch
(рдЕрдкрд╡рд╛рдж рд╣реИрдВрдбрд▓рд░) рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрджрд┐ рдХреЛрдИ рддреНрд░реБрдЯрд┐ рд╣реЛрддреА рд╣реИ, рддреЛ рддреНрд░реБрдЯрд┐ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЛ рд╡рд╣рд╛рдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдЗрд╕ рддреНрд░реБрдЯрд┐ рд╕реЗ рдирд┐рдкрдЯрдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдХрд╛рд░реНрд░рд╡рд╛рдИ рдХреА рдЬрд╛рддреА рд╣реИред
рд╣рдо рдЗрд╕ рдирд┐рд░реНрдорд╛рдг рдХреЛ рдЕрдкрдиреЗ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ рд▓рд╛рдЧреВ рдХрд░рддреЗ рд╣реИрдВ, рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреЗ рдЦрддрд░рдирд╛рдХ рд╡рд░реНрдЧреЛрдВ рдХреА рдорджрдж рд╕реЗ рд░рдХреНрд╖рд╛ рдХрд░рддреЗ рд╣реИрдВ - рдЬрд┐рдиреНрд╣реЗрдВ рдлрд╝рдВрдХреНрд╢рди
fn()
рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред
let obj = {value: 'message text'} let notObj let fn = (a) => a.value try { console.log(fn(obj)) } catch (e) { console.log(e.message) } console.log('Before')
рдЖрдЗрдП рдЗрд╕ рдХреЛрдб рдХреЛ Node.js. рдореЗрдВ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреЗ рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреЛ рджреЗрдЦреЗрдВ
Node.js рдореЗрдВ рддреНрд░реБрдЯрд┐ рд╣реИрдВрдбрд▓рд┐рдВрдЧрдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рдпрджрд┐ рдЖрдк рдкрд┐рдЫрд▓реЗ рдПрдХ рдХреЗ рд╕рд╛рде рдЗрд╕ рдЙрджрд╛рд╣рд░рдг рдХреА рддреБрд▓рдирд╛ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЕрдм рд╕рднреА рдХреЛрдб рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ, рдФрд░ рд╡рд╣ рдЬреЛ рд╕рдорд╕реНрдпрд╛ рд░реЗрдЦрд╛ рд╕реЗ рдкрд╣рд▓реЗ рд╕реНрдерд┐рдд рд╣реИ, рдФрд░ рд╡рд╣ рдЬреЛ рдЗрд╕рдХреЗ рдмрд╛рдж рд╕реНрдерд┐рдд рд╣реИред рд╣рдо
рддреНрд░реБрдЯрд┐ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреА
message
рд╕рдВрдкрддреНрддрд┐ рдХреЗ рдореВрд▓реНрдпреЛрдВ рдХреЛ рд╕рд╛рдВрддреНрд╡рдирд╛ рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рдХреЗрд╡рд▓ рдкреНрд░рд┐рдВрдЯ рдХрд░рдХреЗ "рдкреНрд░рдХреНрд░рд┐рдпрд╛" рдХрд░рддреЗ рд╣реИрдВред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЧрдП рдХреЛрдб рдореЗрдВ рд╣реБрдИ рддреНрд░реБрдЯрд┐ рдХреА рд╣реИрдВрдбрд▓рд┐рдВрдЧ рдХреНрдпрд╛ рд╣реЛрдЧреА рдпрд╣ рддреНрд░реБрдЯрд┐ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИред
рд╣рдордиреЗ рдЗрд╕
try...catch
рдкрд░ рдЪрд░реНрдЪрд╛
try...catch
рдКрдкрд░ рдмреНрд▓реЙрдХ рдХреЛ рдкрдХрдбрд╝реЗрдВ, рд▓реЗрдХрд┐рди рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдЗрд╕ рдирд┐рд░реНрдорд╛рдг рдореЗрдВ рдПрдХ рдФрд░ рдмреНрд▓реЙрдХ рд╢рд╛рдорд┐рд▓ рд╣реИ -
finally
ред
тЦН рдЕрдВрдд рдореЗрдВ рдмреНрд▓реЙрдХ рдХрд░реЗрдВ
finally
рдмреНрд▓реЙрдХ рдореЗрдВ рд╡рд╣ рдХреЛрдб рд╣реЛрддрд╛ рд╣реИ, рдЬреЛ рдЗрд╕
try
рдореЗрдВ рд╣реЛрддрд╛ рд╣реИ рдХрд┐ рдХреЛрдб рдореЗрдВ рдХреЛрдИ рддреНрд░реБрдЯрд┐ рд╣реБрдИ рд╣реИ рдпрд╛ рдирд╣реАрдВред рдпрд╣рд╛рдБ рд╣реИ рдХрд┐ рдпрд╣ рдХреИрд╕рд╛ рджрд┐рдЦрддрд╛ рд╣реИред
try {
finally
рдмреНрд▓реЙрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рднреА рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдЕрдЧрд░
try...catch...finally
рдмреНрд▓реЙрдХ рдореЗрдВ рдПрдХ
catch
рдирд╣реАрдВ рд╣реИред рдЗрд╕ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдореЗрдВ, рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдЙрд╕реА рддрд░рд╣ рд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬреИрд╕реЗ рдХрд┐
catch
рд╕рд╛рде рдирд┐рд░реНрдорд╛рдг рдореЗрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП,
try
рдмреНрд▓реЙрдХ рдореЗрдВ рдореМрдЬреВрдж рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреЛ рдореБрдХреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдПред
Ested рдиреЗрд╕реНрдЯреЗрдб рдкреНрд░рдпрд╛рд╕ рдмреНрд▓реЙрдХ
рдХреЛрд╢рд┐рд╢ рдХрд░реЗрдВ рдХрд┐ рдмреНрд▓реЙрдХ рдХреЛ рдПрдХ рд╕рд╛рде рдШреЛрдВрд╕рд▓рд╛ рдмрдирд╛рдпрд╛ рдЬрд╛ рд╕рдХреЗред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдЕрдкрд╡рд╛рдж рдХреЛ рдирд┐рдХрдЯрддрдо
catch
рдореЗрдВ рд╕рдВрднрд╛рд▓рд╛ рдЬрд╛рддрд╛ рд╣реИред
try {
рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдпрджрд┐ рдЖрдВрддрд░рд┐рдХ
try
рдмреНрд▓реЙрдХ рдореЗрдВ рдХреЛрдИ рдЕрдкрд╡рд╛рдж рд╣реЛрддрд╛ рд╣реИ, рддреЛ рдЗрд╕реЗ рдмрд╛рд╣рд░реА
catch
рдореЗрдВ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред
тЦН рд╕реНрд╡-рдирд┐рд░реНрдорд┐рдд рдЕрдкрд╡рд╛рдж
рдереНрд░реЗрдб рд╕реНрдЯреЗрдЯрдореЗрдВрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЕрдкрд╡рд╛рджреЛрдВ рдХреЛ рд╕реНрд╡рдпрдВ рджреНрд╡рд╛рд░рд╛ рдлреЗрдВрдХрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдпрд╣рд╛рдБ рд╣реИ рдХрд┐ рдпрд╣ рдХреИрд╕рд╛ рджрд┐рдЦрддрд╛ рд╣реИред
throw value
рдЗрд╕ рдирд┐рд░реНрджреЗрд╢ рдХреЗ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж, рдирд┐рдпрдВрддреНрд░рдг рдХреЛ рдирд┐рдХрдЯрддрдо
catch
рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдпрд╛ рдпрджрд┐ рдРрд╕рд╛ рдмреНрд▓реЙрдХ рдирд╣реАрдВ рдорд┐рд▓ рд╕рдХрддрд╛ рд╣реИ, рддреЛ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдмрдВрдж рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред рдЕрдкрд╡рд╛рдж рдореВрд▓реНрдп рдХреБрдЫ рднреА рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛-рдкрд░рд┐рднрд╛рд╖рд┐рдд рддреНрд░реБрдЯрд┐ рдСрдмреНрдЬреЗрдХреНрдЯред
рдЕрд░реНрдзрд╡рд┐рд░рд╛рдо рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ
рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рдЕрд░реНрдзрд╡рд┐рд░рд╛рдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╡реИрдХрд▓реНрдкрд┐рдХ рд╣реИред рдХреБрдЫ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдЙрдирдХреЗ рдмрд┐рдирд╛ рдХрд░рддреЗ рд╣реИрдВ, рдЙрдирдХреЗ рд▓рд┐рдП рдПрдХ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд╡реНрдпрд╡рд╕реНрдерд╛ рдкреНрд░рдгрд╛рд▓реА рдкрд░ рднрд░реЛрд╕рд╛ рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рдЙрдиреНрд╣реЗрдВ рдХреЗрд╡рд▓ рдЙрд╕реА рд╕реНрдерд╛рди рдкрд░ рд░рдЦрддреЗ рд╣реИрдВ рдЬрд╣рд╛рдВ рдпрд╣ рдмрд┐рд▓реНрдХреБрд▓ рдЖрд╡рд╢реНрдпрдХ рд╣реИред рдХреБрдЫ рд▓реЛрдЧ рдЬрд╣рд╛рдБ рднреА рд╕рдВрднрд╡ рд╣реЛ рдЙрдиреНрд╣реЗрдВ рдЬрдЧрд╣ рджреЗрдирд╛ рдкрд╕рдВрдж рдХрд░рддреЗ рд╣реИрдВред рдЗрд╕ рд╕рд╛рдордЧреНрд░реА рдХреЗ рд▓реЗрдЦрдХ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдХреА рд╢реНрд░реЗрдгреА рдХреЛ рд╕рдВрджрд░реНрднрд┐рдд рдХрд░рддреЗ рд╣реИрдВ рдЬреЛ рдЕрд░реНрдзрд╡рд┐рд░рд╛рдо рдХреЗ рдмрд┐рдирд╛ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред рд╡рд╣ рдХрд╣рддрд╛ рд╣реИ рдХрд┐ рдЙрд╕рдиреЗ 2017 рдореЗрдВ рдЖрдиреЗ рд╡рд╛рд▓реЗ рдкрддрдЭрдбрд╝ рдореЗрдВ рдЙрдирдХреЗ рдмрд┐рдирд╛ рдХрд░рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛, рдЬрд╣рд╛рдБ рдЖрдк рдЙрдирдХреА рд╕реНрдкрд╖реНрдЯ рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐ рдХреЗ рдмрд┐рдирд╛ рдЙрдиреНрд╣реЗрдВ рд╣рдЯрд╛ рд╕рдХрддреЗ рд╣реИрдВред рдЙрдирдХреА рд░рд╛рдп рдореЗрдВ, рдЕрд░реНрдзрд╡рд┐рд░рд╛рдо рдХреЗ рдмрд┐рдирд╛ рдХреЛрдб рдЕрдзрд┐рдХ рдкреНрд░рд╛рдХреГрддрд┐рдХ рдФрд░ рдкрдврд╝рдиреЗ рдореЗрдВ рдЖрд╕рд╛рди рд▓рдЧрддрд╛ рд╣реИред
рд╢рд╛рдпрдж рд╣рдо рдХрд╣ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдЬреЗрдПрд╕ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХрд╛ рд╕рдореБрджрд╛рдп рдЕрд░реНрдзрд╡рд┐рд░рд╛рдореЛрдВ рдХреЗ рд╕рдВрдмрдВрдз рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рд╣реИ, рджреЛ рд╢рд┐рд╡рд┐рд░реЛрдВ рдореЗрдВред рдЗрд╕реА рд╕рдордп, рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╕реНрдЯрд╛рдЗрд▓ рдЧрд╛рдЗрдб рднреА рд╣реИрдВ рдЬреЛ рд╕реНрдкрд╖реНрдЯ рдЕрд░реНрдзрд╡рд┐рд░рд╛рдореЛрдВ рдХреЛ рд▓рд┐рдЦрддреЗ рд╣реИрдВ, рдФрд░ рдРрд╕реЗ рдЧрд╛рдЗрдб рдЬреЛ рдЙрдирдХреЗ рдмрд┐рдирд╛ рдХрд░рдиреЗ рдХреА рд╕рд▓рд╛рд╣ рджреЗрддреЗ рд╣реИрдВред
рдпрд╣ рд╕рдм рдЗрд╕ рддрдереНрдп рдХреЗ рдХрд╛рд░рдг рд╕рдВрднрд╡ рд╣реИ рдХрд┐ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдЕрд░реНрдзрд╡рд┐рд░рд╛рдо (рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдЕрд░реНрдзрд╡рд┐рд░рд╛рдо рд╕рдореНрдорд┐рд▓рди, рдПрдПрд╕рдЖрдИ) рдХреЗ рд▓рд┐рдП рдПрдХ рдкреНрд░рдгрд╛рд▓реА рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐, рддрдереНрдп рдпрд╣ рд╣реИ рдХрд┐ рдЬреЗрдПрд╕ рдХреЛрдб рдореЗрдВ, рдХрдИ рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдореЗрдВ, рдЖрдк рдЗрди рдкрд╛рддреНрд░реЛрдВ рдХреЗ рдмрд┐рдирд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдФрд░ рддрдереНрдп рдпрд╣ рд╣реИ рдХрд┐ рдирд┐рд╖реНрдкрд╛рджрди рдХреЗ рд▓рд┐рдП рдХреЛрдб рддреИрдпрд╛рд░ рдХрд░рддреЗ рд╕рдордп рдЕрд░реНрдзрд╡рд┐рд░рд╛рдо рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рд░рдЦреЗ рдЬрд╛рддреЗ рд╣реИрдВ, рдЗрд╕рдХрд╛ рдорддрд▓рдм рдпрд╣ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдХреЛ рдЙрди рдирд┐рдпрдореЛрдВ рдХреЛ рдЬрд╛рдирдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ рдЬрд┐рдирдХреЗ рджреНрд╡рд╛рд░рд╛ рдРрд╕рд╛ рд╣реЛрддрд╛ рд╣реИред рдЗрди рдирд┐рдпрдореЛрдВ рдХреА рдЕрдЬреНрдЮрд╛рдирддрд╛ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреА рдУрд░ рд▓реЗ рдЬрд╛рддреА рд╣реИред
тЦН рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдЕрд░реНрдзрд╡рд┐рд░рд╛рдо рдХреЗ рдирд┐рдпрдо
рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдореЗрдВ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдкрд╛рда рдХреЛ рдкрд╛рд░реНрд╕ рдХрд░рддреЗ рд╕рдордп рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдкрд╛рд░реНрд╕рд░ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдЕрд░реНрдзрд╡рд┐рд░рд╛рдо рдЬреЛрдбрд╝рддрд╛ рд╣реИ:
- рдЬрдм рдЕрдЧрд▓реА рд▓рд╛рдЗрди рдПрдХ рдХреЛрдб рдХреЗ рд╕рд╛рде рд╢реБрд░реВ рд╣реЛрддреА рд╣реИ рдЬреЛ рд╡рд░реНрддрдорд╛рди рдХреЛрдб рдХреЛ рдмрд╛рдзрд┐рдд рдХрд░рддреА рд╣реИ (рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рдХрдорд╛рдВрдб рдХрд╛ рдХреЛрдб рдХрдИ рд▓рд╛рдЗрдиреЛрдВ рдкрд░ рд╕реНрдерд┐рдд рд╣реЛ рд╕рдХрддрд╛ рд╣реИ)ред
- рдЬрдм рдЕрдЧрд▓реА рдкрдВрдХреНрддрд┐ рд╡рд░реНрдг рд╕реЗ рд╢реБрд░реВ рд╣реЛрддреА рд╣реИ
}
, рдЬреЛ рд╡рд░реНрддрдорд╛рди рдмреНрд▓реЙрдХ рдХреЛ рдмрдВрдж рдХрд░ рджреЗрддреА рд╣реИред - рдЬрдм рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреЛрдб рд╡рд╛рд▓реА рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдЕрдВрдд рдкрддрд╛ рдЪрд▓рд╛ рд╣реИред
return
рдЖрджреЗрд╢ рдХреЗ рд╕рд╛рде рд▓рд╛рдЗрди рдореЗрдВредbreak
рдХрдорд╛рдВрдб рдХреЗ рд╕рд╛рде рд▓рд╛рдЗрди рдореЗрдВредthrow
рдХрдорд╛рдВрдб рдХреЗ рд╕рд╛рде рд▓рд╛рдЗрди рдореЗрдВредcontinue
рдХрдорд╛рдВрдб рдХреЗ рд╕рд╛рде рд▓рд╛рдЗрди рдореЗрдВред
тЦН рдХреЛрдб рдХреЗ рдЙрджрд╛рд╣рд░рдг рдЬреЛ рдЙрдореНрдореАрдж рдХреЗ рдореБрддрд╛рдмрд┐рдХ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ
рдЙрдкрд░реЛрдХреНрдд рдирд┐рдпрдореЛрдВ рдХреЛ рджрд░реНрд╢рд╛рдиреЗ рд╡рд╛рд▓реЗ рдХреБрдЫ рдЙрджрд╛рд╣рд░рдг рдпрд╣рд╛рдВ рджрд┐рдП рдЧрдП рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдХреНрдпрд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреЛрдб рдХреЗ рдЯреБрдХрдбрд╝реЗ рдХреЗ рдирд┐рд╖реНрдкрд╛рджрди рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛?
const hey = 'hey' const you = 'hey' const heyYou = hey + ' ' + you ['h', 'e', 'y'].forEach((letter) => console.log(letter))
рдЬрдм рдЖрдк рдЗрд╕ рдХреЛрдб рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдПрдХ
Uncaught TypeError: Cannot read property 'forEach' of undefined
рддреНрд░реБрдЯрд┐ рдХреЛ
Uncaught TypeError: Cannot read property 'forEach' of undefined
рдЬрд╛рдПрдЧрд╛
Uncaught TypeError: Cannot read property 'forEach' of undefined
рдирд┐рдпрдо рд╕рдВрдЦреНрдпрд╛ 1 рдХреЗ рдЖрдзрд╛рд░ рдкрд░,
Uncaught TypeError: Cannot read property 'forEach' of undefined
рдкреНрд░рдгрд╛рд▓реА
Uncaught TypeError: Cannot read property 'forEach' of undefined
, рдпрд╣ рдХреЛрдб рдХреА рд╡реНрдпрд╛рдЦреНрдпрд╛ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддрд╛ рд╣реИред
const hey = 'hey'; const you = 'hey'; const heyYou = hey + ' ' + you['h', 'e', 'y'].forEach((letter) => console.log(letter))
рдкрд╣рд▓реА рдорд┐рд╕рд╛рд▓ рдХреА рдХрд▓рдордХрд╛рд░реА рд▓рд╛рдЗрди рдХреЗ рдмрд╛рдж рдЕрд░реНрдзрд╡рд┐рд░рд╛рдо рд▓рдЧрд╛рдХрд░ рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╣рд▓ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рдпрд╣рд╛рдБ рдХреЛрдб рдХрд╛ рдПрдХ рдФрд░ рдЯреБрдХрдбрд╝рд╛ рд╣реИред
(1 + 2).toString()
рдЗрд╕рдХреЗ рдирд┐рд╖реНрдкрд╛рджрди рдХрд╛ рдкрд░рд┐рдгрд╛рдо рд╕реНрдЯреНрд░рд┐рдВрдЧ
"3"
рдХрд╛ рдЖрдЙрдЯрдкреБрдЯ рд╣реЛрдЧрд╛ред рд▓реЗрдХрд┐рди рдХреНрдпрд╛ рд╣реЛрддрд╛ рд╣реИ рдЕрдЧрд░ рдЕрдЧрд▓реЗ рдХреЛрдб рд╕реНрдирд┐рдкреЗрдЯ рдореЗрдВ рдРрд╕рд╛ рдХреБрдЫ рджрд┐рдЦрд╛рдИ рджреЗрддрд╛ рд╣реИ?
const a = 1 const b = 2 const c = a + b (a + b).toString()
рдЗрд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ,
TypeError: b is not a function
рддреНрд░реБрдЯрд┐ рджрд┐рдЦрд╛рдИ рджреЗрдЧреА
TypeError: b is not a function
рдХреНрдпреЛрдВрдХрд┐ рдЙрдкрд░реЛрдХреНрдд рдХреЛрдб рдХреА рд╡реНрдпрд╛рдЦреНрдпрд╛ рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рдХреА рдЬрд╛рдПрдЧреАред
const a = 1 const b = 2 const c = a + b(a + b).toString()
рдЖрдЗрдП рдЕрдм рдирд┐рдпрдо 4 рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдПрдХ рдЙрджрд╛рд╣рд░рдг рджреЗрдЦреЗрдВред
(() => { return { color: 'white' } })()
рдЖрдк рд╕реЛрдЪ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдпрд╣ рдЖрдИрдЖрдИрдПрдлрдИ
color
рд╕рдВрдкрддреНрддрд┐ рд╡рд╛рд▓реА рдПрдХ рд╡рд╕реНрддреБ рд▓реМрдЯрд╛рдПрдЧрд╛, рд▓реЗрдХрд┐рди рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдпрд╣ рдирд╣реАрдВ рд╣реИред рдЗрд╕рдХреЗ рдмрдЬрд╛рдп, рдлрд╝рдВрдХреНрд╢рди
undefined
рд╡рд╛рдкрд╕ рдЖ рдЬрд╛рдПрдЧрд╛ рдХреНрдпреЛрдВрдХрд┐ рд╕рд┐рд╕реНрдЯрдо
return
рдХрдорд╛рдВрдб рдХреЗ рдмрд╛рдж рдПрдХ рдЕрд░реНрдзрд╡рд┐рд░рд╛рдо рдЬреЛрдбрд╝рддрд╛ рд╣реИред
рдЗрд╕реА рддрд░рд╣ рдХреА рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдСрдмреНрдЬреЗрдХреНрдЯ рд╢рд╛рдмреНрджрд┐рдХ рдХреЗ рдЙрджреНрдШрд╛рдЯрди рдмреНрд░реЗрд╕ рдХреЛ рдЙрд╕реА рдХрдорд╛рдВрдб рдкрд░ рд░рдЦрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП, рдЬреИрд╕реЗ
return
рдХрдорд╛рдВрдбред
(() => { return { color: 'white' } })()
рдпрджрд┐ рдЖрдк рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреЛрдб рдХреЗ рдЯреБрдХрдбрд╝реЗ рдХреЛ рджреЗрдЦрддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рд╕реЛрдЪ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдпрд╣ рд╕рдВрджреЗрд╢ рдмреЙрдХреНрд╕ рдореЗрдВ
0
рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░реЗрдЧрд╛ред
1 + 1 -1 + 1 === 0 ? alert(0) : alert(2)
рд▓реЗрдХрд┐рди рдпрд╣ 2 рдХреЛ рдЖрдЙрдЯрдкреБрдЯ рдХрд░рддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдирд┐рдпрдо рдирдВрдмрд░ 1 рдХреЗ рдЕрдиреБрд╕рд╛рд░, рдЗрд╕ рдХреЛрдб рдХреЛ рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рджрд░реНрд╢рд╛рдпрд╛ рдЧрдпрд╛ рд╣реИред
1 + 1 -1 + 1 === 0 ? alert(0) : alert(2)
рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рдЕрд░реНрдзрд╡рд┐рд░рд╛рдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп рдЖрдкрдХреЛ рд╕рд╛рд╡рдзрд╛рди рд░рд╣рдирд╛ рдЪрд╛рд╣рд┐рдПред рдЖрдк рдЕрд░реНрдзрд╡рд┐рд░рд╛рдо рдХреЗ рджреЛрдиреЛрдВ рдЙрддреНрд╕рд╛рд╣реА рд╕рдорд░реНрдердХреЛрдВ, рдФрд░ рдЙрдирдХреЗ рд╡рд┐рд░реЛрдзрд┐рдпреЛрдВ рд╕реЗ рдорд┐рд▓ рд╕рдХрддреЗ рд╣реИрдВред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдпрд╣ рддрдп рдХрд░рддреЗ рд╕рдордп рдХрд┐ рдХреНрдпрд╛ рдЖрдкрдХреЗ рдХреЛрдб рдореЗрдВ рдЕрд░реНрдзрд╡рд┐рд░рд╛рдо рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдЖрдк рдЗрд╕ рддрдереНрдп рдкрд░ рднрд░реЛрд╕рд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдЬреЗрдПрд╕ рдЕрдкрдиреЗ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╣рд░ рдХрд┐рд╕реА рдХреЛ рдЕрдкрдиреЗ рд▓рд┐рдП рдпрд╣ рддрдп рдХрд░рдирд╛ рд╣реЛрдЧрд╛ рдХрд┐ рдЙрдиреНрд╣реЗрдВ рдЙрд╕рдХреЗ рдХреЛрдб рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдпрд╛ рдирд╣реАрдВред рдореБрдЦреНрдп рдмрд╛рдд рдпрд╣ рд╣реИ рдХрд┐ рдЪреБрдиреЗ рд╣реБрдП рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреЛ рд▓рдЧрд╛рддрд╛рд░ рдФрд░ рдЙрдЪрд┐рдд рд░реВрдк рд╕реЗ рд▓рд╛рдЧреВ рдХрд░рдирд╛ рд╣реИред рдЕрд░реНрдзрд╡рд┐рд░рд╛рдо рдХреА рдирд┐рдпреБрдХреНрддрд┐ рдФрд░ рдХреЛрдб рдХреА рд╕рдВрд░рдЪрдирд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ, рд╣рдо рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдирд┐рдпрдореЛрдВ рдХреА рд╕рд┐рдлрд╛рд░рд┐рд╢ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
return
рдХрдорд╛рдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП, рдХрдорд╛рдВрдб рд╕реЗ рдЙрд╕реА рд▓рд╛рдЗрди рдкрд░ рдлрд╝рдВрдХреНрд╢рди рд╕реЗ рдХреНрдпрд╛ рд▓реМрдЯрдирд╛ рдЪрд╛рд╣рд┐рдП, рдЗрд╕рдХреА рд╡реНрдпрд╡рд╕реНрдерд╛ рдХрд░реЗрдВред рд╡рд╣реА break
, throw
, рдХрдорд╛рдВрдбреНрд╕ continue
рд▓рд┐рдП рдЬрд╛рддрд╛ рд╣реИред- рдЙрди рдкрд░рд┐рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдкрд░ рд╡рд┐рд╢реЗрд╖ рдзреНрдпрд╛рди рджреЗрдВ, рдЬрд╣рд╛рдВ рдПрдХ рдирдИ рдкрдВрдХреНрддрд┐ рдХреА рд╕реАрдорд╛ рдПрдХ рдмреНрд░реИрдХреЗрдЯ рд╕реЗ рд╢реБрд░реВ рд╣реЛрддреА рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рд░реЗрдЦрд╛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдкрд┐рдЫрд▓реЗ рдПрдХ рдХреЗ рд╕рд╛рде рдЬреЛрдбрд╝ рджреА рдЬрд╛ рд╕рдХрддреА рд╣реИ рдФрд░ рд╕рд┐рд╕реНрдЯрдо рджреНрд╡рд╛рд░рд╛ рдлрд╝рдВрдХреНрд╢рди рдпрд╛ рдХреЙрд▓ рдХрд░рдиреЗ рдХреЗ рдкреНрд░рдпрд╛рд╕ рдХреЗ рд░реВрдк рдореЗрдВ рдкреНрд░рд╕реНрддреБрдд рдХреА рдЬрд╛рддреА рд╣реИред
рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдпрд╣ рдХрд╣рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рдЖрдк рдЕрд░реНрдзрд╡рд┐рд░рд╛рдо рд▓рдЧрд╛рддреЗ рд╣реИрдВ, рдпрд╛ рдЙрдирдХреЗ рд╕реНрд╡рдд: рдкреНрд▓реЗрд╕рдореЗрдВрдЯ рдкрд░ рднрд░реЛрд╕рд╛ рдХрд░рддреЗ рд╣реИрдВ, рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрдб рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░реЗрдВ рдХрд┐ рдпрд╣ рдареАрдХ рдЕрдкреЗрдХреНрд╖рд╛ рдХреЗ рдЕрдиреБрд░реВрдк рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред
рдЙрджреНрдзрд░рдг рдЪрд┐рд╣реНрди рдФрд░ рд╡рд╛рдЗрд▓реНрдбрдХрд╛рд░реНрдб рд╢рд╛рдмреНрджрд┐рдХ
рдЖрдЗрдП рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рдЙрджреНрдзрд░рдгреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░рддреЗ рд╣реИрдВред рдЕрд░реНрдерд╛рддреН, рд╣рдо рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдкреНрд░рдХрд╛рд░реЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдЬреЗрдПрд╕ рдХрд╛рд░реНрдпрдХреНрд░рдореЛрдВ рдореЗрдВ рдЕрдиреБрдорддрд┐ рджреА рдЧрдИ рд╣реИ:
- рдПрдХрд▓ рдЙрджреНрдзрд░рдгред
- рджреЛрд╣рд░реЗ рднрд╛рд╡ред
- рд╡рд╛рдкрд╕ рдЙрджреНрдзрд░рдгред
рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░ рд╕рд┐рдВрдЧрд▓ рдФрд░ рдбрдмрд▓ рдХреЛрдЯреНрд╕ рдХреЛ рдПрдХ рд╣реА рдорд╛рдирд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
const test = 'test' const bike = "bike"
рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рд░реВрдк рд╕реЗ рдЙрдирдХреЗ рдмреАрдЪ рдХреЛрдИ рдЕрдВрддрд░ рдирд╣реАрдВ рд╣реИред рд╢рд╛рдпрдж рдХреЗрд╡рд▓ рдзреНрдпрд╛рди рджреЗрдиреЗ рдпреЛрдЧреНрдп рдЕрдВрддрд░ рдпрд╣ рд╣реИ рдХрд┐ рдПрдХрд▓ рдЙрджреНрдзрд░рдгреЛрдВ рдореЗрдВ рд╕рдВрд▓рдЧреНрди рддрд╛рд░реЛрдВ рдореЗрдВ, рдЖрдкрдХреЛ рдПрдХрд▓ рдЙрджреНрдзрд░рдг рдЪрд┐рд╣реНрди рдХреЗ рдЪрд░рд┐рддреНрд░ рд╕реЗ рдмрдЪрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдФрд░ рджреЛрд╣рд░реЗ рдЙрджреНрдзрд░рдгреЛрдВ рдореЗрдВ рд╕рдВрд▓рдЧреНрди рддрд╛рд░реЛрдВ рдореЗрдВ, рдЪрд░рд┐рддреНрд░ рдбрдмрд▓ рд╣реИред
const test = 'test' const test = 'te\'st' const test = 'te"st' const test = "te\"st" const test = "te'st"
рд╡рд┐рднрд┐рдиреНрди рд╢реИрд▓реА рдЧрд╛рдЗрдбреЛрдВ рдореЗрдВ рдЖрдк рдПрдХрд▓ рдЙрджреНрдзрд░рдгреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рд┐рдлрд╛рд░рд┐рд╢ рдФрд░ рджреЛрд╣рд░реЗ рдЙрджреНрдзрд░рдг рдЪрд┐рд╣реНрдиреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рд┐рдлрд╛рд░рд┐рд╢ рджреЛрдиреЛрдВ рдкрд╛ рд╕рдХрддреЗ рд╣реИрдВред рдЗрд╕ рд╕рд╛рдордЧреНрд░реА рдХреЗ рд▓реЗрдЦрдХ рдХрд╛ рдХрд╣рдирд╛ рд╣реИ рдХрд┐ рдЬреЗрдПрд╕-рдХреЛрдб рдореЗрдВ рд╡рд╣ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдПрдХрд▓ рдЙрджреНрдзрд░рдгреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддрд╛ рд╣реИ, рдХреЗрд╡рд▓ HTML- рдХреЛрдб рдореЗрдВ рджреЛрд╣рд░реЗ рдЙрджреНрдзрд░рдг рдЪрд┐рд╣реНрдиреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред
2015 рдореЗрдВ ES6 рдорд╛рдирдХ рдХреЗ рд░рд┐рд▓реАрдЬ рдХреЗ рд╕рд╛рде рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рдмреИрдХрд╕реНрдЯрд┐рдХреНрд╕ рджрд┐рдЦрд╛рдИ рджрд┐рдпрд╛ред рд╡реЗ, рдЕрдиреНрдп рдирдИ рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЗ рдмреАрдЪ, рдмрд╣реБ-рдкрдВрдХреНрддрд┐ рддрд╛рд░реЛрдВ рдХрд╛ рдЖрд╕рд╛рдиреА рд╕реЗ рд╡рд░реНрдгрди рдХрд░рдирд╛ рд╕рдВрднрд╡ рдмрдирд╛рддреЗ рд╣реИрдВред рдЗрд╕ рддрд░рд╣ рдХреЗ рддрд╛рд░ рдХреЛ рдирд┐рдпрдорд┐рдд рдЙрджреНрдзрд░рдг рдЪрд┐рд╣реНрдиреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рднреА рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ - рдмрдЪ рдЕрдиреБрдХреНрд░рдо
\n
рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗред рдРрд╕рд╛ рджрд┐рдЦрддрд╛ рд╣реИред
const multilineString = 'A string\non multiple lines'
рдЙрд▓рдЯрд╛ рдЕрд▓реНрдкрд╡рд┐рд░рд╛рдо (рдЖрдорддреМрд░ рдкрд░ рдЙрдиреНрд╣реЗрдВ рджрд░реНрдЬ рдХрд░рдиреЗ рдХрд╛ рдмрдЯрди рдХреАрдмреЛрд░реНрдб рдкрд░ рдирдВрдмрд░ 1 рдХреЗ рдмрд╛рдИрдВ рдУрд░ рд╕реНрдерд┐рдд рд╣реЛрддрд╛ рд╣реИ) рдмрд┐рдирд╛
\n
ред
const multilineString = `A string on multiple lines`
рд▓реЗрдХрд┐рди backquotes рдХреА рд╕рдВрднрд╛рд╡рдирд╛рдПрдБ рдпрд╣реАрдВ рддрдХ рд╕реАрдорд┐рдд рдирд╣реАрдВ рд╣реИрдВред рдЗрд╕рд▓рд┐рдП, рдпрджрд┐ рдмреИрдХрдХреЙрдЯреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрдХ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХрд╛ рд╡рд░реНрдгрди рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдирд┐рд░реНрдорд╛рдг
${}
рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЬреЗрдПрд╕-рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐рдпреЛрдВ рдХреА рдЧрдгрдирд╛ рд╕реЗ рдореВрд▓реНрдпреЛрдВ рдХреЛ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реИред
const multilineString = `A string on ${1+1} lines`
рдЗрд╕ рддрд░рд╣ рдХреЗ рддрд╛рд░реЛрдВ рдХреЛ рдЯреЗрдореНрдкрд▓реЗрдЯ рд╢рд╛рдмреНрджрд┐рдХ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред
рдЯреЗрдореНрдкрд▓реЗрдЯ рд╢рд╛рдмреНрджрд┐рдХ рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ рд╣реИрдВ:
- рд╡реЗ рдорд▓реНрдЯреА-рд▓рд╛рдЗрди рдЯреЗрдХреНрд╕реНрдЯ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддреЗ рд╣реИрдВред
- рд╡реЗ рддрд╛рд░реЛрдВ рдХреЛ рдкреНрд░рдХреНрд╖реЗрдкрд┐рдд рдХрд░рдирд╛ рд╕рдВрднрд╡ рдмрдирд╛рддреЗ рд╣реИрдВ, рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдЙрдирдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
- рд╡реЗ рдЖрдкрдХреЛ рдЯреИрдЧ рдХрд┐рдП рдЧрдП рдЯреЗрдореНрдкреНрд▓реЗрдЯ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреЗ рд╣реИрдВ, рдЬрд┐рд╕рд╕реЗ рдЖрдкрдХреА рдЦреБрдж рдХреА рдбреЛрдореЗрди-рд╡рд┐рд╢рд┐рд╖реНрдЯ рднрд╛рд╖рд╛рдПрдВ (DSL, рдбреЛрдореЗрди-рд╡рд┐рд╢рд┐рд╖реНрдЯ рднрд╛рд╖рд╛) рдмрдирд╛рдирд╛ рд╕рдВрднрд╡ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред
рдЖрдЗрдП рдЗрди рдлреАрдЪрд░реНрд╕ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░рддреЗ рд╣реИрдВред
тЦНMultiline рдкрд╛рда
рдмреИрдХрдХреНрд╡рд╛рдЯреНрд╕ рдХреЗ рд╕рд╛рде рдорд▓реНрдЯреА-рд▓рд╛рдЗрди рдЯреЗрдХреНрд╕реНрдЯ рд╕реЗрдЯ рдХрд░рддреЗ рд╕рдордп, рдЖрдкрдХреЛ рдпрд╣ рдпрд╛рдж рд░рдЦрдирд╛ рд╣реЛрдЧрд╛ рдХрд┐ рдРрд╕реЗ рдЯреЗрдХреНрд╕реНрдЯ рдореЗрдВ рд╕реНрдкреЗрд╕ рдЕрдиреНрдп рдЕрдХреНрд╖рд░реЛрдВ рдХреА рддрд░рд╣ рд╣реА рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдирд┐рдореНрди рдмрд╣реБрд╕реНрддрд░реАрдп рдкрд╛рда рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВред
const string = `First Second`
рдЙрдирдХрд╛ рдирд┐рд╖реНрдХрд░реНрд╖ рд▓рдЧрднрдЧ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╣реЛрдЧрд╛ред
First Second
рдпрд╣реА рд╣реИ, рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛ рд╣реИ рдХрд┐ рдЬрдм рдпрд╣ рдкрд╛рда рд╕рдВрдкрд╛рджрдХ рдореЗрдВ рджрд░реНрдЬ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рддрдм рд╢рд╛рдпрдж рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдХреЛ рдЙрдореНрдореАрдж рдереА рдХрд┐ рдЖрдЙрдЯрдкреБрдЯ рдХрд░рддреЗ рд╕рдордп
First
рдФрд░
Second
рд╢рдмреНрдж, рдПрдХ рджреВрд╕рд░реЗ рдХреЗ рддрд╣рдд рд╕рдЦреНрддреА рд╕реЗ рджрд┐рдЦрд╛рдИ рджреЗрдВрдЧреЗ, рд▓реЗрдХрд┐рди рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдРрд╕рд╛ рдирд╣реАрдВ рд╣реИред рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдк рдмрд╣реБ-рдкрдВрдХреНрддрд┐ рдкрд╛рда рдХреЛ рдлрд╝реАрдб рд▓рд╛рдЗрди рд╕реЗ рд╢реБрд░реВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдФрд░, рдкреАрдЫреЗ рдХреЗ рдЙрджреНрдзрд░рдг рдЪрд┐рд╣реНрди рдХреЛ рдмрдВрдж рдХрд░рдиреЗ рдХреЗ рддреБрд░рдВрдд рдмрд╛рдж,
trim()
рд╡рд┐рдзрд┐ рдХреЛ рдХреЙрд▓ рдХрд░реЗрдВ, рдЬреЛ рд▓рд╛рдЗрди рдХреЗ рдЖрд░рдВрдн рдпрд╛ рдЕрдВрдд рдореЗрдВ рд╡реНрд╣рд╛рдЯреНрд╕рдПрдк рдХреЛ рд╣рдЯрд╛ рджреЗрдЧрд╛ред рдРрд╕реЗ рд╡рд░реНрдг, рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ, рд╕реНрдерд╛рди рдФрд░ рдЯреИрдм рд╢рд╛рдорд┐рд▓ рдХрд░рддреЗ рд╣реИрдВред рдкрдВрдХреНрддрд┐ рд╡рд░реНрдгреЛрдВ рдХрд╛ рдЕрдВрдд рднреА рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред
рдРрд╕рд╛ рджрд┐рдЦрддрд╛ рд╣реИред
const string = ` First Second`.trim()
тЦН рдЕрдВрддрд░реНрд╡реЗрд╢рди
рдпрд╣рд╛рдБ рдкреНрд░рдХреНрд╖реЗрдк рд╕реЗ рд╣рдорд╛рд░рд╛ рддрд╛рддреНрдкрд░реНрдп рдЪрд░ рдФрд░ рднрд╛рд╡реЛрдВ рдХреЛ рддрд╛рд░ рдореЗрдВ рдмрджрд▓рдиреЗ рд╕реЗ рд╣реИред рдпрд╣
${}
рдирд┐рд░реНрдорд╛рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
const variable = 'test' const string = `something ${ variable }`
рдЖрдк
${}
рдмреНрд▓реЙрдХ - рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рднрд╛рд╡реЛрдВ рдореЗрдВ рдХреБрдЫ рднреА рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВред
const string = `something ${1 + 2 + 3}` const string2 = `something ${foo() ? 'x' : 'y' }`
рдкрд╛рда
something 6
string
рд╕реНрдерд┐рд░рд╛рдВрдХ рдореЗрдВ рдорд┐рд▓ рдЬрд╛рдПрдЧрд╛, рдпрд╛ рддреЛ рдкрд╛рда
something x
рдпрд╛ рдкрд╛рда
something y
рдирд┐рд░рдВрддрд░
string2
рдХреЛ рд▓рд┐рдЦрд╛ рдЬрд╛рдПрдЧрд╛ред рдпрд╣ рдЗрд╕ рдмрд╛рдд рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рдлрд╝рдВрдХреНрд╢рди
foo()
рд╕рд╣реА рд╣реИ рдпрд╛ рдЧрд▓рдд рд╣реИ (рдЯрд░реНрдирд░реА рдСрдкрд░реЗрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдпрд╣рд╛рдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬреЛ рдХрд┐ рдкреНрд░рд╢реНрди рдЪрд┐рд╣реНрди рдХреЗ рд╕рд╣реА рд╣реЛрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рд╣реЛрддрд╛ рд╣реИ, рдкреНрд░рд╢реНрди рдЪрд┐рд╣реНрди рдХреЗ рдмрд╛рдж рдХреНрдпрд╛ рд╣реЛрддрд╛ рд╣реИ, рд░рд┐рдЯрд░реНрди рдмреГрд╣рджрд╛рдиреНрддреНрд░ рдХреЗ рдмрд╛рдж рдЖрддрд╛ рд╣реИ)ред
AgTagged рдЯреЗрдореНрдкрд▓реЗрдЯреНрд╕
рдХрдИ рд▓реЛрдХрдкреНрд░рд┐рдп рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдореЗрдВ рдЯреИрдЧ рдХрд┐рдП рдЧрдП рдЯреЗрдореНрдкреНрд▓реЗрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрдирдореЗрдВ
рд╕реНрдЯрд╛рд▓реНрдб рдХрдВрдкреЛрдиреЗрдВрдЯреНрд╕ ,
рдЕрдкреЛрд▓реЛ ,
рдЧреНрд░рд╛рдлрдХрд▓рд╛рдЗрди рд╢рд╛рдорд┐рд▓ рд╣реИрдВ ред
рдЗрд╕ рддрд░рд╣ рдХреЗ рдкреИрдЯрд░реНрди рдЖрдЙрдЯрдкреБрдЯ рдлрд╝рдВрдХреНрд╢рди рджреНрд╡рд╛рд░рд╛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХреБрдЫ рддрд░реНрдХ рдХреЗ рдЕрдзреАрди рд╣реИрдВред рдпрд╣рд╛рдБ рд╣рдорд╛рд░реЗ рдПрдХ
рдкреНрд░рдХрд╛рд╢рди рдореЗрдВ рдереЛрдбрд╝рд╛ рд╕рдВрд╢реЛрдзрд┐рдд рдЙрджрд╛рд╣рд░рдг рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рджрд░реНрд╢рд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ рдХрд┐ рдЯреИрдЧ рдХрд┐рдП рдЧрдП рдЯреЗрдореНрдкреНрд▓реЗрдЯ рд╕реНрдЯреНрд░рд┐рдВрдЧреНрд╕ рдХреЗ рд╕рд╛рде рдХреИрд╕реЗ рдХрд╛рдо рдХрд┐рдпрд╛ рдЬрд╛рдПред
const esth = 8 function helper(strs, ...keys) { const str1 = strs[0]
рдпрд╣рд╛рдБ, рдпрджрд┐ рд╕рдВрдЦреНрдпрд╛
8
рд╕реНрдерд┐рд░рд╛рдВрдХ рдореЗрдВ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИ, рддреЛ
ES 8 is awesome
рдХреА рд░реЗрдЦрд╛
ES 8 is awesome
ред рдЕрдиреНрдпрдерд╛, рдПрдХ рдФрд░ рд▓рд╛рдЗрди рд╣реЛрдЧреАред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЕрдЧрд░
esth
6
рдирдВрдмрд░ рдореЗрдВ рд╣реИ, рддреЛ рдпрд╣
ES 6 is good
ред
рд╕реНрдЯрд╛рдЗрд▓рд┐рдВрдЧ рдШрдЯрдХ рд╕реАрдПрд╕рдПрд╕ рд╕реНрдЯреНрд░рд┐рдВрдЧреНрд╕ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЯреИрдЧ рдХрд┐рдП рдЧрдП рдЯреЗрдореНрдкрд▓реЗрдЯреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред
const Button = styled.button` font-size: 1.5em; background-color: black; color: white; `;
рдЕрдкреЛрд▓реЛ рдореЗрдВ, рд╡реЗ рдЧреНрд░рд╛рдлрд╝рд┐рдХрд▓ рдкреНрд░рд╢реНрдиреЛрдВ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВред
const query = gql` query { ... } `
рдЯреИрдЧ рдХрд┐рдП рдЧрдП рдЯреЗрдореНрдкреНрд▓реЗрдЯ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ, рдпрд╣ рдЬрд╛рдирдирд╛, рдпрд╣ рд╕рдордЭрдирд╛ рдЖрд╕рд╛рди рд╣реИ рдХрд┐ рдкрд┐рдЫрд▓реЗ рдЙрджрд╛рд╣рд░рдгреЛрдВ рд╕реЗ
styled.button
рдФрд░
gql
рдХреЗрд╡рд▓ рдлрд╝рдВрдХреНрд╢рди рд╣реИрдВред
function gql(literals, ...expressions) { }
рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП,
gql()
рдлрд╝рдВрдХреНрд╢рди рдПрдХ рд╕реНрдЯреНрд░рд┐рдВрдЧ рджреЗрддрд╛ рд╣реИ рдЬреЛ рдХрд┐рд╕реА рднреА рдЧрдгрдирд╛ рдХрд╛ рдкрд░рд┐рдгрд╛рдо рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдЗрд╕ рдлрд╝рдВрдХреНрд╢рди рдХреЗ
literals
рдкреИрд░рд╛рдореАрдЯрд░ рдПрдХ рд╕рд░рдгреА рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рднрд╛рдЧреЛрдВ рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдЯреЗрдореНрдкрд▓реЗрдЯ рд╢рд╛рдмреНрджрд┐рдХ рдХреА рд╕рд╛рдордЧреНрд░реА рд╣реЛрддреА рд╣реИ, рдПрдХреНрд╕рдкреНрд░реЗрд╢рди рдореЗрдВ рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐рдпреЛрдВ рдХреЗ рдореВрд▓реНрдпрд╛рдВрдХрди рдХреЗ рдкрд░рд┐рдгрд╛рдо рд╣реЛрддреЗ рд╣реИрдВред
рдЪрд▓рд┐рдП рдЕрдЧрд▓реА рдкрдВрдХреНрддрд┐ рдХреЛ рдкрд╛рд░реНрд╕ рдХрд░рддреЗ рд╣реИрдВред
const string = helper`something ${1 + 2 + 3} `
helper
рдлрд╝рдВрдХреНрд╢рди рдХреЛ рджреЛ рддрддреНрд╡реЛрдВ рд╡рд╛рд▓реЗ
literals
рд╕рд░рдгреА рдорд┐рд▓рддреЗ рд╣реИрдВред рдкрд╣рд▓реЗ рдореЗрдВ рдЗрд╕рдХреЗ рдмрд╛рдж рдПрдХ рдЬрдЧрд╣ рдХреЗ рд╕рд╛рде
something
рдкрд╛рда рд╣реЛрдЧрд╛, рджреВрд╕рд░реЗ рдореЗрдВ рдПрдХ рдЦрд╛рд▓реА рд░реЗрдЦрд╛ рд╣реЛрдЧреА - рдЕрд░реНрдерд╛рдд, рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐
${1 + 2 + 3}
рдФрд░ рд░реЗрдЦрд╛ рдХреЗ рдЕрдВрдд рдХреЗ рдмреАрдЪ рдХреНрдпрд╛ рд╣реИред
espressions
рд╕рд░рдгреА рдореЗрдВ рдПрдХ рддрддреНрд╡ рд╣реЛрдЧрд╛ -
6
ред
рдпрд╣рд╛рдБ рдПрдХ рдФрд░ рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рдЙрджрд╛рд╣рд░рдг рд╣реИред
const string = helper`something another ${'x'} new line ${1 + 2 + 3} test`
рдпрд╣рд╛рдВ,
helper
рдлрд╝рдВрдХреНрд╢рди рдореЗрдВ, рдЕрдЧрд▓рд╛ рд╕рд░рдгреА рдкрд╣рд▓реЗ рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рд░реВрдк рдореЗрдВ рдорд┐рд▓реЗрдЧрд╛ред
[ 'something\nanother ', '\nnew line ', '\ntest' ]
рджреВрд╕рд░реА рд╕рд░рдгреА рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрд╛рдИ рджреЗрдЧреАред
[ 'x', 6 ]
рдкрд░рд┐рдгрд╛рдо
рдЖрдЬ рд╣рдордиреЗ рдЕрдкрд╡рд╛рдж рд╣реИрдВрдбрд▓рд┐рдВрдЧ, рдЕрд░реНрдзрд╡рд┐рд░рд╛рдо рдСрдЯреЛ-рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдФрд░ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рдЯреЗрдореНрдкрд▓реЗрдЯ рд╢рд╛рдмреНрджрд┐рдХ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХреАред рдЕрдЧрд▓реА рдмрд╛рд░ рд╣рдо рднрд╛рд╖рд╛ рдХреА рдХреБрдЫ рдФрд░ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдЕрд╡рдзрд╛рд░рдгрд╛рдУрдВ рдХреЛ рджреЗрдЦреЗрдВрдЧреЗред рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ - рд╕рдЦреНрдд рдореЛрдб, рдЯрд╛рдЗрдорд░, рдЧрдгрд┐рддреАрдп рдЧрдгрдирд╛ рдореЗрдВ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВред
рдкреНрд░рд┐рдп рдкрд╛рдардХреЛрдВ! рдХреНрдпрд╛ рдЖрдк рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рдЯреИрдЧ рдХрд┐рдП рдЧрдП рдЯреЗрдореНрдкреНрд▓реЗрдЯ рдХреА рдХреНрд╖рдорддрд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ?
