1.1 JavaScript рдЪреЗ рдЖрдЧрдорди

JavaScript рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖рд╛ 1990 рдЪреНрдпрд╛ рджрд╢рдХрд╛рдкрд╛рд╕реВрди рдЖрд╣реЗ. рддреЛ рдЖрдгрд┐ рддреНрдпрд╛рдЪрд╛ рджреБрднрд╛рд╖реА рдЕрд╡рдШреНрдпрд╛ рдХрд╛рд╣реА рдорд╣рд┐рдиреНрдпрд╛рдВрдд рд▓рд┐рд╣рд┐рд▓рд╛ рдЧреЗрд▓рд╛. рдЖрдгрд┐ рдпрд╛ рднрд╛рд╖реЗрдЪрд╛ рдореБрдЦреНрдп рдЙрджреНрджреЗрд╢ HTML рдкреГрд╖реНрдард╛рдВрд╡рд░ рдЖрджрд┐рдо рдЕреЕрдирд┐рдореЗрд╢рди рдЬреЛрдбрдгреЗ рд╣рд╛ рд╣реЛрддрд╛.

рд╣реА рднрд╛рд╖рд╛ рднрдпрдВрдХрд░ рдЖрд╣реЗ, рдард┐рдХрдард┐рдХрд╛рдгреА рд╣рд╛рд╕реНрдпрд╛рд╕реНрдкрдж рдЖрд╣реЗ рдЖрдгрд┐ рдЕрд░реНрдерд╛рддрдЪ, рддреНрдпрд╛рдд рдХреНрд░реЕрдЪрд╡рд░ рдХреНрд░реЕрдЪ рдЖрдгрд┐ рдХреНрд░реЕрдЪ рдЪрд╛рд▓рд╡рддрд╛рдд. рдкрд░рдВрддреБ рддреНрдпрд╛рдЪ рд╡реЗрд│реА, рд╣реА рдЬрдЧрд╛рддреАрд▓ рд╕рд░реНрд╡рд╛рдд рд▓реЛрдХрдкреНрд░рд┐рдп рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖рд╛рдВрдкреИрдХреА рдПрдХ рдЖрд╣реЗ. рддреЛ рдЪрд╛рдВрдЧрд▓рд╛ рдЖрд╣реЗ рдореНрд╣рдгреВрди рдирд╛рд╣реА. рдирд╛рд╣реА. рдмреНрд░рд╛рдЙрдЭрд░рдордзреНрдпреЗ рдЪрд╛рд▓рдгрд╛рд░реА рд╣реА рдПрдХрдореЗрд╡ рднрд╛рд╖рд╛ рдЖрд╣реЗ .

рдЖрдгрд┐ рдЕрд░реНрдерд╛рддрдЪ, рдЗрдВрдЯрд░рдиреЗрдЯ рдореАрдореНрд╕рдиреЗ рднрд░рд▓реЗрд▓реЗ рдЖрд╣реЗ рдЬреЗ рдлрдХреНрдд рдЬреЗ рд╕рд╛рдВрдЧрд┐рддрд▓реЗ рдЧреЗрд▓реЗ рдЖрд╣реЗ рддреНрдпрд╛рдЪреА рдкреБрд╖реНрдЯреА рдХрд░рддреЗ:

1.2 JavaScript Java рдирд╛рд╣реА

JavaScript рдмрджреНрджрд▓ рддреБрдореНрд╣рд╛рд▓рд╛ рдкрд╣рд┐рд▓реА рдЧреЛрд╖реНрдЯ рдорд╛рд╣рд┐рдд рдЕрд╕рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ рдХреА рддреНрдпрд╛рдЪрд╛ Java рд╢реА рдХрд╛рд╣реАрд╣реА рд╕рдВрдмрдВрдз рдирд╛рд╣реА. рд╣реЛрдп, рддреНрдпрд╛рдВрдЪреА рд╡рд╛рдХреНрдпрд░рдЪрдирд╛ рдард┐рдХрд╛рдгреА рд╕рд╛рд░рдЦреАрдЪ рдЖрд╣реЗ, рдкрд░рдВрддреБ рд╣реЗ рдлрдХреНрдд рдпрд╛ рд╡рд╕реНрддреБрд╕реНрдерд┐рддреАрдЪрд╛ рдкрд░рд┐рдгрд╛рдо рдЖрд╣реЗ рдХреА 90 рдЪреНрдпрд╛ рджрд╢рдХрд╛рдЪреНрдпрд╛ рд╕реБрд░реБрд╡рд╛рддреАрд╕ рд╕рд░реНрд╡рд╛рдд рд▓реЛрдХрдкреНрд░рд┐рдп рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖рд╛ рд╕реА ++ рд╣реЛрддреА рдЖрдгрд┐ рджреЛрдиреНрд╣реА рднрд╛рд╖рд╛рдВрдиреА рддреНрдпрд╛рдВрдЪрд╛ рдЖрдзрд╛рд░ рдореНрд╣рдгреВрди рдШреЗрддрд▓рд╛.

