Rrule: рдирд┐рдпрдо рдХреИрд╕реЗ рд▓реЛрдб рдХрд░реЗрдВ?

рдХреЛ рдирд┐рд░реНрдорд┐рдд 3 рдЬреВрди 2019  ┬╖  11рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: jakubroztocil/rrule

рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдПрдХ рдмреБрдирд┐рдпрд╛рджреА рд╕рд╡рд╛рд▓ рд╣реИ, рд▓реЗрдХрд┐рди рдореИрдВрдиреЗ рдЗрд╕реЗ рдмрдВрдж рдореБрджреНрджреЛрдВ рдореЗрдВ рдХрд┐рд╕реА рд╕реЗ рдкреВрдЫрддреЗ рдирд╣реАрдВ рджреЗрдЦрд╛, рдЗрд╕рд▓рд┐рдП рдореИрдВ рдХреЛрд╢рд┐рд╢ рдХрд░рдиреЗ рдЬрд╛ рд░рд╣рд╛ рд╣реВрдВ - рдЖрдк рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ rrule.js рдХреИрд╕реЗ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВ? рдореИрдВрдиреЗ рдЗрд╕реЗ рдХреЛрдбрдкреЗрди рдореЗрдВ рдЬреЛрдбрд╝рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд┐рдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдореЙрдбреНрдпреВрд▓ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛/рдЖрдпрд╛рдд рдХрд░рдиреЗ рдХреЗ рдХрдИ рдЕрд▓рдЧ-рдЕрд▓рдЧ рддрд░реАрдХреЛрдВ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рдиреЗ рдХреЗ рдмрд╛рд╡рдЬреВрдж рдореБрдЭреЗ рдпрд╣ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░рддреАрдд рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИред

рдЕрд░реНрдерд╛рддреН рдореИрдВ рдЗрд╕ рддреНрд░реБрдЯрд┐ рдХреЛ рдХрдВрд╕реЛрд▓ рдореЗрдВ рджреЗрдЦрддрд╛ рд░рд╣рддрд╛ рд╣реВрдВ
image

рдореИрдВрдиреЗ рдЗрд╕реЗ рджреЗрдЦрдиреЗ рдпреЛрдЧреНрдп рдореЗрдВ рд▓реЛрдб рдХрд░рдиреЗ рдХрд╛ рднреА рдкреНрд░рдпрд╛рд╕ рдХрд┐рдпрд╛ рд▓реЗрдХрд┐рди рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдХрд╛рдо рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реИред рдХрд┐рд╕реА рднреА рдорджрдж рдХрд╛ рд╕реНрд╡рд╛рдЧрдд рд╣реИ, рдзрдиреНрдпрд╡рд╛рдж :)

рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА

рд╣рдореНрдо, рдЗрд╕рд▓рд┐рдП рдореБрдЭреЗ рдХрднреА рднреА рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ ES6 рдореЙрдбреНрдпреВрд▓ рдХреЛ рд╕реАрдзреЗ рдЖрдпрд╛рдд рдХрд░рдиреЗ рдХрд╛ рдХрд╛рд░рдг рдирд╣реАрдВ рдорд┐рд▓рд╛ (рд╣рд╛рд▓рд╛рдВрдХрд┐ рдпрд╣ рдПрдХ UMD рдореЙрдбреНрдпреВрд▓ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ), рд▓реЗрдХрд┐рди рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдирд┐рдореНрди рдХреЛрдб рдХреЛрдбрдкреЗрди рдкрд░ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ:

// This imports everything in the `rrule` namespace
import "https://jakubroztocil.github.io/rrule/dist/es5/rrule.min.js"

console.log(rrule)

// Create a rule:
const rule = new rrule.RRule({
  freq: rrule.RRule.WEEKLY,
  interval: 5,
  byweekday: [rrule.RRule.MO, rrule.RRule.FR],
  dtstart: new Date(Date.UTC(2012, 1, 1, 10, 30)),
  until: new Date(Date.UTC(2012, 12, 31))
})

// Get all occurrence dates (Date instances):
console.log(rule.all())

