рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдПрдХ рдЬрдЯрд┐рд▓ рднрд╛рд╖рд╛ рд╣реИред рдпрджрд┐ рдЖрдк рдХрд┐рд╕реА рднреА рд╕реНрддрд░ рдкрд░ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╡рд┐рдХрд╛рд╕ рдореЗрдВ рд▓рдЧреЗ рд╣реБрдП рд╣реИрдВ, рддреЛ рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдЖрдкрдХреЗ рд▓рд┐рдП рдЗрд╕ рднрд╛рд╖рд╛ рдХреА рдореВрд▓ рдЕрд╡рдзрд╛рд░рдгрд╛рдУрдВ рдХреЛ рд╕рдордЭрдирд╛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИред рд╕рд╛рдордЧреНрд░реА, рдЬрд┐рд╕рдХрд╛ рдЕрдиреБрд╡рд╛рдж рдЖрдЬ рд╣рдо рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдЗрд╕рдореЗрдВ 12 рдорд╣рддреНрд╡рдкреВрд░реНрдг рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЕрд╡рдзрд╛рд░рдгрд╛рдУрдВ рдХреЛ рд╢рд╛рдорд┐рд▓ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдмреЗрд╢рдХ, рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдбреЗрд╡рд▓рдкрд░ рдХреЛ рдФрд░ рдЕрдзрд┐рдХ рдЬрд╛рдирдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИ, рд▓реЗрдХрд┐рди рдЖрдЬ рд╣рдо рдЬрд┐рд╕ рдЪреАрдЬ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░рдиреЗ рдЬрд╛ рд░рд╣реЗ рд╣реИрдВ, рд╡рд╣ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рд╡рд╣ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ред