JavaScript рд▓рд╛ рдореВрд│рддрдГ LiveScript рдЕрд╕реЗ рд╕рдВрдмреЛрдзрд▓реЗ рдЬрд╛рдд рд╣реЛрддреЗ - рдкреГрд╖реНрдареЗ рдЕреЕрдирд┐рдореЗрдЯ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдПрдХ рд╕реНрдХреНрд░рд┐рдкреНрдЯрд┐рдВрдЧ рднрд╛рд╖рд╛. рдкрд░рдВрддреБ 90 рдЪреНрдпрд╛ рджрд╢рдХрд╛рдЪреНрдпрд╛ рдЙрддреНрддрд░рд╛рд░реНрдзрд╛рдд рдЬрд╛рд╡рд╛рдЪреНрдпрд╛ рд▓реЛрдХрдкреНрд░рд┐рдпрддреЗрдд рдЭрдкрд╛рдЯреНрдпрд╛рдиреЗ рд╡рд╛рдв рдЭрд╛рд▓реНрдпрд╛рдореБрд│реЗ рддреНрдпрд╛рдЪреЗ рдирд╛рд╡ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЕрд╕реЗ рдареЗрд╡рдгреНрдпрд╛рдд рдЖрд▓реЗ.

JavaScript рд╣реА рдПрдХ рд╕реНрдХреНрд░рд┐рдкреНрдЯрд┐рдВрдЧ рднрд╛рд╖рд╛ рдЖрд╣реЗ, рддреА HTML рдкреГрд╖реНрдард╛рдВрдордзреНрдпреЗ рд▓рд╣рд╛рди рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд▓рд┐рд╣рд┐рдгреНрдпрд╛рд╕рд╛рдареА рдбрд┐рдЭрд╛рдЗрди рдХреЗрд▓реЗрд▓реА рдЖрд╣реЗ . рдпрд╛рдд рд╡реНрд╣реЗрд░рд┐рдПрдмрд▓ рдЯрд╛рдпрдкрд┐рдВрдЧ, рд╡рд░реНрдЧ, рд╕реНрдХреЛрдк, рдорд╛рдирдХ рд╕рдВрдЧреНрд░рд╣ рдпрд╛рдВрдЪрд╛ рдЕрднрд╛рд╡ рдЖрд╣реЗ. рдорд╛рдирдХ рдирд╛рд╣реАрдд.

рдЬрд░ рдПрдЦрд╛рджреА рд╡реНрдпрдХреНрддреА рдХреЛрдбрд╡рд░ рдХрд╛рдо рдХрд░рдд рдЕрд╕реЗрд▓ рддрд░ JavaScript рдЦреВрдк рд╕реЛрдпреАрд╕реНрдХрд░ рдЖрд╣реЗ - рддреБрдореНрд╣рд╛рд▓рд╛ рд╣рд╡рд╛ рддрд╕рд╛ рдХреЛрдб рддреБрдореНрд╣реА рд╕рд╣рдЬ рд▓рд┐рд╣реВ рд╢рдХрддрд╛ . рдкрд░рдВрддреБ рдХреЛрдбрд╡рд░ рдмрд░реЗрдЪ рд▓реЛрдХ рдХрд╛рдо рдХрд░рдд рдЕрд╕рд▓реНрдпрд╛рд╕ рддреЗ рдЕрд╕рд╣реНрдп рд╣реЛрддреЗ. рдорд╛рдирдХрд╛рдВрдЪреНрдпрд╛ рдЕрднрд╛рд╡рд╛рдореБрд│реЗ рджреБрд╕рд░реНтАНрдпрд╛ рд╡реНрдпрдХреНрддреАрдЪрд╛ рдХреЛрдб рд╕рдордЬрдгреЗ рдЦреВрдк рдХрдареАрдг рд╣реЛрддреЗ .

рджреБрд╕рд░реНтАНрдпрд╛рдЪрд╛ JavaScript рдХреЛрдб рд╡рд╛рдЪрдгреНрдпрд╛рдЪрд╛ рд╡реЗрдЧ рджреБрд╕рд░реНтАНрдпрд╛рдЪрд╛ Java рдХреЛрдб рд╡рд╛рдЪрдгреНрдпрд╛рдкреЗрдХреНрд╖рд╛ 10-50 рдкрдЯреАрдиреЗ рдХрдореА рдЕрд╕рддреЛ. рдЖрдгрд┐ рддреЛ рд╡рд┐рдиреЛрдж рдирд╛рд╣реА. рдХрд╛рд╣реАрд╡реЗрд│рд╛ рдПрдЦрд╛рджреНрдпрд╛рдЪрд╛ рдХреЛрдб рд╕рдордЬрдгреЗ рдЕрд╢рдХреНрдп рдЖрд╣реЗ, рд╡рд┐рд╢реЗрд╖рдд: рдЬрд░ рддреЛ рдЖрдзреАрдЪ рдХрд╛рд╣реА рд╡рд░реНрд╖рд╛рдВрдЪрд╛ рдЕрд╕реЗрд▓ рдЖрдгрд┐ рддреНрдпрд╛рдд рдЕрдиреЗрдХ рдбрдЭрди рдмрджрд▓ рдХреЗрд▓реЗ рдЧреЗрд▓реЗ рдЕрд╕рддреАрд▓.

