Java to JavaScript in 13 steps рдПрдЙрдЯрд╛ рдПрдиреНрдбреНрд░реЛрдЗрдб рдПрдк рд╣реЛ рдЬреБрди рддрдкрд╛рдИрдВрд▓рд╛рдИ рдЬрд╛рднрд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдЩ рднрд╛рд╖рд╛рдХреЛ рдЖрдзрд╛рд░рднреВрдд рдХреБрд░рд╛рд╣рд░реВ рдЪрд░рдг-рджрд░-рдЪрд░рдг рддрд░рд┐рдХрд╛рд▓реЗ рд╕рд┐рдХреНрди рдорджреНрджрдд рдЧрд░реНрди рдбрд┐рдЬрд╛рдЗрди рдЧрд░рд┐рдПрдХреЛ рд╣реЛред рдЪрд╛рд╣реЗ рддрдкрд╛рдИрдВ рд╢реБрд░реБрд╡рд╛рдд рд╡рд╛ рдЕрдиреБрднрд╡реА рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рд╣реБрдиреБрд╣реБрдиреНрдЫ, рдпреЛ рдПрдк рдЖрдлреНрдиреЛ рд╕реАрдк рд░ рдЬреНрдЮрд╛рди рдмрдврд╛рдЙрди рдЦреЛрдЬреНрдиреЗ рдЬреЛ рдХреЛрд╣реАрдХреЛ рд▓рд╛рдЧрд┐ рдЙрдкрдпреБрдХреНрдд рдЫред
рдПрдкрд▓рд╛рдИ рдкрдЫреНрдпрд╛рдЙрди рд╕рдЬрд┐рд▓реЛ 13 рдЪрд░рдгрд╣рд░реВрдорд╛ рд╡рд┐рднрд╛рдЬрди рдЧрд░рд┐рдПрдХреЛ рдЫ, рдкреНрд░рддреНрдпреЗрдХрд▓реЗ рдЬрд╛рднрд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯрдорд╛ рдлрд░рдХ рд╡рд┐рд╖рдпрд╣рд░реВ рд╕рдорд╛рд╡реЗрд╢ рдЧрд░реНрджрдЫ:
рдЬрд╛рднрд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╕реЗрдЯрдЕрдк рдЧрд░реНрдиреБрд╣реЛрд╕реН
рдЪрд░рдг 1 - рдбрд╛рдЯрд╛ рдкреНрд░рдХрд╛рд░ рд░ рдЪрд░
рдЪрд░рдг 2 - рдЕрдкрд░реЗрдЯрд░рд╣рд░реВ
рдЪрд░рдг 3 - рдирд┐рдпрдиреНрддреНрд░рдг рдкреНрд░рд╡рд╛рд╣ рдмрдпрд╛рди (рдпрджрд┐/рдЕрдиреНрдп, рд╕реНрд╡рд┐рдЪ/рдХреЗрд╕, рд▓реВрдк)
рдЪрд░рдг 4 - рдХрд╛рд░реНрдп рд░ рджрд╛рдпрд░рд╛
рдЪрд░рдг 5 - рдПрд░реЗ рд░ рд╡рд╕реНрддреБрд╣рд░реВ
рдЪрд░рдг 6 - рд╡рд░реНрдЧ рд░ рдЙрддреНрддрд░рд╛рдзрд┐рдХрд╛рд░
рдЪрд░рдг 7 - рдкреНрд░рддрд┐рдЬреНрдЮрд╛рд╣рд░реВ рд░ Async/рдкреНрд░рддреАрдХреНрд╖рд╛ рдЧрд░реНрдиреБрд╣реЛрд╕реН
рдЪрд░рдг 8 - рддреНрд░реБрдЯрд┐ рд╣реНрдпрд╛рдиреНрдбрд▓рд┐рдВрдЧ рд░ рдбрд┐рдмрдЧрд┐рдЩ
рдЪрд░рдг 9 - DOM рд╣реЗрд░рдлреЗрд░ рд░ рдШрдЯрдирд╛рд╣рд░реВ
рдЪрд░рдг 10 - AJAX рд░ APIs
рдЪрд░рдг 11 - рдирд┐рдпрдорд┐рдд рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐рд╣рд░реВ
рдЪрд░рдг 12 - рдмреНрд░рд╛рдЙрдЬрд░ рднрдгреНрдбрд╛рд░рдг (localStorage/sessionStorage)
рдЪрд░рдг 13 - ES6+ рд╕реБрд╡рд┐рдзрд╛рд╣рд░реВ (рдПрд░реЛ рдкреНрд░рдХрд╛рд░реНрдпрд╣рд░реВ, рдЯреЗрдореНрдкреНрд▓реЗрдЯ рдЕрдХреНрд╖рд░рд╣рд░реВ, рд╡рд┐рдирд╛рд╢рдХрд╛рд░реА, рд╕реНрдкреНрд░реЗрдб рдЕрдкрд░реЗрдЯрд░)
рдЕрд░реНрдХреЛ, рддрдкрд╛рдИрдВрд▓реЗ рдкреНрд░рдХрд╛рд░реНрдпрд╣рд░реВ рд░ рд╕реНрдХреЛрдкрд╣рд░реВ, рдПрд░реЗрд╣рд░реВ рд░ рд╡рд╕реНрддреБрд╣рд░реВ, рд╡рд░реНрдЧрд╣рд░реВ рд░ рдЗрдирд╣реЗрд░рд┐рдЯреЗрдиреНрд╕, рдкреНрд░рддрд┐рдЬреНрдЮрд╛рд╣рд░реВ рд░ Async/рдкреНрд░рддреАрдХреНрд╖рд╛, рддреНрд░реБрдЯрд┐ рд╣реНрдпрд╛рдиреНрдбрд▓рд┐рдЩ рд░ рдбрд┐рдмрдЧрд┐рдЩ, DOM рд╣реЗрд░рдлреЗрд░ рд░ рдШрдЯрдирд╛рд╣рд░реВ, AJAX рд░ API, рдирд┐рдпрдорд┐рдд рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐рд╣рд░реВ, рд░ рдмреНрд░рд╛рдЙрдЬрд░ рднрдгреНрдбрд╛рд░рдг рдЬрд╕реНрддреИ localStorage рд░ sessionStorage рдмрд╛рд░реЗ рд╕рд┐рдХреНрдиреБрд╣реБрдиреЗрдЫред рдердк рд░реВрдкрдорд╛, рддрдкрд╛рдИрдВрд▓реЗ рддреАрд░ рдкреНрд░рдХрд╛рд░реНрдпрд╣рд░реВ, рдЯреЗрдореНрдкреНрд▓реЗрдЯ рд▓рд┐рдЯрд░рд▓рд╣рд░реВ, рд╡рд┐рдирд╛рд╢рдХрд╛рд░реА, рд░ рд╕реНрдкреНрд░реЗрдб рдЕрдкрд░реЗрдЯрд░ рдЬрд╕реНрддрд╛ рдирд╡реАрдирддрдо ES6+ рд╕реБрд╡рд┐рдзрд╛рд╣рд░реВрдХреЛ рдмрд╛рд░реЗрдорд╛ рдкрдирд┐ рд╕рд┐рдХреНрдиреБрд╣реБрдиреЗрдЫред
рдЕрдиреБрдкреНрд░рдпреЛрдЧрд▓реЗ JavaScript рдЕрдиреНрддрд░реНрд╡рд╛рд░реНрддрд╛ рдкреНрд░рд╢реНрди рд░ рдЙрддреНрддрд░рд╣рд░реВрдХреЛ рдЦрдгреНрдб рдкрдирд┐ рд╕рдорд╛рд╡реЗрд╢ рдЧрд░реНрджрдЫ, рдЬреБрди рдЬрд╛рдЧрд┐рд░рдХреЛ рдЕрдиреНрддрд░реНрд╡рд╛рд░реНрддрд╛рдХреЛ рд▓рд╛рдЧрд┐ рддрдпрд╛рд░реА рдЧрд░реНрдиреЗ рдЬреЛ рдХреЛрд╣реАрдХреЛ рд▓рд╛рдЧрд┐ рдЙрдкрдпреЛрдЧреА рд╣реБрди рд╕рдХреНрдЫред рдпрд╕рдмрд╛рд╣реЗрдХ, рдПрдкрд▓реЗ рд╕рдмреИ 13 рдЪрд░рдгрд╣рд░реВ рдкреВрд░рд╛ рдЧрд░реЗрдкрдЫрд┐ рдирд┐:рд╢реБрд▓реНрдХ рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдкреНрд░рджрд╛рди рдЧрд░реНрджрдЫ, рдЬреБрди рддрдкрд╛рдИрдВрд▓реЗ рдЖрдлреНрдиреЛ рд░рд┐рдЬреБрдореЗ рд╡рд╛ рд╕реЛрд╢рд▓ рдорд┐рдбрд┐рдпрд╛ рдкреНрд░реЛрдлрд╛рдЗрд▓рд╣рд░реВрдорд╛ рдбрд╛рдЙрдирд▓реЛрдб рд░ рдкреНрд░рджрд░реНрд╢рди рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫред
рдЕрдиреНрддрд░рдХреНрд░рд┐рдпрд╛рддреНрдордХ рдЙрджрд╛рд╣рд░рдгрд╣рд░реВ, рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рдЕрднреНрдпрд╛рд╕рд╣рд░реВ, рд░ рдХреНрд╡рд┐рдЬрд╣рд░реВ рд╕рд╣рд┐рдд, рдпреЛ рдПрдкрд▓реЗ рдЬрд╛рднрд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╕рд┐рдХреНрдирд▓рд╛рдИ рдЖрдХрд░реНрд╖рдХ рд░ рд░рдорд╛рдЗрд▓реЛ рдЕрдиреБрднрд╡ рдмрдирд╛рдЙрдБрдЫред рдПрдк рджреБрдмреИ рдЖрддреНрдо-рдЧрддрд┐ рд╕рд┐рдХрд╛рдЗ рд░ рдХрдХреНрд╖рд╛рдХреЛрдард╛рдорд╛ рдЖрдзрд╛рд░рд┐рдд рдкреНрд░рд╢рд┐рдХреНрд╖рдгрдХреЛ рд▓рд╛рдЧрд┐ рдЙрдкрдпреБрдХреНрдд рдЫ, рд░ рдЬрд╛рднрд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдЩрдорд╛ рдирд╡реАрдирддрдо рдкреНрд░рд╡реГрддрд┐рд╣рд░реВ рд░рд╛рдЦреНрди рд╕рд╛рдордЧреНрд░реА рдирд┐рдпрдорд┐рдд рд░реВрдкрдорд╛ рдЕрджреНрдпрд╛рд╡рдзрд┐рдХ рдЧрд░рд┐рдиреНрдЫред
рдЕрдм 13 рдЪрд░рдгрд╣рд░реВрдорд╛ рдЬрд╛рднрд╛рдорд╛ JavaScript рдбрд╛рдЙрдирд▓реЛрдб рдЧрд░реНрдиреБрд╣реЛрд╕реН рд░ рдПрдХ рдХреБрд╢рд▓ JavaScript рд╡рд┐рдХрд╛рд╕рдХрд░реНрддрд╛ рдмрдиреНрдирдХреЛ рд▓рд╛рдЧрд┐ рдЖрдлреНрдиреЛ рдпрд╛рддреНрд░рд╛ рд╕реБрд░реБ рдЧрд░реНрдиреБрд╣реЛрд╕реН!
рдорд╛ рдЕрдкрдбреЗрдЯ рдЧрд░рд┐рдПрдХреЛ
реирежреирел рдЕрдХреНрдЯреЛрдмрд░ резрей