рд╕рднреА 11 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ рдирд┐рдпрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рдХрдИ рддрд░реАрдХреЗ рд╣реИрдВред рдпрджрд┐ рдЖрдк рдЕрдкрдиреЗ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ рдмрд╕ рдЦреЗрд▓рдирд╛ / рдкрд░реАрдХреНрд╖рдг рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рд╕реНрдЯреИрдХрдмреНрд▓рд┐рдЯреНрдЬ рдЬреИрд╕реА рдХрд┐рд╕реА рдЪреАрдЬрд╝ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рдЖрдкрдХреЛ

рдЖрдк рд╕рдорд╕реНрдпрд╛рдУрдВ рдореЗрдВ рднрд╛рдЧ рд░рд╣реЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдЖрдк рдХреЛрдбрдкреЗрди рдХреЗ рд╕рд░реНрд╡рд░ рд╕реЗ рдПрдХ рд╕рд╛рдкреЗрдХреНрд╖ рдлрд╝рд╛рдЗрд▓ рдкрде ("рд░реВрд▓") рдЖрдпрд╛рдд рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░ рд░рд╣реЗ рд╣реИрдВ (рдФрд░, рдЬрдмрдХрд┐ рдореИрдВрдиреЗ рдХрднреА рдХреЛрдбрдкреЗрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИ, рдореБрдЭреЗ рд╕рдВрджреЗрд╣ рд╣реИ рдХрд┐ рдХреЛрдбрдкреЗрди рдиреЗ rrule рдЙрдкрд▓рдмреНрдз рдХрд░рд╛рдпрд╛ рд╣реИ рдпрд╣ рдХрд┐рд╕реА рддрд░рд╣ рд╕реЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╣реИрдВ)ред рдпрджрд┐ рдЖрдк рд╕реНрд╡рдпрдВ рдЗрд╕реЗ рдкрд░реЛрд╕рдиреЗ рдирд╣реАрдВ рдЬрд╛ рд░рд╣реЗ рд╣реИрдВ рддреЛ рдЖрдкрдХреЛ рдПрдХ рд╕реАрдбреАрдПрди рд╕реЗ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЖрдпрд╛рдд рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред

рдЕрд░реЗ @thefliik , рдЖрдкрдХреА рдЯрд┐рдкреНрдкрдгреА рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдмрд╣реБрдд рдзрдиреНрдпрд╡рд╛рдж :)

рд╕реНрдЯреИрдХрдмреНрд▓рд┐рдЯреНрдЬ рдЕрд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рд▓рдЧ рд░рд╣рд╛ рд╣реИред рдХреЛрдбрдкреЗрди рд╕реНрдЯреИрдХрдмреНрд▓рд┐рдЯреНрдЬ рдХреА рддрд░рд╣ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдпрд╣ рд╡реЗрдмрдкреЗрдЬ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЦреЗрд▓ рдХрд╛ рдореИрджрд╛рди рд╣реИ рдФрд░ рдЖрдкрдХреЛ рд╡рд┐рднрд┐рдиреНрди рд╕реАрдбреАрдПрди рд╕реЗ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд▓реЛрдб рдХрд░рдиреЗ рджреЗрддрд╛ рд╣реИред рдореИрдВрдиреЗ рдХреЛрдбрдкреЗрди рдХреЗ settings рд╕рдВрд╡рд╛рдж > Javascript > рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЕрдкрдиреА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд▓реЛрдб рдХреА рдереА рдФрд░ рдлрд┐рд░ рдореЗрд░реА рд╣реЛрд╕реНрдЯреЗрдб рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рдлрд╝рд╛рдЗрд▓рдкрде рджрд░реНрдЬ рдХрд┐рдпрд╛ рдерд╛ред

image

рдореИрдВ рд╡рд░реНрддрдорд╛рди рдореЗрдВ https://s3.amazonaws.com/appforest_uf/f1559527195623x315562171275647800/rrule.min.js рдкрд░ рдирд┐рдпрдо рдХреА рдореЗрдЬрдмрд╛рдиреА рдХрд░ рд░рд╣рд╛ рд╣реВрдВред

рдпрд╣рд╛рдБ рдЕрджреНрдпрддрди рдХрд▓рдо рд╣реИ рдЬрд╣рд╛рдБ рдореИрдВ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рд▓реЛрдб рдХрд░ рд░рд╣рд╛ рд╣реВрдБ

