рд╣рдо рдкрд╛рдпрдерди рдФрд░ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рдПрдирд╛рд▓реЙрдЧреНрд╕ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд▓реЗрдЦреЛрдВ рдХреА рдПрдХ рд╢реНрд░реГрдВрдЦрд▓рд╛ рдХрд╛ рдЕрдиреБрд╡рд╛рдж рдХрд░рдирд╛ рдЬрд╛рд░реА рд░рдЦрддреЗ рд╣реИрдВ
рдкрд┐рдЫрд▓реЗ рд░рд┐рд▓реАрдЬ рдореЗрдВ, рд╣рдо ECMAScript 5 рдкрд░ рдЖрдзрд╛рд░рд┐рдд рдкрд╛рдпрдерди (2.7) рдФрд░ JS рдХреЗ рдХреНрд▓рд╛рд╕рд┐рдХ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЗ рд╡рд╛рдХреНрдп рд╡рд┐рдиреНрдпрд╛рд╕ рдкрд░ рдирд┐рд░реНрднрд░ рдереЗред рдЗрд╕ рдмрд╛рд░ рд╣рдо рдирдП рдХрд╛рд░реНрдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗ рдЬреЛ ECMAScript 6 рдорд╛рдирдХ рдХреЗ 3.6 рдФрд░ JS рдореЗрдВ рджрд┐рдЦрд╛рдИ рджрд┐рдПред
ECMAScript 6 рдЕрдзрд┐рдХрд╛рдВрд╢ рдЖрдзреБрдирд┐рдХ рдмреНрд░рд╛рдЙрдЬрд╝рд░реЛрдВ рджреНрд╡рд╛рд░рд╛ рд╕рдорд░реНрдерд┐рдд рдПрдХ рдЕрдкреЗрдХреНрд╖рд╛рдХреГрдд рдирдпрд╛ рдорд╛рдирдХ рд╣реИ ред рдкреБрд░рд╛рдиреЗ рдмреНрд░рд╛рдЙрдЬрд╝рд░реЛрдВ рдореЗрдВ рдорд╛рдирдХ 6 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ рдХреНрд░реЙрд╕-рдмреНрд░рд╛рдЙрдЬрд╝рд░ рд╕рдорд░реНрдерди рдХреЗ рд▓рд┐рдП рдЖрдзреБрдирд┐рдХ рдЬреЗрдПрд╕ 6 рдбрд┐рдЬрд╝рд╛рдЗрдиреЛрдВ рдХрд╛ рдЕрдиреБрд╡рд╛рдж рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмреИрдмреЗрд▓ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред
рдЖрдЬ рдХреЗ рд▓реЗрдЦ рдореЗрдВ: рд╕реНрдЯреНрд░рд┐рдВрдЧреНрд╕ рдореЗрдВ рдЪрд░, рдЕрдирдкреИрдХрд┐рдВрдЧ рд▓рд┐рд╕реНрдЯ, рд▓реИрдореНрдмреНрдбрд╛ рдлрд╝рдВрдХреНрд╢рди, рдЗрдВрдбреЗрдХреНрд╕ рдХреЗ рдмрд┐рдирд╛ рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐, рдЬрдирд░реЗрдЯрд░ рдФрд░ рд╕реЗрдЯред
рдЕрдиреНрдп рдореБрджреНрджреЛрдВ рдХреА рд╕рд╛рдордЧреНрд░реА:
- рдкрд╣рд▓рд╛ рднрд╛рдЧ - рдЯрд╛рдЗрдк рдХрдиреНрд╡рд░реНрдЬрди, рдЯрд░реНрдирд░реА рдСрдкрд░реЗрдЯрд░, рдкреНрд░реЙрдкрд░реНрдЯреА рдирд╛рдо рд╕реЗ рд╕рдВрдкрддреНрддрд┐ рддрдХ рдкрд╣реБрдБрдЪ, рд╢рдмреНрджрдХреЛрд╖, рд╕реВрдЪрд┐рдпрд╛рдБ, рддрд╛рд░, рд╕реНрдЯреНрд░рд┐рдВрдЧ рд╕рдВрдпреЛрдЬрди
- рджреВрд╕рд░рд╛ рднрд╛рдЧ рд╢рдмреНрджрдХреЛрд╢реЛрдВ, JSON, рдирд┐рдпрдорд┐рдд, рддреНрд░реБрдЯрд┐рдпреЛрдВ рдФрд░ рдЕрдкрд╡рд╛рджреЛрдВ рдХрд╛ рдХреНрд░рдорд╛рдВрдХрди рд╣реИред
- рдпрд╣ рд▓реЗрдЦ
- рдЪреМрдерд╛ рд╣рд┐рд╕реНрд╕рд╛ рдлрд╝рдВрдХреНрд╢рди рддрд░реНрдХ, рдХрдХреНрд╖рд╛рдПрдВ, рд╡рд┐рд░рд╛рд╕рдд, рд╕реЗрдЯрд░ рдЧреЗрдЯрд░реНрд╕ рдФрд░ рдХреНрд▓рд╛рд╕ рдкреНрд░реЙрдкрд░реНрдЯреАрдЬрд╝ рдХреЗ рд╕рд╛рде рдмрдирд╛рдирд╛ рдФрд░ рдХрд╛рдо рдХрд░рдирд╛ рд╣реИред
рдкрдВрдХреНрддрд┐рдпреЛрдВ рдореЗрдВ рдЪрд░
рдЪрд░ рдХреЗ рд╕рд╛рде рддрд╛рд░ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХрд╛ рдкрд╛рд░рдВрдкрд░рд┐рдХ рддрд░реАрдХрд╛ рддрд╛рд░ рдФрд░ рдЪрд░ рдХреЗ рд╕рдВрдпреЛрдЬрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ:
name = 'World' value = 'Hello, ' + name + '!\nWelcome!'
рдРрд╕рд╛ рд░рд┐рдХреЙрд░реНрдб рдмрд┐рдЦрд░рд╛ рд╣реБрдЖ рдФрд░ рдЦрд░рд╛рдм рдкрдврд╝рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдФрд░ рдЖрдк рдЕрдХреНрд╕рд░ рд▓рд╛рдЗрдиреЛрдВ рдореЗрдВ рд╢рдмреНрджреЛрдВ рдХреЗ рдЖрд╕рдкрд╛рд╕ рдХреЗ рд░рд┐рдХреНрдд рд╕реНрдерд╛рди рдореЗрдВ рдЧрд▓рддреА рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдкрд╛рдпрдерди рдореЗрдВ рд╕рдВрд╕реНрдХрд░рдг 3.6 рдХреЗ рд╕рд╛рде рдФрд░ JS ECMAScrip6 рдореЗрдВ рд╢реБрд░реВ рдХрд░рдХреЗ, рдЖрдк рд╕реНрдЯреНрд░рд┐рдВрдЧ рдЗрдВрдЯрд░рдкреЛрд▓реЗрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдпрд╛, рдкрд╛рдпрдерди рд╢рдмреНрджреЛрдВ рдореЗрдВ, рдПрдл-рд╕реНрдЯреНрд░рд┐рдВрдЧреНрд╕ред рдпреЗ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдкреИрдЯрд░реНрди рд╣реИрдВ рдЬрд┐рд╕рдореЗрдВ рдЪрд░ рд╕реЗ рдореВрд▓реНрдпреЛрдВ рдХреЛ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдкрд╛рдпрдерди рдореЗрдВ, рдЙрджреНрдзрд░рдг рдЪрд┐рд╣реНрдиреЛрдВ рд╕реЗ рдкрд╣рд▓реЗ рдПрдл-рд▓рд╛рдЗрдиреЛрдВ рдХреЛ рдПрдХ рдПрдл рдХреЗ рд╕рд╛рде рдЪрд┐рд╣реНрдирд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ:
name = 'World' value = f"""Hello, {name}! Welcome!""" price = 14.9 value = f'Price: {price:.2f} тВм'
рдЬреЗрдПрд╕ рдореЗрдВ, рд╕реНрдЯреНрд░рд┐рдВрдЧ рдкреИрдЯрд░реНрди рдПрдХ рдмреИрдХрдЯреНрд░рд┐рдХ `рдХреЗ рд╕рд╛рде рд╢реБрд░реВ рдФрд░ рд╕рдорд╛рдкреНрдд рд╣реЛрддреЗ рд╣реИрдВ
name = 'World'; value = `Hello, ${name}! Welcome!`; price = 14.9; value = `Price ${price.toFixed(2)} тВм`;
рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдкреИрдЯрд░реНрди рд╕рд┐рдВрдЧрд▓-рд▓рд╛рдЗрди рдФрд░ рдорд▓реНрдЯреА-рд▓рд╛рдЗрди рджреЛрдиреЛрдВ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред
рдкрд╛рдпрдерди рдореЗрдВ, рдЖрдк рдЪрд░ рдХрд╛ рдкреНрд░рд╛рд░реВрдкрдг рд╕реЗрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдЕрдирдкреИрдХрд┐рдВрдЧ рд╕реВрдЪреА
рдкрд╛рдпрдерди рдореЗрдВ, рдФрд░ рдЕрдм рдЬреЗрдПрд╕ рдореЗрдВ, рд╡рд┐рднрд┐рдиреНрди рдЪрд░ рдХреЗ рд▓рд┐рдП рдЕрдиреБрдХреНрд░рдо рддрддреНрд╡реЛрдВ рдХреЛ рдЕрд╕рд╛рдЗрди рдХрд░рдиреЗ рдХрд╛ рдПрдХ рджрд┐рд▓рдЪрд╕реНрдк рдЕрд╡рд╕рд░ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╣рдо рд╕реВрдЪреА рд╕реЗ рддреАрди рдЪрд░ рддрдХ рддреАрди рдорд╛рди рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
[a, b, c] = [1, 2, 3]
рдЯреБрдкрд▓реНрд╕ рдХреЗ рд▓рд┐рдП, рдХреЛрд╖реНрдардХ рдЫреЛрдбрд╝реЗ рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВред
рдкрд╛рдпрдерди рдореЗрдВ рджреЛ рдЪрд░ рдХреЗ рдореВрд▓реНрдпреЛрдВ рдХрд╛ рдЖрджрд╛рди-рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рдХреЗ рддрд░реАрдХреЗ рдХреЗ рдмрд╛рдж рдирд┐рдореНрди рдЙрджрд╛рд╣рд░рдг рдмрд╣реБрдд рд▓реЛрдХрдкреНрд░рд┐рдп рд╣реИ:
a = 1 b = 2 a, b = b, a
JS6 + рдореЗрдВ, рдпрд╣ рднреА рд╕рдВрднрд╡ рд╣реИ:
a = 1; b = 2; [a, b] = [b, a];
рдкрд╛рдпрдерди рдореЗрдВ, рдЕрдЧрд░ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдХрд┐рд╕реА рд╕реВрдЪреА рдпрд╛ рдЯрдкрд▓ рдореЗрдВ рддрддреНрд╡реЛрдВ рдХреА рдЕрдирд┐рд╢реНрдЪрд┐рдд рд╕рдВрдЦреНрдпрд╛ рд╣реИ, рддреЛ рд╣рдо рдЗрди рддрддреНрд╡реЛрдВ рдХреЛ рдПрдХ рд╡реИрд░рд┐рдПрдмрд▓ рдХреЗ рд╡реЗрд░рд┐рдПрдмрд▓ рдореЗрдВ рдЕрд╕рд╛рдЗрди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬрд┐рд╕рдореЗрдВ рдЕрдВрддрд┐рдо рдХреБрдЫ рдорд╛рди рд╕реВрдЪреА рдХреЗ рд░реВрдк рдореЗрдВ рд╡рд╛рдкрд╕ рдЖрддреЗ рд╣реИрдВ:
first, second, *the_rest = [1, 2, 3, 4]
рдЬреЗрдПрд╕ (ECMAScrip6) рдореЗрдВ рднреА рдРрд╕рд╛ рд╣реА рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:
[first, second, ...the_rest] = [1, 2, 3, 4];
рд▓реИрдореНрдмреНрдбрд╛ рдХрд╛рд░реНрдп рдХрд░рддрд╛ рд╣реИ
рдкрд╛рдпрдерди рдФрд░ рдЬреЗрдПрд╕ рджреЛрдиреЛрдВ рдореЗрдВ рд╕рд┐рдВрдЧрд▓-рд▓рд╛рдЗрди рдлрд╝рдВрдХреНрд╢рдВрд╕ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рд╕реНрдкрд╖реНрдЯ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рд╣реИред рдЗрд╕ рддрд░рд╣ рдХреЗ рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рд▓рдВрдмреЛрджрд╛ рдлрд╝рдВрдХреНрд╢рди рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред рд▓рдореНрдмрджрд╛ рдРрд╕реЗ рдХрд╛рд░реНрдп рд╣реИрдВ рдЬреЛ рдПрдХ рдпрд╛ рдЕрдзрд┐рдХ рддрд░реНрдХ рд▓реЗрддреЗ рд╣реИрдВ рдФрд░ рдкрд░рд┐рдХрд▓рд┐рдд рдорд╛рди рд▓реМрдЯрд╛рддреЗ рд╣реИрдВред рдЖрдорддреМрд░ рдкрд░, рд▓реИрдореНрдмрдбрд╛ рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рддрдм рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬрдм рдЖрдкрдХреЛ рдХреЙрд▓рдмреИрдХ рдХреЗ рд░реВрдк рдореЗрдВ рдПрдХ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рджреВрд╕рд░реЗ рдлрд╝рдВрдХреНрд╢рди рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рдпрд╛ рдЬрдм рдЕрдиреБрдХреНрд░рдо рдХреЗ рдкреНрд░рддреНрдпреЗрдХ рддрддреНрд╡ рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реЛрддрд╛ рд╣реИред
рдкрд╛рдпрдерди рдореЗрдВ, рдЖрдк lambda
рдХреАрд╡рд░реНрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрдХ рд▓реИрдореНрдмреНрдбрд╛ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
sum = lambda x, y: x + y square = lambda x: x ** 2
рдЬреЗрдПрд╕ =>
рд╕рдВрдХреЗрддрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред рдпрджрд┐ рдПрдХ рд╕реЗ рдЕрдзрд┐рдХ рддрд░реНрдХ рд╣реИрдВ, рддреЛ рдЙрдиреНрд╣реЗрдВ рдХреЛрд╖реНрдардХ рдореЗрдВ рд░рдЦрд╛ рдЧрдпрд╛ рд╣реИ:
sum = (x, y) => x + y; square = x => Math.pow(x, 2);
рдЕрдиреБрдХреНрд░рдорд┐рдд рдХреЗ рдмрд┐рдирд╛ Iteration
рдХрдИ рдкреАрдПрд▓ рдЖрдкрдХреЛ рдХреЗрд╡рд▓ рдЗрдВрдбреЗрдХреНрд╕ рд╕рдВрдЦреНрдпрд╛ рджреНрд╡рд╛рд░рд╛ рд╡рд┐рд╢рд┐рд╖реНрдЯ рддрддреНрд╡ рддрдХ рдкрд╣реБрдВрдЪрдиреЗ рдФрд░ рдЗрд╕ рд╕реВрдЪрдХрд╛рдВрдХ рдХреА рд╡реГрджреНрдзрд┐ рдХреЗ рд╕рд╛рде рдЪрдХреНрд░ рдХреЛ рдмрд╛рдпрдкрд╛рд╕ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреЗ рд╣реИрдВред
for (i=0; i<items.length; i++) { console.log(items[i]); }
рдпрд╣ рдмрд╣реБрдд рд╕реБрдВрджрд░ рд░рд┐рдХреЙрд░реНрдб рдирд╣реАрдВ рд╣реИ, рдФрд░ рд╢реБрд░реБрдЖрддреА рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдереЛрдбрд╝рд╛ рдЬрдЯрд┐рд▓ рд╣реИ - рдРрд╕рд╛ рд░рд┐рдХреЙрд░реНрдб рдкреНрд░рд╛рдХреГрддрд┐рдХ рдирд╣реАрдВ рджрд┐рдЦрддрд╛ рд╣реИред рдкрд╛рдпрдерди рдХреЗ рдкрд╛рд╕ рд╕реВрдЪреА рдореЗрдВ рдЖрдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реБрдВрджрд░, рд╕рдВрдХреНрд╖рд┐рдкреНрдд рддрд░реАрдХрд╛ рд╣реИ:
for item in ['A', 'B', 'C']: print(item)
рдЖрдзреБрдирд┐рдХ JS рдореЗрдВ, рдЗрд╕реЗ for..of
рдСрдкрд░реЗрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рдХрд┐рдпрд╛ for..of
рд╣реИ:
for (let item of ['A', 'B', 'C']) { console.log(item); }
рддреБрдо рднреА рдкрд╛рдпрдерди рдореЗрдВ рдЪрд░рд┐рддреНрд░ рджреНрд╡рд╛рд░рд╛ рд▓рд╛рдЗрди рдЪрд░рд┐рддреНрд░ рдХреЛ рдмрд╛рдпрдкрд╛рд╕ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
for character in 'ABC': print(character)
рдФрд░ рдЖрдзреБрдирд┐рдХ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ:
for (let character of 'ABC') { console.log(character); }
рдЬрдирд░реЗрдЯрд░
рдкрд╛рдпрдерди рдФрд░ рдЖрдзреБрдирд┐рдХ рдЬреЗрдПрд╕ рджреЛрдиреЛрдВ рдЖрдкрдХреЛ рд╡рд┐рд╢реЗрд╖ рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреЗ рд╣реИрдВ рдЬреЛ рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐рдпреЛрдВ рдХреА рддрд░рд╣ рджрд┐рдЦреЗрдВрдЧреЗред рдкреНрд░рддреНрдпреЗрдХ рдХреЙрд▓ (рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐) рдХреЗ рд╕рд╛рде, рд╡реЗ рдЕрдиреБрдХреНрд░рдо рд╕реЗ рдЕрдЧрд▓рд╛ рдЙрддреНрдкрдиреНрди рдорд╛рди рд▓реМрдЯрд╛рдПрдВрдЧреЗред рдРрд╕реЗ рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдЬрдирд░реЗрдЯрд░ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред
рдЬреЗрдирд░реЗрдЯрд░ рдЖрдорддреМрд░ рдкрд░ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ: рдПрдХ рд░реЗрдВрдЬ рд╕реЗ рдирдВрдмрд░, рдПрдХ рдлрд╛рдЗрд▓ рд╕реЗ рд▓рд╛рдЗрдиреЗрдВ, рдПрдХ рдмрд╛рд╣рд░реА рдПрдкреАрдЖрдИ рд╕реЗ рдкреЗрдЬ рджреНрд╡рд╛рд░рд╛ рдбреЗрдЯрд╛ рдкреЗрдЬ, рд░рд┐рдЯреНрд░реЗрд╕рдореЗрдВрдЯ рдирдВрдмрд░ рдФрд░ рдЕрдиреНрдп рдЧрддрд┐рд╢реАрд▓ рд░реВрдк рд╕реЗ рдЙрддреНрдкрдиреНрди рдЕрдиреБрдХреНрд░рдоред
рддрдХрдиреАрдХреА рд░реВрдк рд╕реЗ, рдЬрдирд░реЗрдЯрд░ рд╕рд╛рдорд╛рдиреНрдп рдХрд╛рд░реНрдпреЛрдВ рдХреА рддрд░рд╣ рджрд┐рдЦрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдПрдХрд▓ рдорд╛рди рд╡рд╛рдкрд╕ рдХрд░рдиреЗ рдХреЗ рдмрдЬрд╛рдп (рдФрд░ рдХрд╛рдо рд░реЛрдХрдХрд░), рд╡реЗ рдЕрдЧрд▓реА рдХреЙрд▓ рддрдХ рдПрдХ рд╣реА рдореВрд▓реНрдп рдФрд░ рд╕рдВрдЪрд╛рд▓рди рд░реЛрдХрддреЗ рд╣реИрдВред рд╡реЗ рд╕реВрдЪреА рдХреЗ рдЕрдВрдд рддрдХ рдкрд╣реБрдВрдЪрдиреЗ рддрдХ рдкреНрд░рддреНрдпреЗрдХ рдХреЙрд▓ рдХреЗ рд╕рд╛рде рд╕реВрдЪреА рд╕реЗ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдорд╛рди рдЙрддреНрдкрдиреНрди рдХрд░реЗрдВрдЧреЗред
рдкрд╛рдпрдерди рдореЗрдВ рдПрдХ рдЙрджрд╛рд╣рд░рдг рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ, рдЬрд┐рд╕рдореЗрдВ рдЙрд▓рдЯреА рдЧрд┐рдирддреА () рдЬрдирд░реЗрдЯрд░ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЬреЛ рдХрд┐рд╕реА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ 1 рд╕реЗ рд░рд┐рд╡рд░реНрд╕ рдСрд░реНрдбрд░ рдореЗрдВ рд╕рдВрдЦреНрдпрд╛ (10,9,8, ..., 1) рджреЗрддрд╛ рд╣реИ:
def countdown(counter): while counter > 0: yield counter counter -= 1 for counter in countdown(10): print(counter)
рд╡рд╣реА рдЖрдзреБрдирд┐рдХ рдЬреЗрдПрд╕ рдореЗрдВ рдкреНрд░рд╛рдкреНрдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд╡рд┐рд╡рд░рдг рдореЗрдВ * рдкрд░ рдзреНрдпрд╛рди рджреЗрдВред рдпрд╣ рдЙрд╕реЗ рдПрдХ рдЬрдирд░реЗрдЯрд░ рдХреЗ рд░реВрдк рдореЗрдВ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддрд╛ рд╣реИ:
function* countdown(counter) { while (counter > 0) { yield counter; counter--; } } for (let counter of countdown(10)) { console.log(counter); }
рд╕реЗрдЯ (рд╕реЗрдЯ)
рд╣рдо рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╕реВрдЪрд┐рдпреЛрдВ (рд╕реВрдЪрд┐рдпреЛрдВ), рдЯреНрдпреВрдкрд▓реНрд╕ (рдЯреНрдпреВрдкрд▓реНрд╕), рд╕рд░рдгрд┐рдпреЛрдВ (рд╕рд░рдгрд┐рдпреЛрдВ) рд╕реЗ рдкрд░рд┐рдЪрд┐рдд рд╣реЛ рдЧрдПред рд▓реЗрдХрд┐рди рдПрдХ рдЕрдиреНрдп рдкреНрд░рдХрд╛рд░ рдХрд╛ рдбреЗрдЯрд╛ рд╣реИ - рд╕реЗрдЯред рд╕реЗрдЯ рдбреЗрдЯрд╛ рд╕рд░рдгрд┐рдпрд╛рдБ рд╣реИрдВ рдЬрд┐рдирдореЗрдВ рдкреНрд░рддреНрдпреЗрдХ рдЕрджреНрд╡рд┐рддреАрдп рддрддреНрд╡ рдХреЗрд╡рд▓ рдПрдХ рдкреНрд░рддрд┐ рдореЗрдВ рдореМрдЬреВрдж рд╣реИред рд╕реЗрдЯ рд╕рд┐рджреНрдзрд╛рдВрдд рд╕рдВрдШ, рдЪреМрд░рд╛рд╣реЗ рдФрд░ рдЕрдВрддрд░ рдХреЗ рд░реВрдк рдореЗрдВ рд╕реЗрдЯ рдХреЗ рд╕рд╛рде рд╕рдВрдЪрд╛рд▓рди рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╣рдо рдЕрдм рдЙрди рдкрд░ рд╡рд┐рдЪрд╛рд░ рдирд╣реАрдВ рдХрд░реЗрдВрдЧреЗред
рд╣рдо рдПрдХ рд╕реЗрдЯ рдмрдирд╛рддреЗ рд╣реИрдВ, рдЗрд╕рдореЗрдВ рдПрдХ рддрддреНрд╡ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВ, рддрддреНрд╡ рдХреЗ рдЕрд╕реНрддрд┐рддреНрд╡ рдХреА рдЬрд╛рдВрдЪ рдХрд░рддреЗ рд╣реИрдВ, рддрддреНрд╡реЛрдВ рдХреА рдХреБрд▓ рд╕рдВрдЦреНрдпрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рддреЗ рд╣реИрдВ, рддрддреНрд╡реЛрдВ рджреНрд╡рд╛рд░рд╛ рд╕реЗрдЯ рдХреЗ рдЪрд╛рд░реЛрдВ рдУрд░ рдЬрд╛рддреЗ рд╣реИрдВ рдФрд░ рдкрд╛рдпрдерди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрдХ рддрддреНрд╡ рдХреЛ рд╣рдЯрд╛рддреЗ рд╣реИрдВ:
s = set(['A']) s.add('B'); s.add('C') 'A' in s len(s) == 3 for elem in s: print(elem) s.remove('C')
рдЬреЗрдПрд╕ рдкрд░ рдПрдХ рд╣реА рдмрд╛рдд:
s = new Set(['A']); s.add('B').add('C'); s.has('A') === true; s.size === 3; for (let elem of s.values()) { console.log(elem); } s.delete('C')
рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ рджреЗрдирд╛
- рд╕реНрдЯреНрд░рд┐рдВрдЧ рдкреИрдЯрд░реНрди (рдПрдл-рд▓рд╛рдЗрди) рдкрдардиреАрдпрддрд╛ рдореЗрдВ рд╕реБрдзрд╛рд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдХреЛрдб рдХреЛ рд╕рд░рд▓ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдорд▓реНрдЯреА-рд▓рд╛рдЗрди рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ рднреАред
- рдЖрдк рдЕрдиреБрдХреНрд░рдордгрд┐рдХрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдмрд┐рдирд╛ рд╕рд░рдгрд┐рдпреЛрдВ, рд╕рдореВрд╣реЛрдВ рдпрд╛ рддрд╛рд░реЛрдВ рдХреЛ рдмрд╛рдпрдкрд╛рд╕ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
- рдЬрдирд░реЗрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ, рдЖрдк рд▓рдЧрднрдЧ рдЕрд╕реАрдорд┐рдд рддрддреНрд╡реЛрдВ рдХреЗ рд╕рд╛рде рдЕрдиреБрдХреНрд░рдо рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
- рд╕реЗрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╕реЗ рдПрд░реЗ рдореЗрдВ рдХрд┐рд╕реА рддрддреНрд╡ рдХреА рд╡рд┐рд╢рд┐рд╖реНрдЯрддрд╛ рдХреЛ рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд░рдирд╛ рдЖрд╕рд╛рди рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред
- рдЬрдм рдЖрдкрдХреЛ рдЫреЛрдЯреЗ рдПрдХ-рд▓рд╛рдЗрди рдлрд╝рдВрдХреНрд╢рди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рддреЛ рд▓реИрдореНрдмреНрдбрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред
рдЕрдЧрд▓реЗ рднрд╛рдЧ рдореЗрдВ, рд╣рдо рдлрд╝рдВрдХреНрд╢рди рддрд░реНрдХреЛрдВ, рдХрдХреНрд╖рд╛рдУрдВ, рд╡рдВрд╢рд╛рдиреБрдХреНрд░рдо рдФрд░ рдЧреБрдгреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░реЗрдВрдЧреЗред