рд╣реЗ рдЕрд╢рд╛ рдкреНрд░рдХрд░рдгрд╛рдмрджреНрджрд▓ рдЖрд╣реЗ рдХреА рдПрдХ рдореЗрдо рдЖрд╣реЗ "рдпреЗрдереЗ рдЖрдкрд▓реНрдпрд╛рд▓рд╛ рд╕рд░реНрд╡рдХрд╛рд╣реА рд╣рдЯрд╡рд┐рдгреЗ рдЖрдгрд┐ рдкреБрдиреНрд╣рд╛ рд▓рд┐рд╣рд┐рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ"

1.3 рдЖрдЬ JavaScript рдЪреА рд▓реЛрдХрдкреНрд░рд┐рдпрддрд╛

рдкрд░рдВрддреБ рдХрдареЛрд░ рд╡рд╛рд╕реНрддрд╡, рд╡рд░ рдЪрд░реНрдЪрд╛ рдХреЗрд▓реНрдпрд╛рдкреНрд░рдорд╛рдгреЗ, JavaScript рд╣реА рдПрдХрдореЗрд╡ рднрд╛рд╖рд╛ рдЖрд╣реЗ рдЬреА рдмреНрд░рд╛рдЙрдЭрд░рдордзреНрдпреЗ рдЪрд╛рд▓рддреЗ. рдЖрдгрд┐ рдмреНрд░рд╛рдЙрдЭрд░ рд╣реЗ рдЖрдЬ рдЗрдВрдЯрд░рдиреЗрдЯрд╡рд░реАрд▓ рд╕рд░реНрд╡рд╛рдд рд▓реЛрдХрдкреНрд░рд┐рдп рд╡реНрдпрд╛рд╕рдкреАрда рдЖрд╣реЗ. рдореНрд╣рдгреВрди, рдлреНрд░рдВрдЯрдПрдВрдб рд╡рд┐рдХрд╕рдХрд╛рдВрдЪреА рдорд╛рдЧрдгреА рд╕рддрдд рд╡рд╛рдврдд рдЖрд╣реЗ.

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

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

рдкрдг рдПрдХ рдЪрд╛рдВрдЧрд▓реА рдмрд╛рддрдореА рдЖрд╣реЗ: JavaScript рдмрджрд▓рдгреНрдпрд╛рд╕рд╛рдареА рдирд╡реАрди рднрд╛рд╖реЗрдЪрд╛ рд╢реЛрдз рд▓рд╛рд╡рд▓рд╛ рдЧреЗрд▓рд╛ рдЖрд╣реЗ - рддреА TypeScript рдЖрд╣реЗ . рд╣реЗ рдЦреВрдк рдЪрд╛рдВрдЧрд▓реЗ рдЖрд╣реЗ, рддреНрдпрд╛рдд рдЯрд╛рдпрдкрд┐рдВрдЧ, рдХреНрд▓рд╛рд╕реЗрд╕, рд╕реНрдХреЛрдк рдЖрд╣реЗрдд. рдЖрдгрд┐ рдпрд╛рд╢рд┐рд╡рд╛рдп, рдПрдХ рд╡рд┐рд╢реЗрд╖ рдХрдВрдкрд╛рдЗрд▓рд░ рдЖрд╣реЗ рдЬреЛ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯрд╡рд░ рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╕рдВрдХрд▓рд┐рдд рдХрд░реВ рд╢рдХрддреЛ.

рд╕рд░реНрд╡ рдкреНрд░рдореБрдЦ рдлреНрд░рдВрдЯрдПрдВрдб рдкреНрд░реЛрдЬреЗрдХреНрдЯ JavaScript рдРрд╡рдЬреА TypeScript рд╡рд╛рдкрд░рддрд╛рдд . рдпрд╛рд╡реНрдпрддрд┐рд░рд┐рдХреНрдд, рдЕрдиреЗрдХ рдЖрдзреБрдирд┐рдХ рдлреНрд░рдВрдЯрдПрдВрдб рдлреНрд░реЗрдорд╡рд░реНрдХ JavaScript рдРрд╡рдЬреА TypeScript рд╡рд╛рдкрд░рддрд╛рдд. рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, рдЕрдБрдЧреБрд▓рд░, рдЬреНрдпрд╛рд╡рд░ CodeGym рдлреНрд░рдВрдЯ-рдПрдВрдб рд▓рд┐рд╣рд┐рд▓реЗрд▓реЗ рдЖрд╣реЗ.

рдкрдг рддреА рдкреВрд░реНрдгрдкрдгреЗ рд╡реЗрдЧрд│реА рдХрдерд╛ рдЖрд╣реЗ.