" https://s3.amazonaws.com/appforest_uf/f1559527195623x315562171275647800/rrule.min.js/ " рд╕реЗ {RRule, RRuleSet, rrulestr} рдЖрдпрд╛рдд

рд╡рд╣ рдХреЛрдб, рдЬрд┐рд╕реЗ рдореИрдВрдиреЗ рджреЗрдЦрд╛ рдЖрдкрдиреЗ рдХреЛрд╢рд┐рд╢ рдХреА, рд╕рд╣реА ES6 рд╡рд╛рдХреНрдпрд╡рд┐рдиреНрдпрд╛рд╕ рд╣реИ (рд╣рд╛рд▓рд╛рдВрдХрд┐ рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдкрдХреЗ рдХреЛрдб рдореЗрдВ рдЕрд▓реНрдкрд╡рд┐рд░рд╛рдо рдЧреБрдо рд╣реЛ рд╕рдХрддрд╛ рд╣реИ)ред рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ S3 рдПрдХреНрд╕реЗрд╕ рдкреНрд░рдпрд╛рд╕ рдХреЛ рд░реЛрдХ рд░рд╣рд╛ рд╣реИ (рдпрджрд┐ рдЖрдк рдХрдВрд╕реЛрд▓ рдХреЛ рджреЗрдЦрддреЗ рд╣реИрдВ рддреЛ рдпрд╣ 403 рдирд┐рд╖рд┐рджреНрдз рд╕реНрдерд┐рддрд┐ рдХреЛрдб рдХреЗ рд╕рд╛рде рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХрд░ рд░рд╣рд╛ рд╣реИ)ред

рдпрд╣рд╛рдБ рдПрдХ рд╕рд╛рдзрд╛рд░рдг рдкрд░рд┐рдпреЛрдЬрдирд╛ рд╣реИ рдЬрд┐рд╕рдиреЗ рдирд┐рдпрдо рдЖрдпрд╛рдд рдХрд┐рдпрд╛ рд╣реИ: https://stackblitz.com/edit/js-bbaffe

рдЗрддрдирд╛ рдЕрдЬреАрдм, S3 рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдореЗрд░реЗ рдХрдВрд╕реЛрд▓ рдореЗрдВ рд╕рдВрд╕рд╛рдзрди рд▓реЛрдб рдХрд░ рд░рд╣рд╛ рд╣реИ
image

рдЬрд╣рд╛рдВ рддрдХ тАЛтАЛтАЛтАЛрдореИрдВ рд╕рдордЭрддрд╛ рд╣реВрдВ рдХрд┐ рдХреЛрдИ рдЕрдиреНрдп рдирд┐рд░реНрднрд░рддрд╛ рдирд╣реАрдВ рд╣реИ рдЬрд┐рд╕реЗ рдореБрдЭреЗ рд▓реЛрдб рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рд╣реИ рдирд╛ (рдореИрдВрдиреЗ рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЬреЛрдбрд╝рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА рд▓реЗрдХрд┐рди рдЗрд╕рд╕реЗ рдХреЛрдИ рдлрд░реНрдХ рдирд╣реАрдВ рдкрдбрд╝рддрд╛)?

рдЕрдЧрд░ рдореИрдВ рдПрдХ npm рд╡рд╛рддрд╛рд╡рд░рдг рд╣реЛрддрд╛ рддреЛ рдореИрдВ рдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛ рдкреНрд░рджрд╛рди рдХреА рдЧрдИ рдЙрд╕ рдкреНрдпрд╛рд░реА рд╕реНрдЯреИрдХрдмреНрд▓рд┐рдЯреНрдЬ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреА рдирдХрд▓ рдХрд░рддрд╛ рд▓реЗрдХрд┐рди рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ рдореИрдВ рдХреЗрд╡рд▓ рдХреНрд▓рд╛рдЗрдВрдЯ рд╕рд╛рдЗрдб рдХреЛрдб рддрдХ рд╣реА рд╕реАрдорд┐рдд рд╣реВрдВ: /

Google рдХреЗ рдЕрдиреБрд╕рд╛рд░, рдлрд╝рд╛рдЗрд▓ рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдореЙрдбреНрдпреВрд▓ рдкрд░ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реЛ рд╕рдХрддрд╛ рд╣реИред