1. рдореВрд▓реНрдпреЛрдВ рдФрд░ рд╕рдВрджрд░реНрднреЛрдВ рдХреЛ рд╕рдВрдЧреНрд░рд╣рд┐рдд рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдЪрд░
рдпрд╣ рд╕рдордЭрдирд╛ рдХрд┐ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЪрд░ рдорд╛рди рдХреИрд╕реЗ рдЕрд╕рд╛рдЗрди рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ, рдЙрди рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдмреЗрд╣рдж рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ рдЬреЛ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдХрд╛рдо рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдХреЛрдб рд▓рд┐рдЦрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред рдЗрд╕ рддрдВрддреНрд░ рдХреА рдЧрд▓рддрдлрд╣рдореА рдЙрди рдХрд╛рд░реНрдпрдХреНрд░рдореЛрдВ рдХреЛ рд▓рд┐рдЦрдиреЗ рдХреА рдУрд░ рд▓реЗ рдЬрд╛рддреА рд╣реИ рдЬрд┐рдирдореЗрдВ рдЪрд░ рдХреЗ рдорд╛рди рдЕрдирдЬрд╛рдиреЗ рдореЗрдВ рдмрджрд▓ рд╕рдХрддреЗ рд╣реИрдВред
рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ, рдпрджрд┐ рдХрд┐рд╕реА рдЗрдХрд╛рдИ рдореЗрдВ рдПрдХ рдЖрджрд┐рдо рдкреНрд░рдХрд╛рд░ рд╣реИ (рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ,
Boolean
,
null
,
undefined
,
String
рдФрд░
Number
рдкреНрд░рдХрд╛рд░), рд╣рдореЗрд╢рд╛ рдЗрд╕ рдЗрдХрд╛рдИ рдХреЗ рдореВрд▓реНрдп рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдпрд╣реА рд╣реИ, рдорд╛рди рд╕рдВрдмрдВрдзрд┐рдд рдЪрд░ рдХреЗ рд▓рд┐рдП рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИред рдЕрдЧрд░ рд╣рдо рдХрд┐рд╕реА рдСрдмреНрдЬреЗрдХреНрдЯ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП,
Object
,
Array
,
Function
) рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рддреЛ рдЬрдм рдЗрд╕реЗ рдХрд┐рд╕реА рд╡реИрд░рд┐рдПрдмрд▓ рдкрд░ рдЕрд╕рд╛рдЗрди рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдЗрд╕рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рдВрджрд░реНрдн рдЗрд╕реЗ рд▓рд┐рдЦрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрд┐рд╕ рдкрддреЗ рдкрд░ рдпрд╣ рдореЗрдореЛрд░реА рдореЗрдВ рд╕реНрдерд┐рдд рд╣реИред
рдПрдХ рдЙрджрд╛рд╣рд░рдг рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВред рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреЛрдб рд╕реНрдирд┐рдкреЗрдЯ рдореЗрдВ, рдПрдХ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЛ
var1
рд▓рд┐рдЦрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЙрд╕рдХреЗ рдмрд╛рдж,
var2
рдорд╛рди
var2
рд╡реЗрд░рд┐рдПрдмрд▓ рдХреЛ рд▓рд┐рдЦрд╛
var2
рд╣реИред рдЪреВрдВрдХрд┐
var1
рдЪрд░ рдореЗрдВ рдПрдХ рдЖрджрд┐рдо рдкреНрд░рдХрд╛рд░ (
String
) рд╣реЛрддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП
var1
рдореЗрдВ рдЙрдкрд▓рдмреНрдз рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреА рдПрдХ рдкреНрд░рддрд┐
var1
рдХреЛ рд▓рд┐рдЦреА
var1
ред рдпрд╣ рд╣рдореЗрдВ
var2
рдХреЛ рдПрдХ рдЪрд░ рдХреЗ рд░реВрдк рдореЗрдВ рд╡рд┐рдЪрд╛рд░ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ рдЬреЛ рдХрд┐
var1
рд╕реЗ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕реНрд╡рддрдВрддреНрд░ рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдпрд╣
var1
рдХреЗ рд╕рдорд╛рди рдореВрд▓реНрдп рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рддрд╛ рд╣реИред
var1
рдирдпрд╛ рдорд╛рди рд▓рд┐рдЦрдиреЗ рд╕реЗ
var1
рдкреНрд░рднрд╛рд╡рд┐рдд рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИред
let var1 = 'My string'; let var2 = var1; var2 = 'My new string'; console.log(var1);
рдЕрдм рд╡рд╕реНрддреБрдУрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рдПрдХ рдЙрджрд╛рд╣рд░рдг рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВред
let var1 = { name: 'Jim' } let var2 = var1; var2.name = 'John'; console.log(var1);
рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рдпрд╣рд╛рдБ рд╣рдо
var2
рд╡реИрд░рд┐рдПрдмрд▓ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдФрд░ рдЬреИрд╕рд╛ рд╣реЛрддрд╛ рд╣реИ
var2
рд╡реИрд░рд┐рдПрдмрд▓ рд╡реИрд░рд┐рдПрдмрд▓ 1 рдореЗрдВ
var2
ред рдпрд╣ рдХрд▓реНрдкрдирд╛ рдХрд░рдирд╛ рдЖрд╕рд╛рди рд╣реИ рдХрд┐ рдпрд╣ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдХреЛрдб рдореЗрдВ рдХреНрдпрд╛ рдкреИрджрд╛ рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдЕрдЧрд░ рдХреЛрдИ рдпрд╣ рддрдп рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдЬреЛ рдЪрд░ рд╡рд╕реНрддреБрдУрдВ рдХреЛ рд╕реНрдЯреЛрд░ рдХрд░рддреЗ рд╣реИрдВ рд╡реЗ рдЙрд╕реА рддрд░рд╣ рд╕реЗ рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд░рддреЗ рд╣реИрдВ рдЬреИрд╕реЗ рдХрд┐ рдЪрд░ рдЖрджрд┐рдо рдкреНрд░рдХрд╛рд░ рдХреЗ рдореВрд▓реНрдпреЛрдВ рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рддреЗ рд╣реИрдВред рдпрд╣ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдЕрдкреНрд░рд┐рдп рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЙрди рдорд╛рдорд▓реЛрдВ рдореЗрдВ рдЬрд╣рд╛рдВ рд╡реЗ рдПрдХ рдлрд╝рдВрдХреНрд╢рди рдмрдирд╛рддреЗ рд╣реИрдВ рдЬреЛ рдЗрд╕реЗ рдкрд╛рд░рд┐рдд рдХрд┐рдП рдЧрдП рдСрдмреНрдЬреЗрдХреНрдЯ рдорд╛рди рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдФрд░ рдпрд╣ рдлрд╝рдВрдХреНрд╢рди рдЕрдирдЬрд╛рдиреЗ рдореЗрдВ рдЗрд╕ рдореВрд▓реНрдп рдХреЛ рдмрджрд▓рддрд╛ рд╣реИред
2. рд╢реЙрд░реНрдЯ рд╕рд░реНрдХрд┐рдЯ
рд╕рдорд╛рдкрди рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдбрд┐рдЬрд╛рдЗрди рдкреИрдЯрд░реНрди рд╣реИ рдЬреЛ рдЖрдкрдХреЛ рдЪрд░ рдХреЗ рд╕рд╛рде рд╕рдВрд░рдХреНрд╖рд┐рдд рдХрд╛рд░реНрдп рдХреЛ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдирд┐рдореНрди рдЙрджрд╛рд╣рд░рдг рдореЗрдВ,
createGreeter()
рдлрд╝рдВрдХреНрд╢рди рдПрдХ рдЕрдирд╛рдо рдлрд╝рдВрдХреНрд╢рди рд▓реМрдЯрд╛рддрд╛ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рд╕реНрдЯреНрд░рд┐рдВрдЧ
Hello
рд╕рд╛рде
greeting
рддрд░реНрдХ рдХреЗ рд╕рд╛рде рдкреНрд░рджрд╛рди рдХрд┐рдП рдЧрдП рдореВрд▓ рддрд░реНрдХ рддрдХ рдкрд╣реБрдВрдЪ рд╣реЛрддреА рд╣реИред рдЗрд╕ рдЕрдирд╛рдо рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдПрдХ рд╕рдВрджрд░реНрдн
sayHello
рд╡реИрд░рд┐рдПрдмрд▓ рдХреЛ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИред рдЙрд╕рдХреЗ рдмрд╛рдж, рдХреЛрдИ рднреА рдмрд╛рдд рдирд╣реАрдВ рдХрд┐ рд╣рдо рдХрд┐рддрдиреА рдмрд╛рд░
sayHello()
рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдХреЙрд▓ рдХрд░рддреЗ рд╣реИрдВ, рдпрд╣ рд╣рдореЗрд╢рд╛
greeting
рдорд╛рди рддрдХ рдкрд╣реБрдВрдЪ рдЬрд╛рдПрдЧрд╛ред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ,
greeting
рддрдХ рдкрд╣реБрдВрдЪ рдХреЗрд╡рд▓ рдПрдХ рдЕрдирд╛рдо рдлрд╝рдВрдХреНрд╢рди рд╣реЛрдЧреА, рдЬрд┐рд╕рдХрд╛ рд▓рд┐рдВрдХ
sayHello
рдореЗрдВ рд░рд┐рдХреЙрд░реНрдб рдХрд┐рдпрд╛
sayHello
ред
function createGreeter(greeting) { return function(name) { console.log(greeting + ', ' + name); } } const sayHello = createGreeter('Hello'); sayHello('Joe');
рдпрд╣ рдмрд╣реБрдд рд╕рд░рд▓ рдЙрджрд╛рд╣рд░рдг рдерд╛ред рдпрджрд┐ рдЖрдк рд╡рд╛рд╕реНрддрд╡рд┐рдХ рджреБрдирд┐рдпрд╛ рдХреЗ рдХрд░реАрдм рдХреБрдЫ рджреЗрдЦрддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рдХрд▓реНрдкрдирд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рдПрдкреАрдЖрдИ рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдлрд╝рдВрдХреНрд╢рди (рдЪрд▓реЛ рдЗрд╕реЗ
apiConnect()
), рдЬрд┐рд╕реЗ рдЬрдм рдкрд╣рд▓реА рдмрд╛рд░ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдПрдкреАрдЖрдИ рдПрдХреНрд╕реЗрд╕ рдХреБрдВрдЬреА рдкрд╛рд░рд┐рдд рдХреА рдЬрд╛рддреА рд╣реИред рдпрд╣ рдлрд╝рдВрдХреНрд╢рди, рдмрджрд▓реЗ рдореЗрдВ,
apiConnect()
рдкрд╛рд░рд┐рдд рдПрдкреАрдЖрдИ рдПрдХреНрд╕реЗрд╕ рдХреБрдВрдЬреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╡рд╛рд▓реА рдХрдИ рд╡рд┐рдзрд┐рдпреЛрдВ рд╕реЗ рдпреБрдХреНрдд рдСрдмреНрдЬреЗрдХреНрдЯ рджреЗрддрд╛ рд╣реИред рдЗрд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ, рдХреБрдВрдЬреА рдХреЛ рдХреНрд▓реЛрдЬрд░ рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдЬрдм рдЖрдк рдЗрди рд╡рд┐рдзрд┐рдпреЛрдВ рдХреЛ рдХреЙрд▓ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЗрд╕рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рдирд╣реАрдВ рд╣реИред
function apiConnect(apiKey) { function get(route) { return fetch(`${route}?key=${apiKey}`); } function post(route, params) { return fetch(route, { method: 'POST', body: JSON.stringify(params), headers: { 'Authorization': `Bearer ${apiKey}` } }) } return { get, post } } const api = apiConnect('my-secret-key');
3. рд╡рд┐рдирд╛рд╢рдХрд╛рд░реА рдЕрд╕рд╛рдЗрдирдореЗрдВрдЯ
рдпрджрд┐ рдЖрдкрдиреЗ рдЕрднреА рддрдХ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рд╡рд┐рдирд╛рд╢рдХрд╛рд░реА рдЕрд╕рд╛рдЗрдирдореЗрдВрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИ, рддреЛ рдЗрд╕реЗ рдареАрдХ рдХрд░рдиреЗ рдХрд╛ рд╕рдордп рд╣реИред рд╡рд┐рдирд╛рд╢рдХрд╛рд░реА рдЕрд╕рд╛рдЗрдирдореЗрдВрдЯ рдПрдХ рд╕рд╛рдл рд╕рд┐рдВрдереИрдЯрд┐рдХ рднрд╛рд╖рд╛ рдирд┐рд░реНрдорд╛рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдСрдмреНрдЬреЗрдХреНрдЯ рдЧреБрдгреЛрдВ рдХреЛ рдкреБрдирдГ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХрд╛ рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рддрд░реАрдХрд╛ рд╣реИред
const obj = { name: 'Joe', food: 'cake' } const { name, food } = obj; console.log(name, food);
рдпрджрд┐ рдЖрдкрдХреЛ рдирд┐рдХрд╛рд▓реЗ рдЧрдП рдЧреБрдгреЛрдВ рдХреЗ рдирд╛рдо рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдЬреЛ рдЙрди рд╡рд╕реНрддреБрдУрдВ рд╕реЗ рдЕрд▓рдЧ рд╣реИрдВ рдЬреЛ рдЙрдирдХреЗ рдкрд╛рд╕ рдСрдмреНрдЬреЗрдХреНрдЯ рдореЗрдВ рд╣реИрдВ, рддреЛ рдЖрдк рдРрд╕рд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
const obj = { name: 'Joe', food: 'cake' } const { name: myName, food: myFood } = obj; console.log(myName, myFood);
рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, рд╡рд┐рдирд╛рд╢рдХрд╛рд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ
person
рд╡рд╕реНрддреБ рдХреЗ рдЧреБрдгреЛрдВ рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдореВрд▓реНрдпреЛрдВ рдХреЛ рд╕рд╣реА рдврдВрдЧ рд╕реЗ
introduce()
рд╕рдорд╛рд░реЛрд╣ рдореЗрдВ рдкрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрд╣ рдЗрд╕ рдмрд╛рдд рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рд╣реИ рдХрд┐ рдХрд┐рд╕реА рдСрдмреНрдЬреЗрдХреНрдЯ рд╕реЗ рдбреЗрдЯрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдШреЛрд╖рд┐рдд рдХрд░рдиреЗ рдХреЗ рджреМрд░рд╛рди рдЗрд╕ рдирд┐рд░реНрдорд╛рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреИрд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рд╡реИрд╕реЗ, рдпрджрд┐ рдЖрдк рд░рд┐рдПрдХреНрдЯ рд╕реЗ рдкрд░рд┐рдЪрд┐рдд рд╣реИрдВ, рддреЛ рдЖрдк рд╢рд╛рдпрдж рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдпрд╣ рджреЗрдЦ рдЪреБрдХреЗ рд╣реИрдВред
const person = { name: 'Eddie', age: 24 } function introduce({ name, age }) { console.log(`I'm ${name} and I'm ${age} years old!`); } console.log(introduce(person));
4. рдлреИрд▓рд╛ рд╣реБрдЖ рд╕рдВрдЪрд╛рд▓рдХ
рдкреНрд░рд╕рд╛рд░ рдСрдкрд░реЗрдЯрд░ рдПрдХ рдХрд╛рдлреА рд╕рд░рд▓ рдирд┐рд░реНрдорд╛рдг рд╣реИ рдЬреЛ рдПрдХ рдЕрдкреНрд░рд╕реНрддреБрдд рд╡реНрдпрдХреНрддрд┐ рдХреЗ рд▓рд┐рдП рд╕рдордЭ рд╕реЗ рдмрд╛рд╣рд░ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЙрджрд╛рд╣рд░рдг рдореЗрдВ рдПрдХ рд╕рдВрдЦреНрдпрд╛рддреНрдордХ рд╕рд░рдгреА рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рдЕрдзрд┐рдХрддрдо рдореВрд▓реНрдп рд╕рдВрдЧреНрд░рд╣реАрдд рд╣реИ рдЬрд┐рд╕рдореЗрдВ рд╣рдореЗрдВ рдЦреЛрдЬрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рд╣рдо рдЗрд╕рдХреЗ рд▓рд┐рдП
Math.max()
рд╡рд┐рдзрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдпрд╣ рдкрддрд╛ рдирд╣реАрдВ рд╣реИ рдХрд┐ рд╕рд░рдгрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рдХреИрд╕реЗ рдХрд╛рдо рдХрд┐рдпрд╛ рдЬрд╛рдПред рд╡рд╣, рддрд░реНрдХ рдХреЗ рд░реВрдк рдореЗрдВ, рд╕реНрд╡рддрдВрддреНрд░ рд╕рдВрдЦреНрдпрд╛рддреНрдордХ рдореВрд▓реНрдпреЛрдВ рдХреЛ рдорд╛рдирддрд╛ рд╣реИред рд╕рд░рдгреА рд╕реЗ рдЗрд╕рдХреЗ рддрддреНрд╡реЛрдВ рдХреЛ рдирд┐рдХрд╛рд▓рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдо рдкреНрд░рд╕рд╛рд░ рдСрдкрд░реЗрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рдЬреЛ рддреАрди рдмрд┐рдВрджреБрдУрдВ рдХреА рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИред
const arr = [4, 6, -1, 3, 10, 4]; const max = Math.max(...arr); console.log(max);
5. рд╢реЗрд╖ рдХрдерди
рдмрд╛рдХреА рдСрдкрд░реЗрдЯрд░ рдЖрдкрдХреЛ рдлрд╝рдВрдХреНрд╢рди рдореЗрдВ рджрд┐рдП рдЧрдП рдХрд┐рд╕реА рднреА рддрд░реНрдХ рдХреЛ рдХрд┐рд╕реА рд╕рд░рдгреА рдореЗрдВ рдмрджрд▓рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред
function myFunc(...args) { console.log(args[0] + args[1]); } myFunc(1, 2, 3, 4);
6. рдРрд░реЗ рддрд░реАрдХреЗ
рд╕рд░рдгреА рд╡рд┐рдзрд┐рдпрд╛рдВ рдЕрдХреНрд╕рд░ рдбреЗрд╡рд▓рдкрд░ рдХреЛ рд╡рд┐рднрд┐рдиреНрди рдкреНрд░рдХрд╛рд░ рдХреЗ рдбреЗрдЯрд╛ рд░реВрдкрд╛рдВрддрд░рдг рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдЦреВрдмрд╕реВрд░рддреА рд╕реЗ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдЙрдкрдХрд░рдг рджреЗрддреА рд╣реИрдВред рдореИрдВ рдХрднреА-рдХрднреА StackOverflow рдкрд░ рд╕рд╡рд╛рд▓реЛрдВ рдХреЗ рдЬрд╡рд╛рдм рджреЗрддрд╛ рд╣реВрдВред рдЙрдирдореЗрдВ рд╕реЗ, рдЕрдХреНрд╕рд░ рдРрд╕реЗ рд╣реЛрддреЗ рд╣реИрдВ рдЬреЛ рд╡рд╕реНрддреБрдУрдВ рдХреЗ рд╕рд░рдгрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рдЙрди рдпрд╛ рдЕрдиреНрдп рддрд░реАрдХреЛрдВ рд╕реЗ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдкрд┐рдд рд╣реЛрддреЗ рд╣реИрдВред рдпрд╣ рдРрд╕реА рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдореЗрдВ рд╣реИ рдХрд┐ рд╕рд░рдгреА рд╡рд┐рдзрд┐рдпрд╛рдВ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдЙрдкрдпреЛрдЧреА рд╣реИрдВред
рдпрд╣рд╛рдВ рд╣рдо рдХрдИ рдРрд╕реЗ рддрд░реАрдХреЛрдВ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВрдЧреЗ, рдЬреЛ рдПрдХ рджреВрд╕рд░реЗ рдХреЗ рд╕рд╛рде рдЕрдкрдиреА рд╕рдорд╛рдирддрд╛ рдХреЗ рд╕рд┐рджреНрдзрд╛рдВрдд рджреНрд╡рд╛рд░рд╛ рдПрдХрдЬреБрдЯ рд╣реЛрдВрдЧреЗред рдпрд╣ рдзреНрдпрд╛рди рджрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рдпрд╣рд╛рдВ рдореИрдВ рдЖрдкрдХреЛ рд╕рд░рдгрд┐рдпреЛрдВ рдХреЗ рд╕рднреА рддрд░реАрдХреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдирд╣реАрдВ рдмрддрд╛рдКрдВрдЧрд╛ред рдЖрдк
рдПрдордбреАрдПрди рдкрд░ рдЙрдирдХреА рдкреВрд░реА рд╕реВрдЪреА рдкрд╛ рд╕рдХрддреЗ рд╣реИрдВ (рд╡реИрд╕реЗ, рдпрд╣ рдореЗрд░рд╛ рдкрд╕рдВрджреАрджрд╛ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╕рдВрджрд░реНрдн рд╣реИ)ред
тЦНMap (), рдлрд╝рд┐рд▓реНрдЯрд░ (), рдФрд░ рдХрдо () рддрд░реАрдХреЗ
map()
,
filter()
рдФрд░
reduce()
рд╕рд░рдгреА рд╡рд┐рдзрд┐рдпрд╛рдБ рдЖрдкрдХреЛ рд╕рд░рдгрд┐рдпреЛрдВ рдХреЛ рдмрджрд▓рдиреЗ рдпрд╛ рдХрд┐рд╕реА рдПрдХрд▓ рдорд╛рди (рдЬреЛ рдХрд┐ рдПрдХ рд╡рд╕реНрддреБ рд╣реЛ рд╕рдХрддреА рд╣реИ) рдХреЛ рдХрдо рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреА рд╣реИрдВред
map()
рд╡рд┐рдзрд┐ рдПрдХ рдирдИ рд╕рд░рдгреА рджреЗрддрд╛ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рд╕рдВрд╕рд╛рдзрд┐рдд рд╕рд░рдгреА рдХреЗ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдорд╛рди рд╣реЛрддреЗ рд╣реИрдВред рдЗрд╕ рдкрджреНрдзрддрд┐ рд╕реЗ рдкрд╛рд░рд┐рдд рдлрд╝рдВрдХреНрд╢рди рдореЗрдВ рд╡реЗ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХреИрд╕реЗ рд░реВрдкрд╛рдВрддрд░рд┐рдд рд╣реЛрдВрдЧреЗ, рдпрд╣ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред
const arr = [1, 2, 3, 4, 5, 6]; const mapped = arr.map(el => el + 20); console.log(mapped);
filter()
рд╡рд┐рдзрд┐ рддрддреНрд╡реЛрдВ рдХреА рдПрдХ рд╕рд░рдгреА рд▓реМрдЯрд╛рддрд╛ рд╣реИ, рдЬрд┐рди рдорд╛рдиреЛрдВ рдХреА рдЬрд╛рдБрдЪ рдЗрд╕ рд╡рд┐рдзрд┐ рдореЗрдВ рджреА рдЧрдИ рд╣реИ, рд╡рд╣
true
ред
const arr = [1, 2, 3, 4, 5, 6]; const filtered = arr.filter(el => el === 2 || el === 4); console.log(filtered);
reduce()
рд╡рд┐рдзрд┐ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рдорд╛рди рджреЗрддрд╛ рд╣реИ, рдЬреЛ рдХрд┐ рд╕рд░рдгреА рдХреЗ рд╕рднреА рддрддреНрд╡реЛрдВ рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рдиреЗ рдХрд╛ рдкрд░рд┐рдгрд╛рдо рд╣реИред
const arr = [1, 2, 3, 4, 5, 6]; const reduced = arr.reduce((total, current) => total + current); console.log(reduced);
тЦН рдореЗрдердб рдкрд╛рддреЗ рд╣реИрдВ (), findIndex () рдФрд░ indexOf ()
рд╕рд░рдгреА рд╡рд┐рдзрд┐рдпрд╛рдБ
find()
,
findIndex()
рдФрд░
indexOf()
рдПрдХ рджреВрд╕рд░реЗ рдХреЗ рд╕рд╛рде рднреНрд░рдорд┐рдд рдХрд░рдирд╛ рдЖрд╕рд╛рди рд╣реИред рдЗрдирдХреА рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЛ рд╕рдордЭрдиреЗ рдореЗрдВ рдЖрдкрдХреА рдорджрдж рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╕реНрдкрд╖реНрдЯреАрдХрд░рдг рд╣реИрдВред
find()
рд╡рд┐рдзрд┐ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдорд╛рдкрджрдВрдб рд╕реЗ рдореЗрд▓ рдЦрд╛рдиреЗ рд╡рд╛рд▓реЗ рд╕рд░рдгреА рдХрд╛ рдкрд╣рд▓рд╛ рддрддреНрд╡ рд▓реМрдЯрд╛рддреА рд╣реИред рдпрд╣ рд╡рд┐рдзрд┐, рдкрд╣рд▓реЗ рдЙрдкрдпреБрдХреНрдд рддрддреНрд╡ рдХреЛ рдЦреЛрдЬрдиреЗ, рд╕рд░рдгреА рдореЗрдВ рдЦреЛрдЬ рдЬрд╛рд░реА рдирд╣реАрдВ рд░рдЦрддреА рд╣реИред
const arr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]; const found = arr.find(el => el > 5); console.log(found);
рдХреГрдкрдпрд╛ рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рд╣рдорд╛рд░реЗ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, рджрд┐рдП рдЧрдП рдорд╛рдирджрдВрдб рд╕рд░рдгреА рдХреЗ рдЙрди рд╕рднреА рддрддреНрд╡реЛрдВ рдХреЗ рдЕрдиреБрд░реВрдк рд╣реИрдВ рдЬреЛ рд╕рдВрдЦреНрдпрд╛ 5 рдХрд╛ рдЕрдиреБрд╕рд░рдг рдХрд░рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдХреЗрд╡рд▓ рдкрд╣рд▓рд╛ рдЙрдкрдпреБрдХреНрдд рддрддреНрд╡ рд╡рд╛рдкрд╕ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдпрд╣ рд╡рд┐рдзрд┐ рдЙрди рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдореЗрдВ рдмрд╣реБрдд рдЙрдкрдпреЛрдЧреА рд╣реИ, рдЬрд┐рдирдореЗрдВ рд▓реВрдкреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдФрд░ рд╕рд░рдгрд┐рдпреЛрдВ рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдРрд╕реЗ рд▓реВрдкреЛрдВ рдХреЛ рдмрд╛рдзрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬрдм рд╡рд╛рдВрдЫрд┐рдд рддрддреНрд╡ рдХреЛ рд╕рд░рдгреА рдореЗрдВ рдкрд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ,
break
рд╕реНрдЯреЗрдЯрдореЗрдВрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдПред
findIndex()
рд╡рд┐рдзрд┐
find()
рд╕рдорд╛рди рд╣реИ, рд▓реЗрдХрд┐рди рд╕рд░рдгреА рдореЗрдВ рдкрд╣рд▓рд╛ рдЙрдкрдпреБрдХреНрдд рддрддреНрд╡ рд╡рд╛рдкрд╕ рдХрд░рдиреЗ рдХреЗ рдмрдЬрд╛рдп, рдпрд╣ рдЙрд╕ рддрддреНрд╡ рдХреЗ рд╕реВрдЪрдХрд╛рдВрдХ рдХреЛ рд▓реМрдЯрд╛рддрд╛ рд╣реИред рдЗрд╕ рдкрджреНрдзрддрд┐ рдХреЛ рдмреЗрд╣рддрд░ рдврдВрдЧ рд╕реЗ рд╕рдордЭрдиреЗ рдХреЗ рд▓рд┐рдП, рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЙрджрд╛рд╣рд░рдг рдкрд░ рдПрдХ рдирдЬрд╝рд░ рдбрд╛рд▓реЗрдВ, рдЬреЛ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдорд╛рдиреЛрдВ рдХреА рдПрдХ рд╕рд░рдгреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред
const arr = ['Nick', 'Frank', 'Joe', 'Frank']; const foundIndex = arr.findIndex(el => el === 'Frank'); console.log(foundIndex);
findIndex()
рд╡рд┐рдзрд┐
findIndex()
рд╡рд┐рдзрд┐
findIndex()
рд╡рд┐рдзрд┐ рдХреЗ рд╕рдорд╛рди рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдПрдХ рддрд░реНрдХ рдХреЗ рд░реВрдк рдореЗрдВ рдХрд╛рд░реНрдп рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рдореВрд▓реНрдп рдирд╣реАрдВред рд╡рд╛рдВрдЫрд┐рдд рд╕рд░рдгреА рддрддреНрд╡ рдХреА рдЦреЛрдЬ рдХрд░рддреЗ рд╕рдордп рдЬрдЯрд┐рд▓ рддрд░реНрдХ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реЛрдиреЗ рдкрд░ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
const arr = ['Nick', 'Frank', 'Joe', 'Frank']; const foundIndex = arr.indexOf('Frank'); console.log(foundIndex);
тЦН рдкреБрд╢ (), рдкреЙрдк (), рд╢рд┐рдлреНрдЯ (), рдФрд░ рдЕрдирд╢рд┐рдлреНрдЯ () рддрд░реАрдХреЗ
push()
,
pop()
,
shift()
рдФрд░
unshift()
рдХрд╛ рдЙрдкрдпреЛрдЧ рд╕рд░рдгрд┐рдпреЛрдВ рдореЗрдВ рдирдП рддрддреНрд╡реЛрдВ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдФрд░ рдЙрдирд╕реЗ рдкрд╣рд▓реЗ рд╕реЗ рдореМрдЬреВрдж рд╕рд░рдгрд┐рдпреЛрдВ рдореЗрдВ рдореМрдЬреВрдж рддрддреНрд╡реЛрдВ рдХреЛ рдирд┐рдХрд╛рд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдХрд╛рдо рд╢реБрд░реВ рдпрд╛ рд╕рд░рдгреА рдХреЗ рдЕрдВрдд рдореЗрдВ рд╕реНрдерд┐рдд рддрддреНрд╡реЛрдВ рдХреЗ рд╕рд╛рде рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
push()
рд╡рд┐рдзрд┐ рдЖрдкрдХреЛ рдХрд┐рд╕реА рд╕рд░рдгреА рдХреЗ рдЕрдВрдд рдореЗрдВ рддрддреНрд╡реЛрдВ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреА рд╣реИред рдпрд╣ рд╕рд░рдгреА рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдкреВрд░рд╛ рд╣реЛрдиреЗ рдкрд░, рд╕рд░рдгреА рдореЗрдВ рдЬреЛрдбрд╝реЗ рдЧрдП рддрддреНрд╡ рдХреЛ рд▓реМрдЯрд╛рддрд╛ рд╣реИред
let arr = [1, 2, 3, 4]; const pushed = arr.push(5); console.log(arr);
pop()
рд╡рд┐рдзрд┐ рд╕рд░рдгреА рд╕реЗ рдЕрдВрддрд┐рдо рддрддреНрд╡ рдирд┐рдХрд╛рд▓рддрд╛ рд╣реИред рдпрд╣ рд╕рд░рдгреА рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЗрд╕рд╕реЗ рд╣рдЯрд╛рдП рдЧрдП рддрддреНрд╡ рдХреЛ рд╡рд╛рдкрд╕ рдХрд░рддрд╛ рд╣реИред
let arr = [1, 2, 3, 4]; const popped = arr.pop(); console.log(arr);
shift()
рд╡рд┐рдзрд┐ рдкрд╣рд▓реЗ рддрддреНрд╡ рдХреЛ рд╕рд░рдгреА рд╕реЗ рд╣рдЯрд╛рддреА рд╣реИ рдФрд░ рдЗрд╕реЗ рд╡рд╛рдкрд╕ рдХрд░рддреА рд╣реИред рдпрд╣ рдЙрд╕ рд╕рд░рдгреА рдХреЛ рднреА рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рддрд╛ рд╣реИ рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП рдЗрд╕реЗ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред
let arr = [1, 2, 3, 4]; const shifted = arr.shift(); console.log(arr);
unshift()
рд╡рд┐рдзрд┐ рдХрд┐рд╕реА рд╕рд░рдгреА рдХреЗ рдЖрд░рдВрдн рдореЗрдВ рдПрдХ рдпрд╛ рдЕрдзрд┐рдХ рддрддреНрд╡ рдЬреЛрдбрд╝рддреА рд╣реИред рд╡рд╣, рдлрд┐рд░ рд╕реЗ, рд╕рд░рдгреА рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рддрд╛ рд╣реИред рдЙрд╕реА рд╕рдордп, рдпрд╣рд╛рдВ рдЪрд░реНрдЪрд╛ рдХреА рдЧрдИ рдЕрдиреНрдп рддреАрди рд╡рд┐рдзрд┐рдпреЛрдВ рдХреЗ рд╡рд┐рдкрд░реАрдд, рдпрд╣ рд╕рд░рдгреА рдХреА рдирдИ рд▓рдВрдмрд╛рдИ рд▓реМрдЯрд╛рддреА рд╣реИред
let arr = [1, 2, 3, 4]; const unshifted = arr.unshift(5, 6, 7); console.log(arr);
Methods рд╕реНрд▓рд╛рдЗрд╕ () рдФрд░ рдмреНрдпрд╛рд╣ () рд╡рд┐рдзрд┐рдпрд╛рдБ
рдЗрди рд╡рд┐рдзрд┐рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рд╕рд░рдгреА рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рдиреЗ рдпрд╛ рд╕рд░рдгреА рдХреЗ рдХреБрдЫ рд╣рд┐рд╕реНрд╕реЗ рдХреЛ рд╡рд╛рдкрд╕ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
splice()
рд╡рд┐рдзрд┐ рдореМрдЬреВрджрд╛ рддрддреНрд╡реЛрдВ рдХреЛ рд╣рдЯрд╛рдХрд░ рдпрд╛ рдЙрдиреНрд╣реЗрдВ рдЕрдиреНрдп рддрддреНрд╡реЛрдВ рдХреЗ рд╕рд╛рде рдмрджрд▓рдХрд░ рдПрдХ рд╕рд░рдгреА рдХреА рд╕рд╛рдордЧреНрд░реА рдХреЛ рдмрджрд▓ рджреЗрддреА рд╣реИред рд╡рд╣ рд╕рд░рдгреА рдореЗрдВ рдирдП рддрддреНрд╡реЛрдВ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реИред рдпрд╣ рд╡рд┐рдзрд┐ рд╕рд░рдгреА рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рддреА рд╣реИред
рдирд┐рдореНрди рдЙрджрд╛рд╣рд░рдг, рдпрджрд┐ рдЖрдк рдЗрд╕реЗ рд╕рд╛рдорд╛рдиреНрдп рднрд╛рд╖рд╛ рдореЗрдВ рд╡рд░реНрдгрд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдпрд╣ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ: рдЖрдкрдХреЛ рд╕рд░рдгреА рд╕реНрдерд┐рддрд┐
1
,
0
рддрддреНрд╡реЛрдВ рдХреЛ рдирд┐рдХрд╛рд▓рдиреЗ рдФрд░
b
рдпреБрдХреНрдд рддрддреНрд╡ рдЬреЛрдбрд╝рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
let arr = ['a', 'c', 'd', 'e']; arr.splice(1, 0, 'b')
slice()
рд╡рд┐рдзрд┐ рдЕрдкрдиреЗ рддрддреНрд╡реЛрдВ рд╕реЗ рдпреБрдХреНрдд рд╕рд░рдгреА рдХреА рдПрдХ рдЙрдерд▓реА рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рд▓реМрдЯрд╛рддреА рд╣реИ, рдЬреЛ рджреА рдЧрдИ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рд╕реНрдерд┐рддрд┐ рд╕реЗ рд╢реБрд░реВ рд╣реЛрддреА рд╣реИ рдФрд░ рджрд┐рдП рдЧрдП рдЕрдВрддрд┐рдо рд╕реНрдерд╛рди рд╕реЗ рдкрд╣рд▓реЗ рдХреА рд╕реНрдерд┐рддрд┐ рдХреЗ рд╕рд╛рде рд╕рдорд╛рдкреНрдд рд╣реЛрддреА рд╣реИред рдпрджрд┐, рдЗрд╕реЗ рдХреЙрд▓ рдХрд░рддреЗ рд╕рдордп, рдХреЗрд╡рд▓ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рд╕реНрдерд┐рддрд┐ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХреА рдЬрд╛рддреА рд╣реИ, рддреЛ рдпрд╣ рдЗрд╕ рд╕реНрдерд┐рддрд┐ рд╕реЗ рд╢реБрд░реВ рд╣реЛрдХрд░, рдкреВрд░реЗ рд╕рд░рдгреА рдХреЛ рд╡рд╛рдкрд╕ рдХрд░ рджреЗрдЧрд╛ред рдпрд╣ рд╡рд┐рдзрд┐ рд╕рд░рдгреА рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдирд╣реАрдВ рдХрд░рддреА рд╣реИред рдпрд╣ рдХреЗрд╡рд▓ рдЗрд╕ рд╕рд░рдгреА рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рджреЗрддрд╛ рд╣реИ рдЬрд┐рд╕реЗ рд╡рд░реНрдгрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред
let arr = ['a', 'b', 'c', 'd', 'e']; const sliced = arr.slice(2, 4); console.log(sliced);
тЦН рд╡рд┐рдзрд┐ рдХреНрд░рдордмрджреНрдз ()
sort()
рд╡рд┐рдзрд┐ рдЗрд╕рдХреЗ рджреНрд╡рд╛рд░рд╛ рдкрд╛рд░рд┐рдд рдлрд╝рдВрдХреНрд╢рди рджреНрд╡рд╛рд░рд╛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рд╢рд░реНрдд рдХреЗ рдЕрдиреБрд╕рд╛рд░ рд╕рд░рдгреА рдХреЛ рд╕реЙрд░реНрдЯ рдХрд░рддреА рд╣реИред рдпрд╣ рдлрд╝рдВрдХреНрд╢рди рд╕рд░рдгреА рдХреЗ рджреЛ рддрддреНрд╡реЛрдВ рдХреЛ рд▓реЗрддрд╛ рд╣реИ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЙрдиреНрд╣реЗрдВ рдкреИрд░рд╛рдореАрдЯрд░
a
рдФрд░
b
рд░реВрдк рдореЗрдВ рджрд░реНрд╢рд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ), рдФрд░, рдЙрдирдХреА рддреБрд▓рдирд╛ рдХрд░рддреЗ рд╣реБрдП, рд░рд┐рдЯрд░реНрди, рдЕрдЧрд░ рддрддреНрд╡реЛрдВ рдХреЛ рдЖрдкрд╕ рдореЗрдВ рдЬреЛрдбрд╝рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ, рддреЛ 0 рд╕реЗ рдХрдо рдЗрдВрдбреЗрдХреНрд╕ рдореЗрдВ рдбрд╛рд▓рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ
b
рдПрдХ рдЛрдгрд╛рддреНрдордХ рд╕рдВрдЦреНрдпрд╛ рд╣реИ, рдФрд░ рдпрджрд┐
b
рдХреЛ рдзрдирд╛рддреНрдордХ рд╕рдВрдЦреНрдпрд╛ рд╕реЗ рдХрдо рд╕реВрдЪрдХрд╛рдВрдХ рдореЗрдВ рдбрд╛рд▓рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
let arr = [1, 7, 3, -1, 5, 7, 2]; const sorter = (firstEl, secondEl) => firstEl - secondEl; arr.sort(sorter); console.log(arr);
рдпрджрд┐ рдЖрдк рдкрд╣рд▓реА рдмрд╛рд░ рдЗрди рд╡рд┐рдзрд┐рдпреЛрдВ рдХреЛ рдпрд╛рдж рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рддреЛ рдЙрдиреНрд╣реЗрдВ рдпрд╛рдж рд░рдЦрдирд╛ рдареАрдХ рд╣реИред рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдмрд╛рдд рдпрд╣ рд╣реИ рдХрд┐ рдЕрдм рдЖрдк рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рдорд╛рдирдХ рд╕рд░рдгреА рд╡рд┐рдзрд┐рдпрд╛рдВ рдХреНрдпрд╛ рдХрд░ рд╕рдХрддреА рд╣реИрдВред рдЗрд╕рд▓рд┐рдП, рдпрджрд┐ рдЖрдк рдХрд┐рд╕реА рд╡рд┐рд╢реЗрд╖ рдкрджреНрдзрддрд┐ рдХреА рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЛ рддреБрд░рдВрдд рдпрд╛рдж рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬреЛ рднреА рдЬрд╛рдирддреЗ рд╣реИрдВ, рд╡рд╣ рдЖрдкрдХреЛ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдореЗрдВ рдЖрд╡рд╢реНрдпрдХ рд░реВрдк рд╕реЗ рддреЗрдЬрд╝реА рд╕реЗ рдЦреЛрдЬрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдЧрд╛ред
7. рдЬрдирдХ
рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЬрдирд░реЗрдЯрд░ рдПрдХ рддрд╛рд░рд╛рдВрдХрди рд╡рд░реНрдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдШреЛрд╖рд┐рдд рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВред рд╡реЗ рдЖрдкрдХреЛ рдпрд╣ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреЗ рд╣реИрдВ рдХрд┐ рдЕрдЧрд▓реА рдмрд╛рд░
next()
рдкрджреНрдзрддрд┐ рдХреЛ рдЕрдЧрд▓реА рдмрд╛рд░ рдХрд┐рд╕ рдореВрд▓реНрдп рдкрд░ рд▓реМрдЯрд╛рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдЬрдирд░реЗрдЯрд░ рдХреЛ рд╕реАрдорд┐рдд рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рдорд╛рди рд▓реМрдЯрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдпрджрд┐ рдЗрд╕ рддрд░рд╣ рдХреЗ рдЬрдирд░реЗрдЯрд░ рдиреЗ рдЗрд╕ рддрд░рд╣ рдХреЗ рд╕рднреА рдореВрд▓реНрдпреЛрдВ рдХреЛ рд╡рд╛рдкрд╕ рдХрд░ рджрд┐рдпрд╛, рддреЛ рдЕрдЧрд▓реЗ рдХреЙрд▓
next()
undefined
рд╡рд╛рдкрд╕ рдЖ рдЬрд╛рдПрдЧрд╛ред рдЖрдк рд╕рд╛рдЗрдХрд┐рд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЕрд╕реАрдорд┐рдд рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рдореВрд▓реНрдпреЛрдВ рдХреЛ рд╡рд╛рдкрд╕ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд┐рдП рдЧрдП рдЬрдирд░реЗрдЯрд░ рднреА рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВред
рдпрд╣рд╛рдБ рдПрдХ рдЬрдирд░реЗрдЯрд░ рд╣реИ рдЬрд┐рд╕реЗ рд╕реАрдорд┐рдд рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рдорд╛рди рд▓реМрдЯрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ:
function* greeter() { yield 'Hi'; yield 'How are you?'; yield 'Bye'; } const greet = greeter(); console.log(greet.next().value);
рдФрд░ рдпрд╣рд╛рдБ рдПрдХ рдЬрдирд░реЗрдЯрд░ рд╣реИ рдЬрд┐рд╕реЗ рд▓реВрдк рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЕрдирдВрдд рдорд╛рдиреЛрдВ рдХреЛ рд╡рд╛рдкрд╕ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред
function* idCreator() { let i = 0; while (true) yield i++; } const ids = idCreator(); console.log(ids.next().value);
8. рдореВрд▓реНрдпреЛрдВ рдХреА рд╕рдорд╛рдирддрд╛ (==) рдФрд░ рд╕рдЦреНрдд рд╕рдорд╛рдирддрд╛ (===) рдХреА рдЬрд╛рдБрдЪ рдХреЗ рд▓рд┐рдП рдСрдкрд░реЗрдЯрд░
рдХрд┐рд╕реА рднреА JS рдбреЗрд╡рд▓рдкрд░ рдХреЗ рд▓рд┐рдП рд╕рдорд╛рдирддрд╛ (
==
) рдФрд░ рд╕рдЦреНрдд рд╕рдорд╛рдирддрд╛ (
===
) рдСрдкрд░реЗрдЯрд░реЛрдВ рдХреЗ рдмреАрдЪ рдЕрдВрддрд░ рдХреЛ рд╕рдордЭрдирд╛ рдмреЗрд╣рдж рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИред рддрдереНрдп рдпрд╣ рд╣реИ рдХрд┐ рд╕рдВрдЪрд╛рд▓рдХ
==
, рдореВрд▓реНрдпреЛрдВ рдХреА рддреБрд▓рдирд╛ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ, рдЙрдирдХреЗ рдкреНрд░рдХрд╛рд░реЛрдВ рдХрд╛ рд░реВрдкрд╛рдВрддрд░рдг рдХрд░рддрд╛ рд╣реИ (рдЬреЛ рдкрд╣рд▓реА рдирдЬрд╝рд░ рдореЗрдВ рдЕрдЬреАрдм рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдкрд░рд┐рдгрд╛рдо), рдФрд░ рдСрдкрд░реЗрдЯрд░
===
рдкреНрд░рдХрд╛рд░ рдХрд╛ рд░реВрдкрд╛рдВрддрд░рдг рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред
console.log(0 == '0');
9. рд╡рд╕реНрддреБрдУрдВ рдХреА рддреБрд▓рдирд╛
рдореБрдЭреЗ рдХрднреА-рдХрднреА рдпрд╣ рджреЗрдЦрдирд╛ рдкрдбрд╝рддрд╛ рд╣реИ рдХрд┐ рдЬреЗрдПрд╕ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдореЗрдВ рдирдП рд▓реЛрдЧ рдПрдХ рд╣реА рдЧрд▓рддреА рдХреИрд╕реЗ рдХрд░рддреЗ рд╣реИрдВред рд╡реЗ рд╡рд╕реНрддреБрдУрдВ рдХреА рд╕реАрдзреЗ рддреБрд▓рдирд╛ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддреЗ рд╣реИрдВред рд╡реЗ рдЪрд░ рдЬрд┐рдирдореЗрдВ рдСрдмреНрдЬреЗрдХреНрдЯ "рд╕рдВрдЧреНрд░рд╣реАрдд" рд╣реЛрддреЗ рд╣реИрдВ, рдЙрдирдХреЗ рд╕рдВрджрд░реНрдн рд╣реЛрддреЗ рд╣реИрдВ, рди рдХрд┐ рдпреЗ рдСрдмреНрдЬреЗрдХреНрдЯ рд╕реНрд╡рдпрдВред
рдЗрд╕рд▓рд┐рдП, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, рдСрдмреНрдЬреЗрдХреНрдЯ рд╕рдорд╛рди рджрд┐рдЦрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЬрдм рд╕реАрдзреЗ рддреБрд▓рдирд╛ рдХреА рдЬрд╛рддреА рд╣реИ, рддреЛ рд╣рдореЗрдВ рд╕реВрдЪрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдХрд┐ рдСрдмреНрдЬреЗрдХреНрдЯ рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рдкреНрд░рддреНрдпреЗрдХ рдЪрд░ рдореЗрдВ рдЕрдкрдиреА рд╕реНрд╡рдпрдВ рдХреА рд╡рд╕реНрддреБ рдХрд╛ рд▓рд┐рдВрдХ рд╣реЛрддрд╛ рд╣реИ рдФрд░ рдпреЗ рд▓рд┐рдВрдХ рдПрдХ-рджреВрд╕рд░реЗ рдХреЗ рдмрд░рд╛рдмрд░ рдирд╣реАрдВ рд╣реЛрддреЗ рд╣реИрдВред
const joe1 = { name: 'Joe' }; const joe2 = { name: 'Joe' }; console.log(joe1 === joe2);
рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, рдпрд╣ рдкрддрд╛ рдЪрд▓рддрд╛ рд╣реИ рдХрд┐
joe1
joe2
рдмрд░рд╛рдмрд░ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рджреЛрдиреЛрдВ рдЪрд░ рдПрдХ рд╣реА рд╡рд╕реНрддреБ рдХреЗ рд╕рдВрджрд░реНрдн рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рддреЗ рд╣реИрдВред
const joe1 = { name: 'Joe' }; const joe2 = joe1; console.log(joe1 === joe2);
рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╡рд╕реНрддреБ рддреБрд▓рдирд╛ рдХреЗ рддрд░реАрдХреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ JSON-string рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рдЙрдирдХрд╛ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рд░реВрдкрд╛рдВрддрд░рдг рд╣реИред рд╕рдЪ рд╣реИ, рдЗрд╕ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдореЗрдВ рдПрдХ рд╕рдорд╕реНрдпрд╛ рд╣реИ, рдЬреЛ рдпрд╣ рд╣реИ рдХрд┐ рд╡рд╕реНрддреБ рдХреЗ рдкреНрд░рд╛рдкреНрдд рд╕реНрдЯреНрд░рд┐рдВрдЧ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдореЗрдВ рдЗрд╕рдХреЗ рдЧреБрдгреЛрдВ рдХреЗ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рдХреНрд░рдо рдХреА рдЧрд╛рд░рдВрдЯреА рдирд╣реАрдВ рд╣реИред рд╡рд╕реНрддреБрдУрдВ рдХреА рддреБрд▓рдирд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрдзрд┐рдХ рд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рддрд░реАрдХрд╛ рд╡рд╕реНрддреБрдУрдВ рдХреА рдЧрд╣рд░реА рддреБрд▓рдирд╛ рдХреЗ рд▓рд┐рдП рдЙрдкрдХрд░рдгреЛрдВ рд╕реЗ рдпреБрдХреНрдд рдПрдХ рд╡рд┐рд╢реЗрд╖ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣реИ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрд╣
рд▓реЗрд╢ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХрд╛
isEqual () рддрд░реАрдХрд╛ рд╣реИ)ред
рд╡рд╕реНрддреБрдУрдВ рдХреА рддреБрд▓рдирд╛ рдХрд░рдиреЗ рдХреА рдкреЗрдЪреАрджрдЧрд┐рдпреЛрдВ рдХреЛ рдмреЗрд╣рддрд░ рдврдВрдЧ рд╕реЗ рд╕рдордЭрдиреЗ рдФрд░ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдЪрд░ рдореЗрдВ рдПрдХ рд╣реА рд╡рд╕реНрддреБрдУрдВ рдХреЗ рд▓рд┐рдП рд▓рд┐рдВрдХ рд▓рд┐рдЦрдиреЗ рдХреЗ рд╕рдВрднрд╛рд╡рд┐рдд рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреЛ рд╕рдордЭрдиреЗ рдХреЗ рд▓рд┐рдП, рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ рдЪрд░реНрдЪрд╛ рдХреА рдЧрдИ рдкрд╣рд▓реА рдЬреЗрдПрд╕ рдЕрд╡рдзрд╛рд░рдгрд╛ рдкрд░ рдПрдХ рдирдЬрд╝рд░ рдбрд╛рд▓реЗрдВред
10. рдХреЙрд▓рдмреИрдХ рдлрд╝рдВрдХреНрд╢рдВрд╕
рдХреЙрд▓рдмреИрдХ рдлрд╝рдВрдХреНрд╢рдВрд╕ рдПрдХ рдмрд╣реБрдд рд╣реА рд╕рд░рд▓ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЙрдиреНрд╕реЗрдкреНрдЯ рд╣реИ рдЬрд┐рд╕рдХреЗ рд╕рд╛рде рдХрднреА-рдХрднреА рдиреНрдпреВрдмреЙрдмреНрд╕ рдХреЛ рдХрдард┐рдирд╛рдИ рд╣реЛрддреА рд╣реИред рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЙрджрд╛рд╣рд░рдг рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВред рдпрд╣рд╛рдБ, рдХреЙрд▓рдмреИрдХ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд░реВрдк рдореЗрдВ
myFunc()
рдХреЛ
myFunc()
рдлрд╝рдВрдХреНрд╢рди (рдмрд╕ рдЗрд╕реА рддрд░рд╣ - рдмрд┐рдирд╛ рдХреЛрд╖реНрдардХ рдХреЗ) рдкрд╛рд╕ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрд╣ рдлрд╝рдВрдХреНрд╢рди рдПрдХ рдЯрд╛рдЗрдорд░ рд╕реЗрдЯ рдХрд░рддрд╛ рд╣реИ, рдЬрд┐рд╕рдХреЗ рдмрд╛рдж
myFunc()
рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЛ
myFunc()
рдХреЛ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬреЛ рдХрдВрд╕реЛрд▓ рдореЗрдВ рдкреНрд░рджрд░реНрд╢рд┐рдд рд╣реЛрддрд╛ рд╣реИред
function myFunc(text, callback) { setTimeout(function() { callback(text); }, 2000); } myFunc('Hello world!', console.log);
11. рд╡рд╛рджрд╛ рдХрд░рддрд╛ рд╣реИ
рдЬрдм рдЖрдк рдХреЙрд▓рдмреИрдХ рдлрд╝рдВрдХреНрд╢рдВрд╕ рдореЗрдВ рдорд╣рд╛рд░рдд рд╣рд╛рд╕рд┐рд▓ рдХрд░ рд▓реЗрддреЗ рд╣реИрдВ рдФрд░ рд╣рд░ рдЬрдЧрд╣ рдЙрдирдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░ рджреЗрддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рдЬрд▓реНрдж рд╣реА рдЦреБрдж рдХреЛ рддрдерд╛рдХрдерд┐рдд "рдХреЙрд▓рдмреИрдХ рдирд░рдХ" рдореЗрдВ рдкрд╛рдПрдВрдЧреЗред рдпрджрд┐ рдЖрдк рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╡рд╣рд╛рдБ рд╣реИрдВ - рд╡рд╛рджреЛрдВ рдкрд░ рдПрдХ рдирдЬрд╝рд░ рдбрд╛рд▓реЗрдВред рдПрд╕рд┐рдВрдХреНрд░реЛрдирд╕ рдХреЛрдб рдХреЛ рдПрдХ рд╡рд╛рджреЗ рдореЗрдВ рд▓рдкреЗрдЯрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдФрд░, рдЗрд╕рдХреЗ рд╕рдлрд▓ рдирд┐рд╖реНрдкрд╛рджрди рдХреЗ рдмрд╛рдж, рд╕рд┐рд╕реНрдЯрдо рдХреЛ рд╡рд╛рджреЗ рдХреЗ рд╕рдлрд▓ рд╕рдорд╛рдзрд╛рди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЙрдЪрд┐рдд рд╡рд┐рдзрд┐ рдХреЛ рдХреЙрд▓ рдХрд░рдХреЗ рдмрддрд╛рдПрдВ, рдФрд░ рдЕрдЧрд░ рдХреБрдЫ рдЧрд▓рдд рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ - рдЗрд╕рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рддрд░реАрдХреЗ рдХреЛ рдХреЙрд▓ рдХрд░реЗрдВ рдФрд░ рд╡рд╛рджреЗ рдХреЛ рдЕрд╕реНрд╡реАрдХрд╛рд░ рдХрд░реЗрдВред рд╡рд╛рджреЗ рджреНрд╡рд╛рд░рд╛ рд╡рд╛рдкрд╕ рдХрд┐рдП рдЧрдП рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП,
then()
рдкрджреНрдзрддрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ, рдФрд░ рддреНрд░реБрдЯрд┐ рд╕реЗ рдирд┐рдкрдЯрдиреЗ рдХреЗ рд▓рд┐рдП,
catch()
рд╡рд┐рдзрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред
const myPromise = new Promise(function(res, rej) { setTimeout(function(){ if (Math.random() < 0.9) { return res('Hooray!'); } return rej('Oh no!'); }, 1000); }); myPromise .then(function(data) { console.log('Success: ' + data); }) .catch(function(err) { console.log('Error: ' + err); });
12. async / рдирд┐рд░реНрдорд╛рдг рдХрд╛ рдЗрдВрддрдЬрд╛рд░ рд╣реИ
рд╡рд╛рджреЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рддрдм, рд╕рдВрднрд╡рддрдГ, рдЖрдк рдХреБрдЫ рдФрд░ рдЪрд╛рд╣рддреЗ рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, async / рдкреНрд░рддреАрдХреНрд╖рд╛ рдирд┐рд░реНрдорд╛рдг рдореЗрдВ рдорд╣рд╛рд░рдд рд╣рд╛рд╕рд┐рд▓ рдХрд░реЗрдВред рдпрд╣ рд╡рд╛рджреЛрдВ рдХреЗ рд▓рд┐рдП рд╡рд╛рдХреНрдпрдЧрдд рдЪреАрдиреА рд╣реИред рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, рд╣рдо рдПрд╕рд┐рдВрдХреНрд░реЛрдирд╕
async
, рдПрдХ рдПрд╕рд┐рдВрдХреНрд░реЛрдирд╕ рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдмрдирд╛рддреЗ рд╣реИрдВ, рдФрд░ рдЗрд╕рдореЗрдВ,
await
рдХреАрд╡рд░реНрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП, рд╣рдо рдЧреНрд░реАрдЯрд░
greeter
рд▓рд┐рдП рдкреНрд░рддреАрдХреНрд╖рд╛ рдХреЛ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдХрд░рддреЗ рд╣реИрдВред
const greeter = new Promise((res, rej) => { setTimeout(() => res('Hello world!'), 2000); }) async function myFunc() { const greeting = await greeter; console.log(greeting); } myFunc();
рдкрд░рд┐рдгрд╛рдо
рдпрджрд┐ рд╣рдо рдпрд╣рд╛рдВ рдЬрд┐рд╕ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░рддреЗ рд╣реИрдВ, рд╡рд╣ рдкрд╣рд▓реЗ рдЖрдкрдХреЗ рд▓рд┐рдП рдЕрдкрд░рд┐рдЪрд┐рдд рдерд╛, рддреЛ рдЖрдк рдЗрд╕ рд▓реЗрдЦ рдХреЛ рдкрдврд╝рдХрд░ рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ, рдХрдо рд╕реЗ рдХрдо, рдЕрдкрдиреЗ рдЖрдк рд╕реЗ рдКрдкрд░ рд╣реЛ рдЧрдП рд╣реИрдВред рдпрджрд┐ рдЖрдкрдХреЛ рдпрд╣рд╛рдВ рдХреБрдЫ рдирдпрд╛ рдирд╣реАрдВ рдорд┐рд▓рд╛ рд╣реИ, рддреЛ рдореИрдВ рдЖрд╢рд╛ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдХрд┐ рдЗрд╕ рд╕рд╛рдордЧреНрд░реА рдиреЗ рдЖрдкрдХреЛ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рдЕрдкрдиреЗ рдЬреНрдЮрд╛рди рдХрд╛ рдЕрднреНрдпрд╛рд╕ рдХрд░рдиреЗ рдФрд░ рдордЬрдмреВрдд рдХрд░рдиреЗ рдХрд╛ рдЕрд╡рд╕рд░ рджрд┐рдпрд╛ред
рдкреНрд░рд┐рдп рдкрд╛рдардХреЛрдВ! рдЖрдк рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ рдФрд░ рдХреМрди рд╕реА рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЕрд╡рдзрд╛рд░рдгрд╛рдПрдБ рдЬреЛрдбрд╝реЗрдВрдЧреЗ?