рдлрд╝рд╛рдЗрд▓ рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдкрд░ рдПрдХ рдиреЛрдЯ
рдЖрдкрдиреЗ рджреЗрдЦрд╛ рд╣реЛрдЧрд╛ рдХрд┐ рд╣рдо рдореЙрдбреНрдпреВрд▓ рдХреЗ рд▓рд┐рдП .mjs рдлрд╝рд╛рдЗрд▓ рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВред рд╡реЗрдм рдкрд░, рдлрд╝рд╛рдЗрд▓ рдПрдХреНрд╕рдЯреЗрдВрд╢рди рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдорд╛рдпрдиреЗ рдирд╣реАрдВ рд░рдЦрддрд╛, рдЬрдм рддрдХ рдХрд┐ рдлрд╝рд╛рдЗрд▓ рдХреЛ JavaScript MIME рдкреНрд░рдХрд╛рд░ text/javascript рд╕рд╛рде рдкрд░реЛрд╕рд╛ рдЬрд╛рддрд╛ рд╣реИред рд╕реНрдХреНрд░рд┐рдкреНрдЯ рддрддреНрд╡ рдкрд░ рдкреНрд░рдХрд╛рд░ рд╡рд┐рд╢реЗрд╖рддрд╛ рдХреЗ рдХрд╛рд░рдг рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдЬрд╛рдирддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдПрдХ рдореЙрдбреНрдпреВрд▓ рд╣реИред

рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдореЗрд░реА рдлрд╝рд╛рдЗрд▓реЗрдВ text/javascript рд░реВрдк рдореЗрдВ рдирд╣реАрдВ рдмрд▓реНрдХрд┐ application/javascript рдпрд╛ application/x-javascript ред рдХреНрдпрд╛ рдпрд╣ рд╕рдорд╕реНрдпрд╛ рд╣реЛ рд╕рдХрддреА рд╣реИ? рдпрд╣рд╛рдВ рдХрд┐рд╕реА рдХреЗ рдкрд╛рд╕ рдирд┐рдпрдо рдХрд╛ рдПрдХ рд╣реЛрд╕реНрдЯреЗрдб рд╕рдВрд╕реНрдХрд░рдг рд╣реИ рдЬреЛ рдЗрд╕реЗ MIME рдкреНрд░рдХрд╛рд░ text/javascript рд╕рд╛рде рд╡рд┐рддрд░рд┐рдд рдХрд░рддрд╛ рд╣реИ?

рд╣рдореНрдо, рдЗрд╕рд▓рд┐рдП рдореБрдЭреЗ рдХрднреА рднреА рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ ES6 рдореЙрдбреНрдпреВрд▓ рдХреЛ рд╕реАрдзреЗ рдЖрдпрд╛рдд рдХрд░рдиреЗ рдХрд╛ рдХрд╛рд░рдг рдирд╣реАрдВ рдорд┐рд▓рд╛ (рд╣рд╛рд▓рд╛рдВрдХрд┐ рдпрд╣ рдПрдХ UMD рдореЙрдбреНрдпреВрд▓ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ), рд▓реЗрдХрд┐рди рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдирд┐рдореНрди рдХреЛрдб рдХреЛрдбрдкреЗрди рдкрд░ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ:

// This imports everything in the `rrule` namespace
import "https://jakubroztocil.github.io/rrule/dist/es5/rrule.min.js"

console.log(rrule)

// Create a rule:
const rule = new rrule.RRule({
  freq: rrule.RRule.WEEKLY,
  interval: 5,
  byweekday: [rrule.RRule.MO, rrule.RRule.FR],
  dtstart: new Date(Date.UTC(2012, 1, 1, 10, 30)),
  until: new Date(Date.UTC(2012, 12, 31))
})

// Get all occurrence dates (Date instances):
console.log(rule.all())

рдЗрддрдирд╛ рдЕрдЬреАрдм, S3 рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдореЗрд░реЗ рдХрдВрд╕реЛрд▓ рдореЗрдВ рд╕рдВрд╕рд╛рдзрди рд▓реЛрдб рдХрд░ рд░рд╣рд╛ рд╣реИ

рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдЖрдк рдЕрдкрдиреЗ рдХрдВрдкреНрдпреВрдЯрд░ рдкрд░ рдЕрдкрдиреЗ рдЕрдореЗрдЬрд╝рди рдЦрд╛рддреЗ рдореЗрдВ рд▓реЙрдЧ рдЗрди рд╣реЛрдВ

рдореИрдВ рдРрд╕рд╛ рд╣реА рд╕реЛрдЪ рд░рд╣рд╛ рдерд╛ рд▓реЗрдХрд┐рди рдирд╣реАрдВ, рдореИрдВ рдЙрд╕ рдлрд╝рд╛рдЗрд▓ рдХреЛ рдЧреБрдкреНрдд рдореЛрдб рд╕реЗ рдФрд░ рдПрдХ рджреВрд╕рд░реЗ рдХрдВрдкреНрдпреВрдЯрд░ рд╕реЗ рдПрдХреНрд╕реЗрд╕ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реВрдВ рдЬрд┐рд╕рдХреА рдкрд╣реБрдВрдЪ рдирд╣реАрдВ рд╣реИред рдЬреИрд╕рд╛ рдХрд┐ рдпрд╣рд╛рдВ рджреЗрдЦрд╛ рдЧрдпрд╛ рд╣реИ, рдореИрдВрдиреЗ рдмрд┐рдирд╛ рдХрд┐рд╕реНрдордд рдХреЗ jsdeliver рд╕реЗ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд▓реЛрдб рдХрд░рдиреЗ рдХрд╛ рднреА рдкреНрд░рдпрд╛рд╕ рдХрд┐рдпрд╛ рд╣реИред

@zeluspuding рдХреНрдпрд╛ рдЖрдкрдиреЗ рдореЗрд░реА рдкрд┐рдЫрд▓реА рдЯрд┐рдкреНрдкрдгреА рдирд╣реАрдВ рджреЗрдЦреА?

import "https://jakubroztocil.github.io/rrule/dist/es5/rrule.min.js" рдореЗрд░реЗ рд▓рд┐рдП рдХреЛрдбрдкреЗрди рдкрд░ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред

рдУрд╣, рдореБрдЭреЗ рдХреНрд╖рдорд╛ рдХрд░реЗрдВ - рдореБрдЭреЗ рдЖрдкрдХреА рдЯрд┐рдкреНрдкрдгреА рдпрд╛рдж рдЖрдИред рдФрд░ рд╣рд╛рдВ! рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХрд╛рд░рдЧрд░ рд╣реИ :)

рдмрд╣реБрдд рдмрд╣реБрдд рдзрдиреНрдпрд╡рд╛рдж! рдореИрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╕рднреА рдорджрдж рдХреА рд╕рд░рд╛рд╣рдирд╛ рдХрд░рддрд╛ рд╣реВрдВред

рдореИрдВ рд╢рд╛рдпрдж рдЖрдкрдХреЗ рдХреЛрдб рдХреЗ рд╕реНрдирд┐рдкреЗрдЯ рдХреЗ рд╕рд╛рде рдЖрд░рдВрдн рдХрд░рдиреЗ рдХреА рдорд╛рд░реНрдЧрджрд░реНрд╢рд┐рдХрд╛ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрдкрдбреЗрдЯ рдХрд╛ рд╕реБрдЭрд╛рд╡ рджреВрдВрдЧрд╛ (рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рд╕реАрдзреЗ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ ES6 рдореЙрдбреНрдпреВрд▓ рдЖрдпрд╛рдд рдХрд░рдиреЗ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ)ред рдпрджрд┐ рдЖрдк рдЪрд╛рд╣реЗрдВ рддреЛ рдореИрдВ рдПрдХ рдкреБрд▓ рдЕрдиреБрд░реЛрдз рд╕рдмрдорд┐рдЯ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ

рджреЗрдЦрдиреЗ рдпреЛрдЧреНрдп рдореЗрдВ рдирд┐рдпрдо рдХреЗ рд╕рд╛рде рдЦреЗрд▓рдиреЗ рдореЗрдВ рд░реБрдЪрд┐ рд░рдЦрдиреЗ рд╡рд╛рд▓реЗ рдХрд┐рд╕реА рднреА рд╡реНрдпрдХреНрддрд┐ рдХреЗ рд▓рд┐рдП рдЗрд╕ рд▓рд┐рдВрдХ рдкрд░ рдЬрд╛рдПрдВ ред

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