{"id":1857,"date":"2021-05-24T16:45:02","date_gmt":"2021-05-24T16:45:02","guid":{"rendered":"https:\/\/lvboard.infostore.in.ua\/?p=1857"},"modified":"2021-05-24T17:00:57","modified_gmt":"2021-05-24T17:00:57","slug":"70-%d0%b2%d0%be%d0%bf%d1%80%d0%be%d1%81%d0%be%d0%b2-%d0%bf%d0%be-javascript-%d0%b4%d0%bb%d1%8f-%d0%bf%d0%be%d0%b4%d0%b3%d0%be%d1%82%d0%be%d0%b2%d0%ba%d0%b8-%d0%ba-%d1%81%d0%be%d0%b1%d0%b5%d1%81%d0%b5","status":"publish","type":"post","link":"https:\/\/lvboard.infostore.in.ua\/?p=1857","title":{"rendered":"70 \u0432\u043e\u043f\u0440\u043e\u0441\u043e\u0432 \u043f\u043e JavaScript \u0434\u043b\u044f \u043f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u043a\u0438 \u043a \u0441\u043e\u0431\u0435\u0441\u0435\u0434\u043e\u0432\u0430\u043d\u0438\u044e"},"content":{"rendered":"\n<p>\u0412\u043e\u043f\u0440\u043e\u0441\u044b:<\/p>\n\n\n\n<p><br>1. \u0412 \u0447\u0435\u043c \u0440\u0430\u0437\u043d\u0438\u0446\u0430 \u043c\u0435\u0436\u0434\u0443 null \u0438 undefined?<\/p>\n\n\n\n<!--more-->\n\n\n\n<p>2. \u0414\u043b\u044f \u0447\u0435\u0433\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440 \u00ab&amp;&amp;\u00bb?<br>3. \u0414\u043b\u044f \u0447\u0435\u0433\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440 \u00ab||\u00bb?<br>4. \u042f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043b\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u0443\u043d\u0430\u0440\u043d\u043e\u0433\u043e \u043f\u043b\u044e\u0441\u0430 (\u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440 \u00ab+\u00bb) \u0441\u0430\u043c\u044b\u043c \u0431\u044b\u0441\u0442\u0440\u044b\u043c \u0441\u043f\u043e\u0441\u043e\u0431\u043e\u043c \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u0441\u0442\u0440\u043e\u043a\u0438 \u0432 \u0447\u0438\u0441\u043b\u043e?<br>5. \u0427\u0442\u043e \u0442\u0430\u043a\u043e\u0435 DOM?<br>6. \u0427\u0442\u043e \u0442\u0430\u043a\u043e\u0435 \u0440\u0430\u0441\u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0435\u043d\u0438\u0435 \u0441\u043e\u0431\u044b\u0442\u0438\u044f (Event Propogation)?<br>7. \u0427\u0442\u043e \u0442\u0430\u043a\u043e\u0435 \u0432\u0441\u043f\u043b\u044b\u0442\u0438\u0435 \u0441\u043e\u0431\u044b\u0442\u0438\u044f (Event Bubbling)?<br>8. \u0427\u0442\u043e \u0442\u0430\u043a\u043e\u0435 \u043f\u043e\u0433\u0440\u0443\u0436\u0435\u043d\u0438\u0435 \u0441\u043e\u0431\u044b\u0442\u0438\u044f (Event Capturing)?<br>9. \u0412 \u0447\u0435\u043c \u0440\u0430\u0437\u043d\u0438\u0446\u0430 \u043c\u0435\u0436\u0434\u0443 \u043c\u0435\u0442\u043e\u0434\u0430\u043c\u0438 event.preventDefault() \u0438 event.stopPropagation()?<br>10. \u041a\u0430\u043a \u0443\u0437\u043d\u0430\u0442\u044c \u043e\u0431 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0438 \u043c\u0435\u0442\u043e\u0434\u0430 event.preventDefault()?<br>11. \u041f\u043e\u0447\u0435\u043c\u0443 obj.someprop.x \u043f\u0440\u0438\u0432\u043e\u0434\u0438\u0442 \u043a \u043e\u0448\u0438\u0431\u043a\u0435?<br>12. \u0427\u0442\u043e \u0442\u0430\u043a\u043e\u0435 \u0446\u0435\u043b\u044c \u0441\u043e\u0431\u044b\u0442\u0438\u044f \u0438\u043b\u0438 \u0446\u0435\u043b\u0435\u0432\u043e\u0439 \u044d\u043b\u0435\u043c\u0435\u043d\u0442 (event.target)?<br>13. \u0427\u0442\u043e \u0442\u0430\u043a\u043e\u0435 \u0442\u0435\u043a\u0443\u0449\u0430\u044f \u0446\u0435\u043b\u044c \u0441\u043e\u0431\u044b\u0442\u0438\u044f (event.currentTarget)?<br>14. \u0412 \u0447\u0435\u043c \u0440\u0430\u0437\u043d\u0438\u0446\u0430 \u043c\u0435\u0436\u0434\u0443 \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440\u0430\u043c\u0438 \u00ab==\u00bb \u0438 \u00ab===\u00bb?<br>15. \u041f\u043e\u0447\u0435\u043c\u0443 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u043e\u043c \u0441\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u044f \u0434\u0432\u0443\u0445 \u043f\u043e\u0445\u043e\u0436\u0438\u0445 \u043e\u0431\u044a\u0435\u043a\u0442\u043e\u0432 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f false?<br>16. \u0414\u043b\u044f \u0447\u0435\u0433\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440 \u00ab!!\u00bb?<br>17. \u041a\u0430\u043a \u0437\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u0439 \u0432 \u043e\u0434\u043d\u0443 \u0441\u0442\u0440\u043e\u043a\u0443?<br>18. \u0427\u0442\u043e \u0442\u0430\u043a\u043e\u0435 \u043f\u043e\u0434\u043d\u044f\u0442\u0438\u0435 (Hoisting)?<br>19. \u0427\u0442\u043e \u0442\u0430\u043a\u043e\u0435 \u043e\u0431\u043b\u0430\u0441\u0442\u044c \u0432\u0438\u0434\u0438\u043c\u043e\u0441\u0442\u0438 (Scope)?<br>20. \u0427\u0442\u043e \u0442\u0430\u043a\u043e\u0435 \u0437\u0430\u043c\u044b\u043a\u0430\u043d\u0438\u0435 (Closures)?<br>21. \u041a\u0430\u043a\u0438\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u0432 JS \u044f\u0432\u043b\u044f\u044e\u0442\u0441\u044f \u043b\u043e\u0436\u043d\u044b\u043c\u0438?<br>22. \u041a\u0430\u043a \u043f\u0440\u043e\u0432\u0435\u0440\u0438\u0442\u044c, \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043b\u0438 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u043b\u043e\u0436\u043d\u044b\u043c?<br>23. \u0414\u043b\u044f \u0447\u0435\u0433\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0434\u0438\u0440\u0435\u043a\u0442\u0438\u0432\u0430 \u00abuse strict\u00bb?<br>24. \u041a\u0430\u043a\u043e\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0438\u043c\u0435\u0435\u0442 this?<br>25. \u0427\u0442\u043e \u0442\u0430\u043a\u043e\u0435 \u043f\u0440\u043e\u0442\u043e\u0442\u0438\u043f \u043e\u0431\u044a\u0435\u043a\u0442\u0430?<br>26. \u0427\u0442\u043e \u0442\u0430\u043a\u043e\u0435 IIFE?<br>27. \u0414\u043b\u044f \u0447\u0435\u0433\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u043c\u0435\u0442\u043e\u0434 Function.prototype.apply?<br>28. \u0414\u043b\u044f \u0447\u0435\u0433\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u043c\u0435\u0442\u043e\u0434 Function.prototype.call?<br>29. \u0412 \u0447\u0435\u043c \u0440\u0430\u0437\u043d\u0438\u0446\u0430 \u043c\u0435\u0436\u0434\u0443 \u043c\u0435\u0442\u043e\u0434\u0430\u043c\u0438 call \u0438 apply?<br>30. \u0414\u043b\u044f \u0447\u0435\u0433\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u043c\u0435\u0442\u043e\u0434 Function.prototype.bind?<br>31. \u0427\u0442\u043e \u0442\u0430\u043a\u043e\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u043e\u0435 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0438 \u043a\u0430\u043a\u0438\u0435 \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e\u0441\u0442\u0438 JS \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0442 \u0433\u043e\u0432\u043e\u0440\u0438\u0442\u044c \u043e \u043d\u0435\u043c \u043a\u0430\u043a \u043e \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u043e\u043c \u044f\u0437\u044b\u043a\u0435 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f?<br>32. \u0427\u0442\u043e \u0442\u0430\u043a\u043e\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0432\u044b\u0441\u0448\u0435\u0433\u043e \u043f\u043e\u0440\u044f\u0434\u043a\u0430 (Higher Order Functions)?<br>33. \u041f\u043e\u0447\u0435\u043c\u0443 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0432 JS \u043d\u0430\u0437\u044b\u0432\u0430\u044e\u0442 \u043e\u0431\u044a\u0435\u043a\u0442\u0430\u043c\u0438 \u043f\u0435\u0440\u0432\u043e\u0433\u043e \u043a\u043b\u0430\u0441\u0441\u0430 (First-class Objects)?<br>34. \u041a\u0430\u043a \u0431\u044b \u0412\u044b \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043b\u0438 \u043c\u0435\u0442\u043e\u0434 Array.prototype.map?<br>35. \u041a\u0430\u043a \u0431\u044b \u0412\u044b \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043b\u0438 \u043c\u0435\u0442\u043e\u0434 Array.prototype.filter?<br>36. \u041a\u0430\u043a \u0431\u044b \u0412\u044b \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043b\u0438 \u043c\u0435\u0442\u043e\u0434 Array.prototype.reduce?<br>37. \u0427\u0442\u043e \u0442\u0430\u043a\u043e\u0435 \u043e\u0431\u044a\u0435\u043a\u0442 arguments?<br>38. \u041a\u0430\u043a \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u043e\u0431\u044a\u0435\u043a\u0442, \u043d\u0435 \u0438\u043c\u0435\u044e\u0449\u0438\u0439 \u043f\u0440\u043e\u0442\u043e\u0442\u0438\u043f\u0430?<br>39. \u041f\u043e\u0447\u0435\u043c\u0443 \u0432 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u043d\u043e\u043c \u043a\u043e\u0434\u0435 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0430\u044f b \u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u0441\u044f \u0433\u043b\u043e\u0431\u0430\u043b\u044c\u043d\u043e\u0439 \u043f\u0440\u0438 \u0432\u044b\u0437\u043e\u0432\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438?<br>40. \u0427\u0442\u043e \u0442\u0430\u043a\u043e\u0435 ECMAScript?<br>41. \u0427\u0442\u043e \u043d\u043e\u0432\u043e\u0433\u043e \u043f\u0440\u0438\u0432\u043d\u0435\u0441 \u0432 JS \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442 ES6 \u0438\u043b\u0438 ECMAScript2015?<br>42. \u0412 \u0447\u0435\u043c \u0440\u0430\u0437\u043d\u0438\u0446\u0430 \u043c\u0435\u0436\u0434\u0443 \u043a\u043b\u044e\u0447\u0435\u0432\u044b\u043c\u0438 \u0441\u043b\u043e\u0432\u0430\u043c\u0438 \u00abvar\u00bb, \u00ablet\u00bb \u0438 \u00abconst\u00bb?<br>43. \u0427\u0442\u043e \u0442\u0430\u043a\u043e\u0435 \u0441\u0442\u0440\u0435\u043b\u043e\u0447\u043d\u044b\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 (Arrow Functions)?<br>44. \u0427\u0442\u043e \u0442\u0430\u043a\u043e\u0435 \u043a\u043b\u0430\u0441\u0441\u044b (Classes)?<br>45. \u0427\u0442\u043e \u0442\u0430\u043a\u043e\u0435 \u0448\u0430\u0431\u043b\u043e\u043d\u043d\u044b\u0435 \u043b\u0438\u0442\u0435\u0440\u0430\u043b\u044b (Template Literals)?<br>46. \u0427\u0442\u043e \u0442\u0430\u043a\u043e\u0435 \u0434\u0435\u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0438\u0437\u0430\u0446\u0438\u044f \u043e\u0431\u044a\u0435\u043a\u0442\u0430 (Object Destructuring)?<br>47. \u0427\u0442\u043e \u0442\u0430\u043a\u043e\u0435 \u043c\u043e\u0434\u0443\u043b\u0438 (Modules)?<br>48. \u0427\u0442\u043e \u0442\u0430\u043a\u043e\u0435 \u043e\u0431\u044a\u0435\u043a\u0442 Set?<br>49. \u0427\u0442\u043e \u0442\u0430\u043a\u043e\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u043e\u0431\u0440\u0430\u0442\u043d\u043e\u0433\u043e \u0432\u044b\u0437\u043e\u0432\u0430 (Callback Function)?<br>50. \u0427\u0442\u043e \u0442\u0430\u043a\u043e\u0435 \u043f\u0440\u043e\u043c\u0438\u0441\u044b (Promises)?<br>51. \u0427\u0442\u043e \u0442\u0430\u043a\u043e\u0435 async\/await?<br>52. \u0412 \u0447\u0435\u043c \u0440\u0430\u0437\u043d\u0438\u0446\u0430 \u043c\u0435\u0436\u0434\u0443 spread-\u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440\u043e\u043c \u0438 rest-\u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440\u043e\u043c?<br>53. \u0427\u0442\u043e \u0442\u0430\u043a\u043e\u0435 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e (Default Parameters)?<br>54. \u0427\u0442\u043e \u0442\u0430\u043a\u043e\u0435 \u043e\u0431\u044a\u0435\u043a\u0442\u043d\u0430\u044f \u043e\u0431\u0435\u0440\u0442\u043a\u0430 (Wrapper Objects)?<br>55. \u0412 \u0447\u0435\u043c \u0440\u0430\u0437\u043d\u0438\u0446\u0430 \u043c\u0435\u0436\u0434\u0443 \u044f\u0432\u043d\u044b\u043c \u0438 \u043d\u0435\u044f\u0432\u043d\u044b\u043c \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u043d\u0438\u0435\u043c \u0438\u043b\u0438 \u043f\u0440\u0438\u0432\u0435\u0434\u0435\u043d\u0438\u0435\u043c \u043a \u0442\u0438\u043f\u0443 (Implicit and Explicit Coercion)?<br>56. \u0427\u0442\u043e \u0442\u0430\u043a\u043e\u0435 NaN? \u041a\u0430\u043a \u043f\u0440\u043e\u0432\u0435\u0440\u0438\u0442\u044c, \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043b\u0438 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 NaN?<br>57. \u041a\u0430\u043a \u043f\u0440\u043e\u0432\u0435\u0440\u0438\u0442\u044c, \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043b\u0438 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u043c\u0430\u0441\u0441\u0438\u0432\u043e\u043c?<br>58. \u041a\u0430\u043a \u043f\u0440\u043e\u0432\u0435\u0440\u0438\u0442\u044c, \u0447\u0442\u043e \u0447\u0438\u0441\u043b\u043e \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0447\u0435\u0442\u043d\u044b\u043c, \u0431\u0435\u0437 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u0434\u0435\u043b\u0435\u043d\u0438\u044f \u043f\u043e \u043c\u043e\u0434\u0443\u043b\u044e \u0438\u043b\u0438 \u0434\u0435\u043b\u0435\u043d\u0438\u044f \u0441 \u043e\u0441\u0442\u0430\u0442\u043a\u043e\u043c (\u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440\u0430 \u00ab%\u00bb)?<br>59. \u041a\u0430\u043a \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u0442\u044c \u043d\u0430\u043b\u0438\u0447\u0438\u0435 \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u0430 \u0432 \u043e\u0431\u044a\u0435\u043a\u0442\u0435?<br>60. \u0427\u0442\u043e \u0442\u0430\u043a\u043e\u0435 AJAX?<br>61. \u041a\u0430\u043a \u0432 JS \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u043e\u0431\u044a\u0435\u043a\u0442?<br>62. \u0412 \u0447\u0435\u043c \u0440\u0430\u0437\u043d\u0438\u0446\u0430 \u043c\u0435\u0436\u0434\u0443 \u043c\u0435\u0442\u043e\u0434\u0430\u043c\u0438 Object.freeze \u0438 Object.seal?<br>63. \u0412 \u0447\u0435\u043c \u0440\u0430\u0437\u043d\u0438\u0446\u0430 \u043c\u0435\u0436\u0434\u0443 \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440\u043e\u043c \u00abin\u00bb \u0438 \u043c\u0435\u0442\u043e\u0434\u043e\u043c hasOwnProperty?<br>64. \u041a\u0430\u043a\u0438\u0435 \u043f\u0440\u0438\u0435\u043c\u044b \u0440\u0430\u0431\u043e\u0442\u044b \u0441 \u0430\u0441\u0438\u043d\u0445\u0440\u043e\u043d\u043d\u044b\u043c \u043a\u043e\u0434\u043e\u043c \u0432 JS \u0412\u044b \u0437\u043d\u0430\u0435\u0442\u0435?<br>65. \u0412 \u0447\u0435\u043c \u0440\u0430\u0437\u043d\u0438\u0446\u0430 \u043c\u0435\u0436\u0434\u0443 \u043e\u0431\u044b\u0447\u043d\u043e\u0439 \u0444\u0443\u043d\u043a\u0446\u0438\u0435\u0439 \u0438 \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u044b\u043c \u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u0435\u043c?<br>66. \u041a\u0430\u043a \u0432 JS \u0432\u044b\u0437\u0432\u0430\u0442\u044c \u0444\u0443\u043d\u043a\u0446\u0438\u044e?<br>67. \u0427\u0442\u043e \u0442\u0430\u043a\u043e\u0435 \u0437\u0430\u043f\u043e\u043c\u0438\u043d\u0430\u043d\u0438\u0435 \u0438\u043b\u0438 \u043c\u0435\u043c\u043e\u0438\u0437\u0430\u0446\u0438\u044f (Memoization)?<br>68. \u041a\u0430\u043a \u0431\u044b \u0412\u044b \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043b\u0438 \u0432\u0441\u043f\u043e\u043c\u043e\u0433\u0430\u0442\u0435\u043b\u044c\u043d\u0443\u044e \u0444\u0443\u043d\u043a\u0446\u0438\u044e \u0437\u0430\u043f\u043e\u043c\u0438\u043d\u0430\u043d\u0438\u044f?<br>69. \u041f\u043e\u0447\u0435\u043c\u0443 typeof null \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 object? \u041a\u0430\u043a \u043f\u0440\u043e\u0432\u0435\u0440\u0438\u0442\u044c, \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043b\u0438 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 null?<br>70. \u0414\u043b\u044f \u0447\u0435\u0433\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u043a\u043b\u044e\u0447\u0435\u0432\u043e\u0435 \u0441\u043b\u043e\u0432\u043e \u00abnew\u00bb?<\/p>\n\n\n\n<h4>1. \u0412 \u0447\u0435\u043c \u0440\u0430\u0437\u043d\u0438\u0446\u0430 \u043c\u0435\u0436\u0434\u0443 null \u0438 undefined?<\/h4>\n\n\n\n<p>\u0414\u043b\u044f \u043d\u0430\u0447\u0430\u043b\u0430 \u0434\u0430\u0432\u0430\u0439\u0442\u0435 \u043f\u043e\u0433\u043e\u0432\u043e\u0440\u0438\u043c \u043e \u0442\u043e\u043c, \u0447\u0442\u043e \u0443 \u043d\u0438\u0445 \u043e\u0431\u0449\u0435\u0433\u043e.<br>\u0412\u043e-\u043f\u0435\u0440\u0432\u044b\u0445, \u043e\u043d\u0438 \u043f\u0440\u0438\u043d\u0430\u0434\u043b\u0435\u0436\u0430\u0442 \u043a 7 \u00ab\u043f\u0440\u0438\u043c\u0438\u0442\u0438\u0432\u0430\u043c\u00bb (\u043f\u0440\u0438\u043c\u0438\u0442\u0438\u0432\u043d\u044b\u043c \u0442\u0438\u043f\u0430\u043c) JS:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td>1<\/td><td>let primitiveTypes = [&#8216;string&#8217;, &#8216;number&#8217;, &#8216;null&#8217;, &#8216;undefined&#8217;, &#8216;boolean&#8217;, &#8216;symbol&#8217;, &#8216;bigint&#8217;]<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>\u0412\u043e-\u0432\u0442\u043e\u0440\u044b\u0445, \u043e\u043d\u0438 \u044f\u0432\u043b\u044f\u044e\u0442\u0441\u044f \u043b\u043e\u0436\u043d\u044b\u043c\u0438 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f\u043c\u0438, \u0442.\u0435. \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u043e\u043c \u0438\u0445 \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u0432 \u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u043e\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e Boolean() \u0438\u043b\u0438 \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440\u0430 \u00ab!!\u00bb \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f false:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td>12345<\/td><td>console.log(!!null) \/\/ falseconsole.log(!!undefined) \/\/ false&nbsp;console.log(Boolean(null)) \/\/ falseconsole.log(Boolean(undefined)) \/\/ false<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>\u041b\u0430\u0434\u043d\u043e, \u0442\u0435\u043f\u0435\u0440\u044c \u043e \u0440\u0430\u0437\u043b\u0438\u0447\u0438\u044f\u0445.<\/p>\n\n\n\n<p>undefined (\u00ab\u043d\u0435\u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u044b\u0439\u00bb) \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u0441\u043e\u0431\u043e\u0439 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e:<\/p>\n\n\n\n<ul><li>\u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439, \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u043d\u0435 \u0431\u044b\u043b\u043e \u043f\u0440\u0438\u0441\u0432\u043e\u0435\u043d\u043e \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f, \u0442.\u0435. \u043e\u0431\u044a\u044f\u0432\u043b\u0435\u043d\u043d\u043e\u0439, \u043d\u043e \u043d\u0435 \u0438\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0439 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439;<\/li><li>\u0444\u0443\u043d\u043a\u0446\u0438\u0438, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043d\u0438\u0447\u0435\u0433\u043e \u043d\u0435 \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u044f\u0432\u043d\u043e, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, console.log(1);<\/li><li>\u043d\u0435\u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0449\u0435\u0433\u043e \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u0430 \u043e\u0431\u044a\u0435\u043a\u0442\u0430.<\/li><\/ul>\n\n\n\n<p>\u0412 \u0443\u043a\u0430\u0437\u0430\u043d\u043d\u044b\u0445 \u0441\u043b\u0443\u0447\u0430\u044f\u0445 \u0434\u0432\u0438\u0436\u043e\u043a JS \u043f\u0440\u0438\u0441\u0432\u0430\u0438\u0432\u0430\u0435\u0442 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 undefined.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td>12345678910<\/td><td>let _thisIsUndefinedconst doNothing = () =&amp;gt; {}const someObj = {&nbsp;&nbsp;&nbsp;&nbsp;a: &#8216;ay&#8217;,&nbsp;&nbsp;&nbsp;&nbsp;b: &#8216;bee&#8217;,&nbsp;&nbsp;&nbsp;&nbsp;c: &#8216;si&#8217;}console.log(_thisIsUndefined) \/\/ undefinedconsole.log(doNothing()) \/\/ undefinedconsole.log(someObj[&#8216;d&#8217;]) \/\/ undefined<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>null \u2014 \u044d\u0442\u043e \u00ab\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u043e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0438\u044f \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f\u00bb. null \u2014 \u044d\u0442\u043e \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435, \u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u043f\u0440\u0438\u0441\u0432\u0430\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439 \u044f\u0432\u043d\u043e. \u0412 \u043f\u0440\u0438\u043c\u0435\u0440\u0435 \u043d\u0438\u0436\u0435 \u043c\u044b \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u043c null, \u043a\u043e\u0433\u0434\u0430 \u043c\u0435\u0442\u043e\u0434 fs.readFile \u043e\u0442\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0435\u0442 \u0431\u0435\u0437 \u043e\u0448\u0438\u0431\u043e\u043a:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td>1234567<\/td><td>fs.readFile(&#8216;path\/to\/file&#8217;, (e, data) =&amp;gt; {&nbsp;&nbsp;&nbsp;&nbsp;console.log(e) \/\/ \u0437\u0434\u0435\u0441\u044c \u043c\u044b \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u043c nullif(e) {&nbsp;&nbsp;&nbsp;&nbsp;console.log(e)}&nbsp;&nbsp;&nbsp;&nbsp;console.log(data)})<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>\u041f\u0440\u0438 \u0441\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u0438 null \u0438 undefined \u043c\u044b \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u043c true, \u043a\u043e\u0433\u0434\u0430 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440 \u00ab==\u00bb, \u0438 false \u043f\u0440\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0438 \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440\u0430 \u00ab===\u00bb. \u041e \u0442\u043e\u043c, \u043f\u043e\u0447\u0435\u043c\u0443 \u0442\u0430\u043a \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u0442, \u0441\u043c. \u043d\u0438\u0436\u0435.<\/p>\n\n\n\n<ul><li><a href=\"https:\/\/direct.yandex.ru\/?partner\" target=\"_blank\" rel=\"noreferrer noopener\">\u042f\u043d\u0434\u0435\u043a\u0441.\u0414\u0438\u0440\u0435\u043a\u0442<\/a><\/li><li><\/li><\/ul>\n\n\n\n<figure class=\"wp-block-image\"><img src=\"https:\/\/avatars.mds.yandex.net\/get-direct\/2799532\/4xG0tL8IGmHhbIt7OUY7_A\/y300\" alt=\"\"\/><\/figure>\n\n\n\n<p>Skillbox &#8211; \u0448\u043a\u043e\u043b\u0430 IT \u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u043d\u0438\u044f<\/p>\n\n\n\n<ul><li><\/li><\/ul>\n\n\n\n<figure class=\"wp-block-image\"><img src=\"https:\/\/avatars.mds.yandex.net\/get-direct\/4474510\/gMfd5_EIf4nRJAyhdbNbDw\/y300\" alt=\"\"\/><\/figure>\n\n\n\n<p>\u041a\u0443\u0440\u0441 \u00ab\u0412\u0435\u0440\u0441\u0442\u043a\u0430 \u0441\u0430\u0439\u0442\u043e\u0432 \u043d\u0430&nbsp;HTML \u0438&nbsp;CSS\u00bb<\/p>\n\n\n\n<ul><li><\/li><\/ul>\n\n\n\n<figure class=\"wp-block-image\"><img src=\"https:\/\/avatars.mds.yandex.net\/get-direct\/2771799\/YeuB0juUI9nu3XJeAq6plw\/y300\" alt=\"\"\/><\/figure>\n\n\n\n<p>\u041d\u0435&nbsp;\u043e\u043a\u0443\u043f\u0430\u0435\u0442\u0441\u044f \u0442\u0440\u0430\u0444\u0438\u043a?<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td>12<\/td><td>console.log(null == undefined) \/\/ trueconsole.log(null === undefined) \/\/ false<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h4>2. \u0414\u043b\u044f \u0447\u0435\u0433\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440 \u00ab&amp;&amp;\u00bb?<\/h4>\n\n\n\n<p>\u041e\u043f\u0435\u0440\u0430\u0442\u043e\u0440 \u00ab&amp;&amp;\u00bb (\u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u043e\u0435 \u0438) \u043d\u0430\u0445\u043e\u0434\u0438\u0442 \u0438 \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u043f\u0435\u0440\u0432\u043e\u0435 \u043b\u043e\u0436\u043d\u043e\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u043b\u0438\u0431\u043e \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0439 \u043e\u043f\u0435\u0440\u0430\u043d\u0434, \u043a\u043e\u0433\u0434\u0430 \u0432\u0441\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u0438\u0441\u0442\u0438\u043d\u043d\u044b\u0435. \u041e\u043d \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442 \u043a\u043e\u0440\u043e\u0442\u043a\u043e\u0435 \u0437\u0430\u043c\u044b\u043a\u0430\u043d\u0438\u0435 \u0432\u043e \u0438\u0437\u0431\u0435\u0436\u0430\u043d\u0438\u0435 \u043b\u0438\u0448\u043d\u0438\u0445 \u0437\u0430\u0442\u0440\u0430\u0442:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td>12<\/td><td>console.log(false &amp;amp;&amp;amp; 1 &amp;amp;&amp;amp; []) \/\/ falseconsole.log(&#8216; &#8216; &amp;amp;&amp;amp; true &amp;amp;&amp;amp; 5) \/\/ 5<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>\u0421 \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440\u043e\u043c \u00abif\u00bb:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td>123456789101112<\/td><td>const router: Router = Router()&nbsp;router.get(&#8216;\/endpoint&#8217;, (req: Request, res: Response) =&amp;gt; {&nbsp;&nbsp;&nbsp;&nbsp;let conMobile: PoolConnection&nbsp;&nbsp;&nbsp;&nbsp;try {&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\/\/ \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438 \u0441 \u0431\u0430\u0437\u043e\u0439 \u0434\u0430\u043d\u043d\u044b\u0445&nbsp;&nbsp;&nbsp;&nbsp;} catch (e) {&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (conMobile) {&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;conMobile.release()&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;&nbsp;}})<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>\u0422\u043e \u0436\u0435 \u0441\u0430\u043c\u043e\u0435 \u0441 \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440\u043e\u043c \u00ab&amp;&amp;\u00bb:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td>12345678910<\/td><td>const router: Router = Router()&nbsp;router.get(&#8216;\/endpoint&#8217;, (req: Request, res: Response) =&amp;gt; {&nbsp;&nbsp;&nbsp;&nbsp;let conMobile: PoolConnection&nbsp;&nbsp;&nbsp;&nbsp;try {&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\/\/ \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438 \u0441 \u0431\u0430\u0437\u043e\u0439 \u0434\u0430\u043d\u043d\u044b\u0445&nbsp;&nbsp;&nbsp;&nbsp;} catch (e) {&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;conMobile &amp;amp;&amp;amp; conMobile.release()&nbsp;&nbsp;&nbsp;&nbsp;}})<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h4>3. \u0414\u043b\u044f \u0447\u0435\u0433\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440 \u00ab||\u00bb?<\/h4>\n\n\n\n<p>\u041e\u043f\u0435\u0440\u0430\u0442\u043e\u0440 \u00ab||\u00bb (\u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u043e\u0435 \u0438\u043b\u0438) \u043d\u0430\u0445\u043e\u0434\u0438\u0442 \u0438 \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u043f\u0435\u0440\u0432\u043e\u0435 \u0438\u0441\u0442\u0438\u043d\u043d\u043e\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435. \u041e\u043d \u0442\u0430\u043a\u0436\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442 \u043a\u043e\u0440\u043e\u0442\u043a\u043e\u0435 \u0437\u0430\u043c\u044b\u043a\u0430\u043d\u0438\u0435. \u0414\u0430\u043d\u043d\u044b\u0439 \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b\u0441\u044f \u0434\u043b\u044f \u043f\u0440\u0438\u0441\u0432\u043e\u0435\u043d\u0438\u044f \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432 \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e \u0432 \u0444\u0443\u043d\u043a\u0446\u0438\u044f\u0445 \u0434\u043e \u0442\u043e\u0433\u043e, \u043a\u0430\u043a \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e \u0431\u044b\u043b\u0438 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u043d\u044b \u0432 ES6.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td>12345678<\/td><td>console.log(null || 1 || undefined) \/\/ 1&nbsp;function logName(name) {&nbsp;&nbsp;&nbsp;&nbsp;let n = name || Mark&nbsp;&nbsp;&nbsp;&nbsp;console.log(n)}&nbsp;logName() \/\/ Mark<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h4>4. \u042f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043b\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u0443\u043d\u0430\u0440\u043d\u043e\u0433\u043e \u043f\u043b\u044e\u0441\u0430 (\u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440 \u00ab+\u00bb) \u0441\u0430\u043c\u044b\u043c \u0431\u044b\u0441\u0442\u0440\u044b\u043c \u0441\u043f\u043e\u0441\u043e\u0431\u043e\u043c \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u0441\u0442\u0440\u043e\u043a\u0438 \u0432 \u0447\u0438\u0441\u043b\u043e?<\/h4>\n\n\n\n<p>\u0421\u043e\u0433\u043b\u0430\u0441\u043d\u043e&nbsp;<a href=\"https:\/\/developer.mozilla.org\/ru\/docs\/Web\/JavaScript\/Reference\/Operators\/Arithmetic_Operators#Unary_plus\" target=\"_blank\" rel=\"noreferrer noopener\">MDN<\/a>&nbsp;\u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440 \u00ab+\u00bb \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0441\u0430\u043c\u044b\u043c \u0431\u044b\u0441\u0442\u0440\u044b\u043c \u0441\u043f\u043e\u0441\u043e\u0431\u043e\u043c \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u0441\u0442\u0440\u043e\u043a\u0438 \u0432 \u0447\u0438\u0441\u043b\u043e, \u043f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 \u043e\u043d \u043d\u0435 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442 \u043d\u0438\u043a\u0430\u043a\u0438\u0445 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0439 \u0441\u043e \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435\u043c, \u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0447\u0438\u0441\u043b\u043e\u043c.<\/p>\n\n\n\n<h4>5. \u0427\u0442\u043e \u0442\u0430\u043a\u043e\u0435 DOM?<\/h4>\n\n\n\n<p>DOM \u0438\u043b\u0438 Document Object Model (\u043e\u0431\u044a\u0435\u043a\u0442\u043d\u0430\u044f \u043c\u043e\u0434\u0435\u043b\u044c \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430) \u2014 \u044d\u0442\u043e \u043f\u0440\u0438\u043a\u043b\u0430\u0434\u043d\u043e\u0439 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u044b\u0439 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441 (API) \u0434\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u0441 HTML \u0438 XML \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u043c\u0438. \u041a\u043e\u0433\u0434\u0430 \u0431\u0440\u0430\u0443\u0437\u0435\u0440 \u043f\u0435\u0440\u0432\u044b\u0439 \u0440\u0430\u0437 \u0447\u0438\u0442\u0430\u0435\u0442 (\u00ab\u043f\u0430\u0440\u0441\u0438\u0442\u00bb) HTML \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442, \u043e\u043d \u0444\u043e\u0440\u043c\u0438\u0440\u0443\u0435\u0442 \u0431\u043e\u043b\u044c\u0448\u043e\u0439 \u043e\u0431\u044a\u0435\u043a\u0442, \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0431\u043e\u043b\u044c\u0448\u043e\u0439 \u043e\u0431\u044a\u0435\u043a\u0442, \u043e\u0441\u043d\u043e\u0432\u0430\u043d\u043d\u044b\u0439 \u043d\u0430 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0435 \u2014 DOM. DOM \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u0441\u043e\u0431\u043e\u0439 \u0434\u0440\u0435\u0432\u043e\u0432\u0438\u0434\u043d\u0443\u044e \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0443 (\u0434\u0435\u0440\u0435\u0432\u043e \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430). DOM \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0434\u043b\u044f \u0432\u0437\u0430\u0438\u043c\u043e\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f \u0438 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u0441\u0430\u043c\u043e\u0439 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u044b DOM \u0438\u043b\u0438 \u0435\u0433\u043e \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0445 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u043e\u0432 \u0438 \u0443\u0437\u043b\u043e\u0432.<\/p>\n\n\n\n<p>\u0414\u043e\u043f\u0443\u0441\u0442\u0438\u043c, \u0443 \u043d\u0430\u0441 \u0435\u0441\u0442\u044c \u0442\u0430\u043a\u043e\u0439 HTML:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td>123456789101112131415161718192021<\/td><td>&amp;lt;!DOCTYPE html&amp;gt;&amp;lt;html lang=&#8221;en&#8221;&amp;gt;&nbsp;&amp;lt;head&amp;gt;&nbsp;&nbsp;&nbsp;&nbsp;&amp;lt;meta charset=&#8221;UTF-8&#8243;&amp;gt;&nbsp;&nbsp;&nbsp;&nbsp;&amp;lt;meta name=&#8221;viewport&#8221; content=&#8221;width=device-width&#8221;&amp;gt;&nbsp;&nbsp;&nbsp;&nbsp;&amp;lt;meta http-equiv=&#8221;X-UA-Compatible&#8221; content=&#8221;ie=edge&#8221;&amp;gt;&nbsp;&nbsp;&nbsp;&nbsp;&amp;lt;title&amp;gt;Document Object Model&amp;lt;\/title&amp;gt;&amp;lt;\/head&amp;gt;&nbsp;&amp;lt;body&amp;gt;&nbsp;&nbsp;&nbsp;&nbsp;&amp;lt;div&amp;gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&amp;lt;p&amp;gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&amp;lt;span&amp;gt;&amp;lt;\/span&amp;gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&amp;lt;\/p&amp;gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&amp;lt;label&amp;gt;&amp;lt;\/label&amp;gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&amp;lt;input&amp;gt;&nbsp;&nbsp;&nbsp;&nbsp;&amp;lt;\/div&amp;gt;&amp;lt;\/body&amp;gt;&nbsp;&amp;lt;\/html&amp;gt;<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>DOM \u044d\u0442\u043e\u0433\u043e HTML \u0432\u044b\u0433\u043b\u044f\u0434\u0438\u0442 \u0442\u0430\u043a:<\/p>\n\n\n\n<figure class=\"wp-block-image\" id=\"attachment_17158\"><img src=\"https:\/\/bookflow.ru\/wp-content\/uploads\/2020\/02\/70-voprosov-javascript-min.png\" alt=\"70 \u0432\u043e\u043f\u0440\u043e\u0441\u043e\u0432 \u043f\u043e JavaScript \u0434\u043b\u044f \u043f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u043a\u0438 \u043a \u0441\u043e\u0431\u0435\u0441\u0435\u0434\u043e\u0432\u0430\u043d\u0438\u044e\" class=\"wp-image-17158\"\/><figcaption>70 \u0432\u043e\u043f\u0440\u043e\u0441\u043e\u0432 \u043f\u043e JavaScript \u0434\u043b\u044f \u043f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u043a\u0438 \u043a \u0441\u043e\u0431\u0435\u0441\u0435\u0434\u043e\u0432\u0430\u043d\u0438\u044e<\/figcaption><\/figure>\n\n\n\n<p>\u0412 JS DOM \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d \u043e\u0431\u044a\u0435\u043a\u0442\u043e\u043c Document. \u041e\u0431\u044a\u0435\u043a\u0442 Document \u0438\u043c\u0435\u0435\u0442 \u0431\u043e\u043b\u044c\u0448\u043e\u0435 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u043c\u0435\u0442\u043e\u0434\u043e\u0432 \u0434\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u0441 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u0430\u043c\u0438, \u0438\u0445 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0435\u043c, \u043c\u043e\u0434\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u0435\u0439, \u0443\u0434\u0430\u043b\u0435\u043d\u0438\u0435\u043c \u0438 \u0442.\u0434.<\/p>\n\n\n\n<h4>6. \u0427\u0442\u043e \u0442\u0430\u043a\u043e\u0435 \u0440\u0430\u0441\u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0435\u043d\u0438\u0435 \u0441\u043e\u0431\u044b\u0442\u0438\u044f (Event Propagation)?<\/h4>\n\n\n\n<p>\u041a\u043e\u0433\u0434\u0430 \u043a\u0430\u043a\u043e\u0435-\u043b\u0438\u0431\u043e \u0441\u043e\u0431\u044b\u0442\u0438\u0435 \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u0442 \u0432 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u0435 DOM, \u043e\u043d\u043e \u043d\u0430 \u0441\u0430\u043c\u043e\u043c \u0434\u0435\u043b\u0435 \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u0442 \u043d\u0435 \u0442\u043e\u043b\u044c\u043a\u043e \u0432 \u043d\u0435\u043c. \u0421\u043e\u0431\u044b\u0442\u0438\u0435 \u00ab\u0440\u0430\u0441\u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u044f\u0435\u0442\u0441\u044f\u00bb \u043e\u0442 \u043e\u0431\u044a\u0435\u043a\u0442\u0430 Window \u0434\u043e \u0432\u044b\u0437\u0432\u0430\u0432\u0448\u0435\u0433\u043e \u0435\u0433\u043e \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u0430 (event.target). \u041f\u0440\u0438 \u044d\u0442\u043e\u043c \u0441\u043e\u0431\u044b\u0442\u0438\u0435 \u043f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u043e \u043f\u0440\u043e\u043d\u0438\u0437\u044b\u0432\u0430\u0435\u0442 (\u0437\u0430\u0442\u0440\u0430\u0433\u0438\u0432\u0430\u0435\u0442) \u0432\u0441\u0435\u0445 \u043f\u0440\u0435\u0434\u043a\u043e\u0432 \u0446\u0435\u043b\u0435\u0432\u043e\u0433\u043e \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u0430. \u0420\u0430\u0441\u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0435\u043d\u0438\u0435 \u0441\u043e\u0431\u044b\u0442\u0438\u044f \u0438\u043c\u0435\u0435\u0442 \u0442\u0440\u0438 \u0441\u0442\u0430\u0434\u0438\u0438 \u0438\u043b\u0438 \u0444\u0430\u0437\u044b:<\/p>\n\n\n\n<ol><li>\u0424\u0430\u0437\u0430 \u043f\u043e\u0433\u0440\u0443\u0436\u0435\u043d\u0438\u044f (\u0437\u0430\u0445\u0432\u0430\u0442\u0430, \u043f\u0435\u0440\u0435\u0445\u0432\u0430\u0442\u0430) \u2014 \u0441\u043e\u0431\u044b\u0442\u0438\u0435 \u0432\u043e\u0437\u043d\u0438\u043a\u0430\u0435\u0442 \u0432 \u043e\u0431\u044a\u0435\u043a\u0442\u0435 Window \u0438 \u043e\u043f\u0443\u0441\u043a\u0430\u0435\u0442\u0441\u044f \u0434\u043e \u0446\u0435\u043b\u0438 \u0441\u043e\u0431\u044b\u0442\u0438\u044f \u0447\u0435\u0440\u0435\u0437 \u0432\u0441\u0435\u0445 \u0435\u0435 \u043f\u0440\u0435\u0434\u043a\u043e\u0432.<\/li><li>\u0426\u0435\u043b\u0435\u0432\u0430\u044f \u0444\u0430\u0437\u0430 \u2014 \u044d\u0442\u043e \u043a\u043e\u0433\u0434\u0430 \u0441\u043e\u0431\u044b\u0442\u0438\u0435 \u0434\u043e\u0441\u0442\u0438\u0433\u0430\u0435\u0442 \u0446\u0435\u043b\u0435\u0432\u043e\u0433\u043e \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u0430.<\/li><li>\u0424\u0430\u0437\u0430 \u0432\u0441\u043f\u043b\u044b\u0442\u0438\u044f \u2014 \u0441\u043e\u0431\u044b\u0442\u0438\u0435 \u043f\u043e\u0434\u043d\u0438\u043c\u0430\u0435\u0442\u0441\u044f \u043e\u0442 event.target, \u043f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u043e \u043f\u0440\u043e\u0445\u043e\u0434\u0438\u0442 \u0447\u0435\u0440\u0435\u0437 \u0432\u0441\u0435\u0445 \u0435\u0433\u043e \u043f\u0440\u0435\u0434\u043a\u043e\u0432 \u0438 \u0434\u043e\u0441\u0442\u0438\u0433\u0430\u0435\u0442 \u043e\u0431\u044a\u0435\u043a\u0442\u0430 Window.<\/li><\/ol>\n\n\n\n<figure class=\"wp-block-image\"><img src=\"https:\/\/bookflow.ru\/wp-content\/uploads\/2020\/02\/a39x67wkxdmcyzj-it5m2jmfxgg-min.png\" alt=\"70 \u0432\u043e\u043f\u0440\u043e\u0441\u043e\u0432 \u043f\u043e JavaScript \u0434\u043b\u044f \u043f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u043a\u0438 \u043a \u0441\u043e\u0431\u0435\u0441\u0435\u0434\u043e\u0432\u0430\u043d\u0438\u044e\" class=\"wp-image-17159\"\/><\/figure>\n\n\n\n<p>\u041f\u043e\u0434\u0440\u043e\u0431\u043d\u0435\u0435 \u043e \u0440\u0430\u0441\u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0435\u043d\u0438\u0438 \u0441\u043e\u0431\u044b\u0442\u0438\u0439 \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u0447\u0438\u0442\u0430\u0442\u044c&nbsp;<a href=\"https:\/\/learn.javascript.ru\/bubbling-and-capturing\" target=\"_blank\" rel=\"noreferrer noopener\">\u0437\u0434\u0435\u0441\u044c<\/a>&nbsp;\u0438&nbsp;<a href=\"https:\/\/www.w3.org\/TR\/DOM-Level-3-Events\/#event-flow\" target=\"_blank\" rel=\"noreferrer noopener\">\u0437\u0434\u0435\u0441\u044c<\/a>.<\/p>\n\n\n\n<h4>7. \u0427\u0442\u043e \u0442\u0430\u043a\u043e\u0435 \u0432\u0441\u043f\u043b\u044b\u0442\u0438\u0435 \u0441\u043e\u0431\u044b\u0442\u0438\u044f?<\/h4>\n\n\n\n<p>\u041a\u043e\u0433\u0434\u0430 \u0441\u043e\u0431\u044b\u0442\u0438\u0435 \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u0442 \u0432 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u0435 DOM, \u043e\u043d\u043e \u0437\u0430\u0442\u0440\u0430\u0433\u0438\u0432\u0430\u0435\u0442 \u043d\u0435 \u0442\u043e\u043b\u044c\u043a\u043e \u044d\u0442\u043e\u0442 \u044d\u043b\u0435\u043c\u0435\u043d\u0442. \u0421\u043e\u0431\u044b\u0442\u0438\u0435 \u00ab\u0432\u0441\u043f\u043b\u044b\u0432\u0430\u0435\u0442\u00bb (\u043f\u043e\u0434\u043e\u0431\u043d\u043e \u043f\u0443\u0437\u044b\u0440\u044c\u043a\u0443 \u0432\u043e\u0437\u0434\u0443\u0445\u0430 \u0432 \u0432\u043e\u0434\u0435), \u043f\u0435\u0440\u0435\u0445\u043e\u0434\u0438\u0442 \u043e\u0442 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u0430, \u0432\u044b\u0437\u0432\u0430\u0432\u0448\u0435\u0433\u043e \u0441\u043e\u0431\u044b\u0442\u0438\u0435 (event.target), \u043a \u0435\u0433\u043e \u0440\u043e\u0434\u0438\u0442\u0435\u043b\u044e, \u0437\u0430\u0442\u0435\u043c \u043f\u043e\u0434\u043d\u0438\u043c\u0430\u0435\u0442\u0441\u044f \u0435\u0449\u0435 \u0432\u044b\u0448\u0435, \u043a \u0440\u043e\u0434\u0438\u0442\u0435\u043b\u044e \u0440\u043e\u0434\u0438\u0442\u0435\u043b\u044f \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u0430, \u043f\u043e\u043a\u0430 \u043d\u0435 \u0434\u043e\u0441\u0442\u0438\u0433\u0430\u0435\u0442 \u043e\u0431\u044a\u0435\u043a\u0442\u0430 Window.<\/p>\n\n\n\n<p>\u0414\u043e\u043f\u0443\u0441\u0442\u0438\u043c, \u0443 \u043d\u0430\u0441 \u0435\u0441\u0442\u044c \u0442\u0430\u043a\u0430\u044f \u0440\u0430\u0437\u043c\u0435\u0442\u043a\u0430:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td>12345<\/td><td>&amp;lt;div class=&#8221;grandparent&#8221;&amp;gt;&nbsp;&nbsp;&nbsp;&nbsp;&amp;lt;div class=&#8221;parent&#8221;&amp;gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&amp;lt;div class=&#8221;child&#8221;&amp;gt;1&amp;lt;\/div&amp;gt;&nbsp;&nbsp;&nbsp;&nbsp;&amp;lt;\/div&amp;gt;&amp;lt;\/div&amp;gt;<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>\u0418 \u0442\u0430\u043a\u043e\u0439 JS:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td>1234567891011121314151617181920212223242526272829303132333435363738<\/td><td>function addEvent(el, event, callback, isCapture = false) {&nbsp;&nbsp;&nbsp;&nbsp;if (!el || !event || !callback || typeof callback !== &#8216;function&#8217;) return&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (typeof el === &#8216;string&#8217;) {&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;el = document.querySelector(el)&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;&nbsp;el.addEventListener(event, callback, isCapture)}&nbsp;addEvent(document, &#8216;DOMContentLoaded&#8217;, () =&amp;gt; {&nbsp;&nbsp;&nbsp;&nbsp;const child = document.querySelector(&#8216;.child&#8217;)&nbsp;&nbsp;&nbsp;&nbsp;const parent = document.querySelector(&#8216;.parent&#8217;)&nbsp;&nbsp;&nbsp;&nbsp;const grandparent = document.querySelector(&#8216;.grandparent&#8217;)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;addEvent(child, &#8216;click&#8217;, function(e) {&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;console.log(&#8216;child&#8217;)&nbsp;&nbsp;&nbsp;&nbsp;})&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;addEvent(parent, &#8216;click&#8217;, function(e) {&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;console.log(&#8216;parent&#8217;)&nbsp;&nbsp;&nbsp;&nbsp;})&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;addEvent(grandparent, &#8216;click&#8217;, function(e) {&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;console.log(&#8216;grandparent&#8217;)&nbsp;&nbsp;&nbsp;&nbsp;})&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;addEvent(&#8216;html&#8217;, &#8216;click&#8217;, function(e) {&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;console.log(&#8216;html&#8217;)&nbsp;&nbsp;&nbsp;&nbsp;})&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;addEvent(document, &#8216;click&#8217;, function(e) {&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;console.log(&#8216;document&#8217;)&nbsp;&nbsp;&nbsp;&nbsp;})&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;addEvent(window, &#8216;click&#8217;, function(e) {&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;console.log(&#8216;window&#8217;)&nbsp;&nbsp;&nbsp;&nbsp;})})<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>\u0423 \u043c\u0435\u0442\u043e\u0434\u0430 addEventListener \u0435\u0441\u0442\u044c \u0442\u0440\u0435\u0442\u0438\u0439 \u043d\u0435\u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u0439 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440 \u2014 useCapture. \u041a\u043e\u0433\u0434\u0430 \u0435\u0433\u043e \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0440\u0430\u0432\u043d\u044f\u0435\u0442\u0441\u044f false (\u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e), \u0441\u043e\u0431\u044b\u0442\u0438\u0435 \u043d\u0430\u0447\u0438\u043d\u0430\u0435\u0442\u0441\u044f \u0441 \u0444\u0430\u0437\u044b \u0432\u0441\u043f\u043b\u044b\u0442\u0438\u044f. \u041a\u043e\u0433\u0434\u0430 \u0435\u0433\u043e \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0440\u0430\u0432\u043d\u044f\u0435\u0442\u0441\u044f true, \u0441\u043e\u0431\u044b\u0442\u0438\u0435 \u043d\u0430\u0447\u0438\u043d\u0430\u0435\u0442\u0441\u044f \u0441 \u0444\u0430\u0437\u044b \u043f\u043e\u0433\u0440\u0443\u0436\u0435\u043d\u0438\u044f (\u0434\u043b\u044f \u00ab\u043f\u0440\u043e\u0441\u043b\u0443\u0448\u0438\u0432\u0430\u0442\u0435\u043b\u0435\u0439\u00bb \u0441\u043e\u0431\u044b\u0442\u0438\u0439, \u043f\u0440\u0438\u043a\u0440\u0435\u043f\u043b\u0435\u043d\u043d\u044b\u0445 \u043a \u0446\u0435\u043b\u0438 \u0441\u043e\u0431\u044b\u0442\u0438\u044f, \u0441\u043e\u0431\u044b\u0442\u0438\u0435 \u043d\u0430\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u0432 \u0446\u0435\u043b\u0435\u0432\u043e\u0439 \u0444\u0430\u0437\u0435, \u0430 \u043d\u0435 \u0432 \u0444\u0430\u0437\u0430\u0445 \u043f\u043e\u0433\u0440\u0443\u0436\u0435\u043d\u0438\u044f \u0438\u043b\u0438 \u0432\u0441\u043f\u043b\u044b\u0442\u0438\u044f. \u0421\u043e\u0431\u044b\u0442\u0438\u044f \u0432 \u0446\u0435\u043b\u0435\u0432\u043e\u0439 \u0444\u0430\u0437\u0435 \u0438\u043d\u0438\u0446\u0438\u0438\u0440\u0443\u044e\u0442 \u0432\u0441\u0435 \u043f\u0440\u043e\u0441\u043b\u0443\u0448\u0438\u0432\u0430\u0442\u0435\u043b\u0438 \u043d\u0430 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u0435 \u0432 \u0442\u043e\u043c \u043f\u043e\u0440\u044f\u0434\u043a\u0435, \u0432 \u043a\u043e\u0442\u043e\u0440\u043e\u043c \u043e\u043d\u0438 \u0431\u044b\u043b\u0438 \u0437\u0430\u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u044b \u043d\u0435\u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e \u043e\u0442 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430 useCapture \u2014 \u043f\u0440\u0438\u043c. \u043f\u0435\u0440.). \u0415\u0441\u043b\u0438 \u043c\u044b \u043a\u043b\u0438\u043a\u043d\u0435\u043c \u043f\u043e \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u0443 child, \u0432 \u043a\u043e\u043d\u0441\u043e\u043b\u044c \u0431\u0443\u0434\u0435\u0442 \u0432\u044b\u0432\u0435\u0434\u0435\u043d\u043e: child, parent, grandparent, html, document, window. \u0412\u043e\u0442 \u0447\u0442\u043e \u0442\u0430\u043a\u043e\u0435 \u0432\u0441\u043f\u043b\u044b\u0442\u0438\u0435 \u0441\u043e\u0431\u044b\u0442\u0438\u044f.<\/p>\n\n\n\n<h4>8. \u0427\u0442\u043e \u0442\u0430\u043a\u043e\u0435 \u043f\u043e\u0433\u0440\u0443\u0436\u0435\u043d\u0438\u0435 \u0441\u043e\u0431\u044b\u0442\u0438\u044f?<\/h4>\n\n\n\n<p>\u041a\u043e\u0433\u0434\u0430 \u0441\u043e\u0431\u044b\u0442\u0438\u0435 \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u0442 \u0432 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u0435 DOM, \u043e\u043d\u043e \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u0442 \u043d\u0435 \u0442\u043e\u043b\u044c\u043a\u043e \u0432 \u043d\u0435\u043c. \u0412 \u0444\u0430\u0437\u0435 \u043f\u043e\u0433\u0440\u0443\u0436\u0435\u043d\u0438\u044f \u0441\u043e\u0431\u044b\u0442\u0438\u0435 \u043e\u043f\u0443\u0441\u043a\u0430\u0435\u0442\u0441\u044f \u043e\u0442 \u043e\u0431\u044a\u0435\u043a\u0442\u0430 Window \u0434\u043e \u0446\u0435\u043b\u0438 \u0441\u043e\u0431\u044b\u0442\u0438\u044f \u0447\u0435\u0440\u0435\u0437 \u0432\u0441\u0435\u0445 \u0435\u0433\u043e \u043f\u0440\u0435\u0434\u043a\u043e\u0432.<\/p>\n\n\n\n<p>\u0420\u0430\u0437\u043c\u0435\u0442\u043a\u0430:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td>12345<\/td><td>&amp;lt;div class=&#8221;grandparent&#8221;&amp;gt;&nbsp;&nbsp;&nbsp;&nbsp;&amp;lt;div class=&#8221;parent&#8221;&amp;gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&amp;lt;div class=&#8221;child&#8221;&amp;gt;1&amp;lt;\/div&amp;gt;&nbsp;&nbsp;&nbsp;&nbsp;&amp;lt;\/div&amp;gt;&amp;lt;\/div&amp;gt;<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>JS:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td>1234567891011121314151617181920212223242526272829303132333435363738<\/td><td>function addEvent(el, event, callback, isCapture = false) {&nbsp;&nbsp;&nbsp;&nbsp;if (!el || !event || !callback || typeof callback !== &#8216;function&#8217;) return&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (typeof el === &#8216;string&#8217;) {&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;el = document.querySelector(el);&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;&nbsp;el.addEventListener(event, callback, isCapture)}&nbsp;addEvent(document, &#8216;DOMContentLoaded&#8217;, () =&amp;gt; {&nbsp;&nbsp;&nbsp;&nbsp;const child = document.querySelector(&#8216;.child&#8217;)&nbsp;&nbsp;&nbsp;&nbsp;const parent = document.querySelector(&#8216;.parent&#8217;)&nbsp;&nbsp;&nbsp;&nbsp;const grandparent = document.querySelector(&#8216;.grandparent&#8217;)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;addEvent(child, &#8216;click&#8217;, function(e) {&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;console.log(&#8216;child&#8217;);&nbsp;&nbsp;&nbsp;&nbsp;}, true)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;addEvent(parent, &#8216;click&#8217;, function(e) {&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;console.log(&#8216;parent&#8217;)&nbsp;&nbsp;&nbsp;&nbsp;}, true)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;addEvent(grandparent, &#8216;click&#8217;, function(e) {&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;console.log(&#8216;grandparent&#8217;)&nbsp;&nbsp;&nbsp;&nbsp;}, true)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;addEvent(&#8216;html&#8217;, &#8216;click&#8217;, function(e) {&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;console.log(&#8216;html&#8217;)&nbsp;&nbsp;&nbsp;&nbsp;}, true)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;addEvent(document, &#8216;click&#8217;, function(e) {&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;console.log(&#8216;document&#8217;)&nbsp;&nbsp;&nbsp;&nbsp;}, true)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;addEvent(window, &#8216;click&#8217;, function(e) {&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;console.log(&#8216;window&#8217;)&nbsp;&nbsp;&nbsp;&nbsp;}, true)})<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>\u0423 \u043c\u0435\u0442\u043e\u0434\u0430 addEventListener \u0435\u0441\u0442\u044c \u0442\u0440\u0435\u0442\u0438\u0439 \u043d\u0435\u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u0439 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440 \u2014 useCapture. \u041a\u043e\u0433\u0434\u0430 \u0435\u0433\u043e \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0440\u0430\u0432\u043d\u044f\u0435\u0442\u0441\u044f false (\u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e), \u0441\u043e\u0431\u044b\u0442\u0438\u0435 \u043d\u0430\u0447\u0438\u043d\u0430\u0435\u0442\u0441\u044f \u0441 \u0444\u0430\u0437\u044b \u0432\u0441\u043f\u043b\u044b\u0442\u0438\u044f. \u041a\u043e\u0433\u0434\u0430 \u0435\u0433\u043e \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0440\u0430\u0432\u043d\u044f\u0435\u0442\u0441\u044f true, \u0441\u043e\u0431\u044b\u0442\u0438\u0435 \u043d\u0430\u0447\u0438\u043d\u0430\u0435\u0442\u0441\u044f \u0441 \u0444\u0430\u0437\u044b \u043f\u043e\u0433\u0440\u0443\u0436\u0435\u043d\u0438\u044f. \u0415\u0441\u043b\u0438 \u043c\u044b \u043a\u043b\u0438\u043a\u043d\u0435\u043c \u043f\u043e \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u0443 child, \u0442\u043e \u0443\u0432\u0438\u0434\u0438\u043c \u0432 \u043a\u043e\u043d\u0441\u043e\u043b\u0438 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0435: window, document, html, grandparent, parent, child. \u042d\u0442\u043e \u0438 \u0435\u0441\u0442\u044c \u043f\u043e\u0433\u0440\u0443\u0436\u0435\u043d\u0438\u0435 \u0441\u043e\u0431\u044b\u0442\u0438\u044f.<\/p>\n\n\n\n<h4>9. \u0412 \u0447\u0435\u043c \u0440\u0430\u0437\u043d\u0438\u0446\u0430 \u043c\u0435\u0436\u0434\u0443 \u043c\u0435\u0442\u043e\u0434\u0430\u043c\u0438 event.preventDefault() \u0438 event.stopPropagation()?<\/h4>\n\n\n\n<p>\u041c\u0435\u0442\u043e\u0434 event.preventDefault() \u043e\u0442\u043a\u043b\u044e\u0447\u0430\u0435\u0442 \u043f\u043e\u0432\u0435\u0434\u0435\u043d\u0438\u0435 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u0430 \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e. \u0415\u0441\u043b\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u044d\u0442\u043e\u0442 \u043c\u0435\u0442\u043e\u0434 \u0432 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u0435 form, \u0442\u043e \u043e\u043d \u043f\u0440\u0435\u0434\u043e\u0442\u0432\u0440\u0430\u0442\u0438\u0442 \u043e\u0442\u043f\u0440\u0430\u0432\u043a\u0443 \u0444\u043e\u0440\u043c\u044b (submit). \u0415\u0441\u043b\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0435\u0433\u043e \u0432 contextmenu, \u0442\u043e \u043a\u043e\u043d\u0442\u0435\u043a\u0441\u0442\u043d\u043e\u0435 \u043c\u0435\u043d\u044e \u0431\u0443\u0434\u0435\u0442 \u043e\u0442\u043a\u043b\u044e\u0447\u0435\u043d\u043e (\u0434\u0430\u043d\u043d\u044b\u0439 \u043c\u0435\u0442\u043e\u0434 \u0447\u0430\u0441\u0442\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0432 keydown \u0434\u043b\u044f \u043f\u0435\u0440\u0435\u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u044f \u043a\u043b\u0430\u0432\u0438\u0430\u0442\u0443\u0440\u044b, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u043f\u0440\u0438 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0438 \u043c\u0443\u0437\u044b\u043a\u0430\u043b\u044c\u043d\u043e\u0433\u043e\/\u0432\u0438\u0434\u0435\u043e \u043f\u043b\u0435\u0435\u0440\u0430 \u0438\u043b\u0438 \u0442\u0435\u043a\u0441\u0442\u043e\u0432\u043e\u0433\u043e \u0440\u0435\u0434\u0430\u043a\u0442\u043e\u0440\u0430 \u2014 \u043f\u0440\u0438\u043c. \u043f\u0435\u0440.). \u041c\u0435\u0442\u043e\u0434 event.stopPropagation() \u043e\u0442\u043a\u043b\u044e\u0447\u0430\u0435\u0442 \u0440\u0430\u0441\u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0435\u043d\u0438\u0435 \u0441\u043e\u0431\u044b\u0442\u0438\u044f (\u0435\u0433\u043e \u0432\u0441\u043f\u043b\u044b\u0442\u0438\u0435 \u0438\u043b\u0438 \u043f\u043e\u0433\u0440\u0443\u0436\u0435\u043d\u0438\u0435).<\/p>\n\n\n\n<h4>10. \u041a\u0430\u043a \u0443\u0437\u043d\u0430\u0442\u044c \u043e\u0431 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0438 \u043c\u0435\u0442\u043e\u0434\u0430 event.preventDefault()?<\/h4>\n\n\n\n<p>\u0414\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u043c\u044b \u043c\u043e\u0436\u0435\u043c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u043e event.defaulPrevented, \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u044e\u0449\u0435\u0435 \u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u043e\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435, \u0441\u043b\u0443\u0436\u0430\u0449\u0435\u0435 \u0438\u043d\u0434\u0438\u043a\u0430\u0442\u043e\u0440\u043e\u043c \u043f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u043a \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u0443 \u043c\u0435\u0442\u043e\u0434\u0430 event.preventDefault.<\/p>\n\n\n\n<h4>11. \u041f\u043e\u0447\u0435\u043c\u0443 obj.someprop.x \u043f\u0440\u0438\u0432\u043e\u0434\u0438\u0442 \u043a \u043e\u0448\u0438\u0431\u043a\u0435?<\/h4>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td>12<\/td><td>const obj = {}console.log(obj.someprop.x)<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>\u041e\u0442\u0432\u0435\u0442 \u043e\u0447\u0435\u0432\u0438\u0434\u0435\u043d: \u043c\u044b \u043f\u044b\u0442\u0430\u0435\u0442\u0441\u044f \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0434\u043e\u0441\u0442\u0443\u043f \u043a \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u0443 x \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u0430 someprop, \u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u0438\u043c\u0435\u0435\u0442 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 undefined. obj.__proto__.__proto = null, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442\u0441\u044f undefined, \u0430 \u0443 undefined \u043d\u0435\u0442 \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u0430 x.<\/p>\n\n\n\n<h4>12. \u0427\u0442\u043e \u0442\u0430\u043a\u043e\u0435 \u0446\u0435\u043b\u044c \u0441\u043e\u0431\u044b\u0442\u0438\u044f \u0438\u043b\u0438 \u0446\u0435\u043b\u0435\u0432\u043e\u0439 \u044d\u043b\u0435\u043c\u0435\u043d\u0442 (event.target)?<\/h4>\n\n\n\n<p>\u041f\u0440\u043e\u0441\u0442\u044b\u043c\u0438 \u0441\u043b\u043e\u0432\u0430\u043c\u0438, event.target \u2014 \u044d\u0442\u043e \u044d\u043b\u0435\u043c\u0435\u043d\u0442, \u0432 \u043a\u043e\u0442\u043e\u0440\u043e\u043c \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u0442 \u0441\u043e\u0431\u044b\u0442\u0438\u0435, \u0438\u043b\u0438 \u044d\u043b\u0435\u043c\u0435\u043d\u0442, \u0432\u044b\u0437\u0432\u0430\u0432\u0448\u0438\u0439 \u0441\u043e\u0431\u044b\u0442\u0438\u0435.<\/p>\n\n\n\n<p>\u0418\u043c\u0435\u0435\u043c \u0442\u0430\u043a\u0443\u044e \u0440\u0430\u0437\u043c\u0435\u0442\u043a\u0443:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td>12345678910<\/td><td>&amp;lt;div onclick=&#8221;clickFunc(event)&#8221; style=&#8221;text-align: center; margin: 15px;border: 1px solid red; border-radius: 3px;&#8221;&amp;gt;&nbsp;&nbsp;&nbsp;&nbsp;&amp;lt;div style=&#8221;margin: 25px; border: 1px solid royalblue; border-radius: 3px;&#8221;&amp;gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&amp;lt;div style=&#8221;margin: 25px; border: 1px solid skyblue; border-radius: 3px;&#8221;&amp;gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&amp;lt;button style=&#8221;margin: 10px&#8221;&amp;gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Button&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&amp;lt;\/button&amp;gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&amp;lt;\/div&amp;gt;&nbsp;&nbsp;&nbsp;&nbsp;&amp;lt;\/div&amp;gt;&amp;lt;\/div&amp;gt;<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>\u0418 \u0442\u0430\u043a\u043e\u0439 \u043f\u0440\u043e\u0441\u0442\u0435\u043d\u044c\u043a\u0438\u0439 JS:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td>123<\/td><td>function clickFunc(event) {&nbsp;&nbsp;&nbsp;&nbsp;console.log(event.target)}<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>\u041c\u044b \u043f\u0440\u0438\u043a\u0440\u0435\u043f\u0438\u043b\u0438 \u00ab\u0441\u043b\u0443\u0448\u0430\u0442\u0435\u043b\u044c\u00bb \u043a \u0432\u043d\u0435\u0448\u043d\u0435\u043c\u0443 div. \u041e\u0434\u043d\u0430\u043a\u043e \u0435\u0441\u043b\u0438 \u043c\u044b \u043d\u0430\u0436\u043c\u0435\u043c \u043d\u0430 \u043a\u043d\u043e\u043f\u043a\u0443, \u0442\u043e \u043f\u043e\u043b\u0443\u0447\u0438\u043c \u0432 \u043a\u043e\u043d\u0441\u043e\u043b\u0438 \u0440\u0430\u0437\u043c\u0435\u0442\u043a\u0443 \u044d\u0442\u043e\u0439 \u043a\u043d\u043e\u043f\u043a\u0438. \u042d\u0442\u043e \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u0432\u044b\u0432\u043e\u0434, \u0447\u0442\u043e \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u043e\u043c, \u0432\u044b\u0437\u0432\u0430\u0432\u0448\u0438\u043c \u0441\u043e\u0431\u044b\u0442\u0438\u0435, \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0438\u043c\u0435\u043d\u043d\u043e \u043a\u043d\u043e\u043f\u043a\u0430, \u0430 \u043d\u0435 \u0432\u043d\u0435\u0448\u043d\u0438\u0439 \u0438\u043b\u0438 \u0432\u043d\u0443\u0442\u0440\u0435\u043d\u043d\u0438\u0435 div.<\/p>\n\n\n\n<h4>13. \u0427\u0442\u043e \u0442\u0430\u043a\u043e\u0435 \u0442\u0435\u043a\u0443\u0449\u0430\u044f \u0446\u0435\u043b\u044c \u0441\u043e\u0431\u044b\u0442\u0438\u044f (event.currentTarget)?<\/h4>\n\n\n\n<p>Event.currentTarget \u2014 \u044d\u0442\u043e \u044d\u043b\u0435\u043c\u0435\u043d\u0442, \u043a \u043a\u043e\u0442\u043e\u0440\u043e\u043c\u0443 \u043f\u0440\u0438\u043a\u0440\u0435\u043f\u043b\u0435\u043d \u043f\u0440\u043e\u0441\u043b\u0443\u0448\u0438\u0432\u0430\u0442\u0435\u043b\u044c \u0441\u043e\u0431\u044b\u0442\u0438\u0439.<\/p>\n\n\n\n<p>\u0410\u043d\u0430\u043b\u043e\u0433\u0438\u0447\u043d\u0430\u044f \u0440\u0430\u0437\u043c\u0435\u0442\u043a\u0430:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td>12345678910<\/td><td>&amp;lt;div onclick=&#8221;clickFunc(event)&#8221; style=&#8221;text-align: center;margin:15px;border:1px solid red;border-radius:3px;&#8221;&amp;gt;&nbsp;&nbsp;&nbsp;&nbsp;&amp;lt;div style=&#8221;margin: 25px; border:1px solid royalblue;border-radius:3px;&#8221;&amp;gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&amp;lt;div style=&#8221;margin:25px;border:1px solid skyblue;border-radius:3px;&#8221;&amp;gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&amp;lt;button style=&#8221;margin:10px&#8221;&amp;gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Button&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&amp;lt;\/button&amp;gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&amp;lt;\/div&amp;gt;&nbsp;&nbsp;&nbsp;&nbsp;&amp;lt;\/div&amp;gt;&amp;lt;\/div&amp;gt;<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>\u0418 \u043d\u0435\u043c\u043d\u043e\u0433\u043e \u0432\u0438\u0434\u043e\u0438\u0437\u043c\u0435\u043d\u0435\u043d\u043d\u044b\u0439 JS:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td>123<\/td><td>function clickFunc(event) {&nbsp;&nbsp;&nbsp;&nbsp;console.log(event.currentTarget)}<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>\u041c\u044b \u043f\u0440\u0438\u043a\u0440\u0435\u043f\u0438\u043b\u0438 \u0441\u043b\u0443\u0448\u0430\u0442\u0435\u043b\u044c \u043a \u0432\u043d\u0435\u0448\u043d\u0435\u043c\u0443 div. \u041a\u0443\u0434\u0430 \u0431\u044b \u043c\u044b \u043d\u0438 \u043a\u043b\u0438\u043a\u043d\u0443\u043b\u0438, \u0431\u0443\u0434\u044c \u0442\u043e \u043a\u043d\u043e\u043f\u043a\u0430 \u0438\u043b\u0438 \u043e\u0434\u0438\u043d \u0438\u0437 \u0432\u043d\u0443\u0442\u0440\u0435\u043d\u043d\u0438\u0445 div, \u0432 \u043a\u043e\u043d\u0441\u043e\u043b\u0438 \u043c\u044b \u0432\u0441\u0435\u0433\u0434\u0430 \u043f\u043e\u043b\u0443\u0447\u0438\u043c \u0440\u0430\u0437\u043c\u0435\u0442\u043a\u0443 \u0432\u043d\u0435\u0448\u043d\u0435\u0433\u043e div. \u042d\u0442\u043e \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0437\u0430\u043a\u043b\u044e\u0447\u0438\u0442\u044c, \u0447\u0442\u043e event.currentTarget \u2014 \u044d\u0442\u043e \u044d\u043b\u0435\u043c\u0435\u043d\u0442, \u043a \u043a\u043e\u0442\u043e\u0440\u043e\u043c\u0443 \u043f\u0440\u0438\u043a\u0440\u0435\u043f\u043b\u0435\u043d \u043f\u0440\u043e\u0441\u043b\u0443\u0448\u0438\u0432\u0430\u0442\u0435\u043b\u044c \u0441\u043e\u0431\u044b\u0442\u0438\u0439.<\/p>\n\n\n\n<h4>14. \u0412 \u0447\u0435\u043c \u0440\u0430\u0437\u043d\u0438\u0446\u0430 \u043c\u0435\u0436\u0434\u0443 \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440\u0430\u043c\u0438 \u00ab==\u00bb \u0438 \u00ab===\u00bb?<\/h4>\n\n\n\n<p>\u0420\u0430\u0437\u043d\u0438\u0446\u0430 \u043c\u0435\u0436\u0434\u0443 \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440\u043e\u043c \u00ab==\u00bb (\u0430\u0431\u0441\u0442\u0440\u0430\u043a\u0442\u043d\u043e\u0435 \u0438\u043b\u0438 \u043d\u0435\u0441\u0442\u0440\u043e\u0433\u043e\u0435 \u0440\u0430\u0432\u0435\u043d\u0441\u0442\u0432\u043e) \u0438 \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440\u043e\u043c \u00ab===\u00bb (\u0441\u0442\u0440\u043e\u0433\u043e\u0435 \u0440\u0430\u0432\u0435\u043d\u0441\u0442\u0432\u043e) \u0441\u043e\u0441\u0442\u043e\u0438\u0442 \u0432 \u0442\u043e\u043c, \u0447\u0442\u043e \u043f\u0435\u0440\u0432\u044b\u0439 \u0441\u0440\u0430\u0432\u043d\u0438\u0432\u0430\u0435\u0442 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u043f\u043e\u0441\u043b\u0435 \u0438\u0445 \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u0438\u043b\u0438 \u043f\u0440\u0438\u0432\u0435\u0434\u0435\u043d\u0438\u044f \u043a \u043e\u0434\u043d\u043e\u043c\u0443 \u0442\u0438\u043f\u0443 (Coersion), \u0430 \u0432\u0442\u043e\u0440\u043e\u0439 \u2014 \u0431\u0435\u0437 \u0442\u0430\u043a\u043e\u0433\u043e \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u043d\u0438\u044f.<\/p>\n\n\n\n<p>\u0414\u0430\u0432\u0430\u0439\u0442\u0435 \u043a\u043e\u043f\u043d\u0435\u043c \u0433\u043b\u0443\u0431\u0436\u0435. \u0418 \u0441\u043d\u0430\u0447\u0430\u043b\u0430 \u043f\u043e\u0433\u043e\u0432\u043e\u0440\u0438\u043c \u043e \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u043d\u0438\u0438.<\/p>\n\n\n\n<p>\u041f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u0441\u043e\u0431\u043e\u0439 \u043f\u0440\u043e\u0446\u0435\u0441\u0441 \u043f\u0440\u0438\u0432\u0435\u0434\u0435\u043d\u0438\u044f \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u043a \u0434\u0440\u0443\u0433\u043e\u043c\u0443 \u0442\u0438\u043f\u0443 \u0438\u043b\u0438, \u0442\u043e\u0447\u043d\u0435\u0435, \u043f\u0440\u043e\u0446\u0435\u0441\u0441 \u043f\u0440\u0438\u0432\u0435\u0434\u0435\u043d\u0438\u044f \u0441\u0440\u0430\u0432\u043d\u0438\u0432\u0430\u0435\u043c\u044b\u0445 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439 \u043a \u043e\u0434\u043d\u043e\u043c\u0443 \u0442\u0438\u043f\u0443. \u041f\u0440\u0438 \u0441\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u0438 \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440 \u00ab==\u00bb \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442 \u0442\u0430\u043a \u043d\u0430\u0437\u044b\u0432\u0430\u0435\u043c\u043e\u0435 \u043d\u0435\u044f\u0432\u043d\u043e\u0435 \u0441\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u0435. \u041e\u043f\u0435\u0440\u0430\u0442\u043e\u0440 \u00ab==\u00bb \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442 \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438 \u043f\u0435\u0440\u0435\u0434 \u0441\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u0435\u043c \u0434\u0432\u0443\u0445 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439.<\/p>\n\n\n\n<p>\u0414\u043e\u043f\u0443\u0441\u0442\u0438\u043c, \u043c\u044b \u0441\u0440\u0430\u0432\u043d\u0438\u0432\u0430\u0435\u043c x \u0438 y.<\/p>\n\n\n\n<p>\u0410\u043b\u0433\u043e\u0440\u0438\u0442\u043c \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439:<\/p>\n\n\n\n<ol><li>\u0415\u0441\u043b\u0438 x \u0438 y \u0438\u043c\u0435\u044e\u0442 \u043e\u0434\u0438\u043d\u0430\u043a\u043e\u0432\u044b\u0439 \u0442\u0438\u043f, \u0441\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u0435 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442\u0441\u044f \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440\u0430 \u00ab===\u00bb.<\/li><li>\u0415\u0441\u043b\u0438 x = null \u0438 y = undefined \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442\u0441\u044f true.<\/li><li>\u0415\u0441\u043b\u0438 x = undefined \u0438 y = null \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442\u0441\u044f true.<\/li><li>\u0415\u0441\u043b\u0438 x = \u0447\u0438\u0441\u043b\u043e, \u0430 y = \u0441\u0442\u0440\u043e\u043a\u0430, \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442\u0441\u044f x == toNumber(y) (\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 y \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u0443\u0435\u0442\u0441\u044f \u0432 \u0447\u0438\u0441\u043b\u043e).<\/li><li>\u0415\u0441\u043b\u0438 x = \u0441\u0442\u0440\u043e\u043a\u0430, \u0430 y = \u0447\u0438\u0441\u043b\u043e, \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442\u0441\u044f toNumber(x) == y (\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 x \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u0443\u0435\u0442\u0441\u044f \u0432 \u0447\u0438\u0441\u043b\u043e).<\/li><li>\u0415\u0441\u043b\u0438 x = \u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u043e\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435, \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442\u0441\u044f toNumber(x) == y.<\/li><li>\u0415\u0441\u043b\u0438 y = \u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u043e\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435, \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442\u0441\u044f x == toNumber(y).<\/li><li>\u0415\u0441\u043b\u0438 x = \u0441\u0442\u0440\u043e\u043a\u0430, \u0441\u0438\u043c\u0432\u043e\u043b \u0438\u043b\u0438 \u0447\u0438\u0441\u043b\u043e, \u0430 y = \u043e\u0431\u044a\u0435\u043a\u0442, \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442\u0441\u044f x == toPrimitive(y) (\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 y \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u0443\u0435\u0442\u0441\u044f \u0432 \u043f\u0440\u0438\u043c\u0438\u0442\u0438\u0432).<\/li><li>\u0415\u0441\u043b\u0438 x = \u043e\u0431\u044a\u0435\u043a\u0442, \u0430 y = \u0441\u0442\u0440\u043e\u043a\u0430, \u0441\u0438\u043c\u0432\u043e\u043b \u0438\u043b\u0438 \u0447\u0438\u0441\u043b\u043e, \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442\u0441\u044f toPrimitive(x) == y.<\/li><li>\u0412\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442\u0441\u044f false.<\/li><\/ol>\n\n\n\n<p>\u0417\u0430\u043f\u043e\u043c\u043d\u0438\u0442\u0435: \u0434\u043b\u044f \u043f\u0440\u0438\u0432\u0435\u0434\u0435\u043d\u0438\u044f \u043e\u0431\u044a\u0435\u043a\u0442\u0430 \u043a \u00ab\u043f\u0440\u0438\u043c\u0438\u0442\u0438\u0432\u0443\u00bb \u043c\u0435\u0442\u043e\u0434 toPrimitive \u0441\u043d\u0430\u0447\u0430\u043b\u0430 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442 \u043c\u0435\u0442\u043e\u0434 valueOf, \u0437\u0430\u0442\u0435\u043c \u043c\u0435\u0442\u043e\u0434 toString.<\/p>\n\n\n\n<p>\u041f\u0440\u0438\u043c\u0435\u0440\u044b:<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img src=\"https:\/\/bookflow.ru\/wp-content\/uploads\/2020\/02\/ydxetnfghjtfuex_p-em8v4emck-min.png\" alt=\"70 \u0432\u043e\u043f\u0440\u043e\u0441\u043e\u0432 \u043f\u043e JavaScript \u0434\u043b\u044f \u043f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u043a\u0438 \u043a \u0441\u043e\u0431\u0435\u0441\u0435\u0434\u043e\u0432\u0430\u043d\u0438\u044e\" class=\"wp-image-17161\"\/><\/figure>\n\n\n\n<p>\u0412\u0441\u0435 \u043f\u0440\u0438\u043c\u0435\u0440\u044b \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u044e\u0442 true.<\/p>\n\n\n\n<p>\u041f\u0435\u0440\u0432\u044b\u0439 \u043f\u0440\u0438\u043c\u0435\u0440 \u2014 \u043f\u0435\u0440\u0432\u043e\u0435 \u0443\u0441\u043b\u043e\u0432\u0438\u0435 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u0430.<br>\u0412\u0442\u043e\u0440\u043e\u0439 \u043f\u0440\u0438\u043c\u0435\u0440 \u2014 \u0447\u0435\u0442\u0432\u0435\u0440\u0442\u043e\u0435 \u0443\u0441\u043b\u043e\u0432\u0438\u0435.<br>\u0422\u0440\u0435\u0442\u0438\u0439 \u2014 \u0432\u0442\u043e\u0440\u043e\u0435.<br>\u0427\u0435\u0442\u0432\u0435\u0440\u0442\u044b\u0439 \u2014 \u0441\u0435\u0434\u044c\u043c\u043e\u0435.<br>\u041f\u044f\u0442\u044b\u0439 \u2014 \u0432\u043e\u0441\u044c\u043c\u043e\u0435.<br>\u0418 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0439 \u2014 \u0434\u0435\u0441\u044f\u0442\u043e\u0435.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img src=\"https:\/\/bookflow.ru\/wp-content\/uploads\/2020\/02\/t-4kyszb4grfafbi7lazyyvq6dy-min.png\" alt=\"70 \u0432\u043e\u043f\u0440\u043e\u0441\u043e\u0432 \u043f\u043e JavaScript \u0434\u043b\u044f \u043f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u043a\u0438 \u043a \u0441\u043e\u0431\u0435\u0441\u0435\u0434\u043e\u0432\u0430\u043d\u0438\u044e\" class=\"wp-image-17162\"\/><\/figure>\n\n\n\n<p>\u0415\u0441\u043b\u0438 \u0436\u0435 \u043c\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440 \u00ab===\u00bb \u0432\u0441\u0435 \u043f\u0440\u0438\u043c\u0435\u0440\u044b, \u043a\u0440\u043e\u043c\u0435 \u043f\u0435\u0440\u0432\u043e\u0433\u043e, \u0432\u0435\u0440\u043d\u0443\u0442 false, \u043f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u0432 \u044d\u0442\u0438\u0445 \u043f\u0440\u0438\u043c\u0435\u0440\u0430\u0445 \u0438\u043c\u0435\u044e\u0442 \u0440\u0430\u0437\u043d\u044b\u0435 \u0442\u0438\u043f\u044b.<\/p>\n\n\n\n<h4>15. \u041f\u043e\u0447\u0435\u043c\u0443 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u043e\u043c \u0441\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u044f \u0434\u0432\u0443\u0445 \u043f\u043e\u0445\u043e\u0436\u0438\u0445 \u043e\u0431\u044a\u0435\u043a\u0442\u043e\u0432 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f false?<\/h4>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td>12345678910<\/td><td>let a = {&nbsp;&nbsp;&nbsp;&nbsp;a: 1}let b = {&nbsp;&nbsp;&nbsp;&nbsp;a: 1}let c = a&nbsp;console.log(a === b) \/\/ falseconsole.log(a === c) \/\/ true \u0445\u043c&#8230;<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>\u0412 JS \u043e\u0431\u044a\u0435\u043a\u0442\u044b \u0438 \u043f\u0440\u0438\u043c\u0438\u0442\u0438\u0432\u044b \u0441\u0440\u0430\u0432\u043d\u0438\u0432\u0430\u044e\u0442\u0441\u044f \u043f\u043e-\u0440\u0430\u0437\u043d\u043e\u043c\u0443. \u041f\u0440\u0438\u043c\u0438\u0442\u0438\u0432\u044b \u0441\u0440\u0430\u0432\u043d\u0438\u0432\u0430\u044e\u0442\u0441\u044f \u043f\u043e \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044e. \u041e\u0431\u044a\u0435\u043a\u0442\u044b \u2014 \u043f\u043e \u0441\u0441\u044b\u043b\u043a\u0435 \u0438\u043b\u0438 \u0430\u0434\u0440\u0435\u0441\u0443 \u0432 \u043f\u0430\u043c\u044f\u0442\u0438, \u0433\u0434\u0435 \u0445\u0440\u0430\u043d\u0438\u0442\u0441\u044f \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0430\u044f. \u0412\u043e\u0442 \u043f\u043e\u0447\u0435\u043c\u0443 \u043f\u0435\u0440\u0432\u044b\u0439 console.log \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 false, \u0430 \u0432\u0442\u043e\u0440\u043e\u0439 \u2014 true. \u041f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435 \u00aba\u00bb \u0438 \u00abc\u00bb \u0441\u0441\u044b\u043b\u0430\u044e\u0442\u0441\u044f \u043d\u0430 \u043e\u0434\u0438\u043d \u043e\u0431\u044a\u0435\u043a\u0442, \u0430 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435 \u00aba\u00bb \u0438 \u00abb\u00bb \u2014 \u043d\u0430 \u0440\u0430\u0437\u043d\u044b\u0435 \u043e\u0431\u044a\u0435\u043a\u0442\u044b \u0441 \u043e\u0434\u0438\u043d\u0430\u043a\u043e\u0432\u044b\u043c\u0438 \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u0430\u043c\u0438 \u0438 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f\u043c\u0438.<\/p>\n\n\n\n<h4>16. \u0414\u043b\u044f \u0447\u0435\u0433\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440 \u00ab!!\u00bb?<\/h4>\n\n\n\n<p>\u041e\u043f\u0435\u0440\u0430\u0442\u043e\u0440 \u00ab!!\u00bb (\u0434\u0432\u043e\u0439\u043d\u043e\u0435 \u043e\u0442\u0440\u0438\u0446\u0430\u043d\u0438\u0435) \u043f\u0440\u0438\u0432\u043e\u0434\u0438\u0442 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0441\u043f\u0440\u0430\u0432\u0430 \u043e\u0442 \u043d\u0435\u0433\u043e \u043a \u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u043e\u043c\u0443 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044e.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td>12345678910<\/td><td>console.log(!!null) \/\/ falseconsole.log(!!undefined) \/\/ falseconsole.log(!!&#8221;) \/\/ falseconsole.log(!!0) \/\/ falseconsole.log(!!NaN) \/\/ falseconsole.log(!!&#8217; &#8216;) \/\/ trueconsole.log(!!{}) \/\/ trueconsole.log(!![]) \/\/ trueconsole.log(!!1) \/\/ trueconsole.log(!![].length) \/\/ false<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h4>17. \u041a\u0430\u043a \u0437\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u0439 \u0432 \u043e\u0434\u043d\u0443 \u0441\u0442\u0440\u043e\u043a\u0443?<\/h4>\n\n\n\n<p>\u0414\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u043c\u044b \u043c\u043e\u0436\u0435\u043c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440 \u00ab,\u00bb (\u0437\u0430\u043f\u044f\u0442\u0430\u044f). \u042d\u0442\u043e\u0442 \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440 \u00ab\u0434\u0432\u0438\u0433\u0430\u0435\u0442\u0441\u044f\u00bb \u0441\u043b\u0435\u0432\u0430 \u043d\u0430\u043f\u0440\u0430\u0432\u043e \u0438 \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0435\u0433\u043e \u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u044f \u0438\u043b\u0438 \u043e\u043f\u0435\u0440\u0430\u043d\u0434\u0430.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td>1234567<\/td><td>let x = 5&nbsp;x = (x++, x = addFive(x), x *= 2, x -= 5, x += 10)&nbsp;function addFive(num) {&nbsp;&nbsp;&nbsp;&nbsp;return num + 5}<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>\u0415\u0441\u043b\u0438 \u043c\u044b \u0432\u044b\u0432\u0435\u0434\u0435\u043c \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 x \u0432 \u043a\u043e\u043d\u0441\u043e\u043b\u044c, \u0442\u043e \u043f\u043e\u043b\u0443\u0447\u0438\u043c 27. \u0421\u043d\u0430\u0447\u0430\u043b\u0430 \u043c\u044b \u0443\u0432\u0435\u043b\u0438\u0447\u0438\u0432\u0430\u0435\u043c \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 x \u043d\u0430 \u0435\u0434\u0438\u043d\u0438\u0446\u0443 (x = 6). \u0417\u0430\u0442\u0435\u043c \u0432\u044b\u0437\u044b\u0432\u0430\u0435\u043c \u0444\u0443\u043d\u043a\u0446\u0438\u044e addFive() \u0441 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u043c 6, \u043a \u043a\u043e\u0442\u043e\u0440\u043e\u043c\u0443 \u043f\u0440\u0438\u0431\u0430\u0432\u043b\u044f\u0435\u043c 5 (x = 11). \u041f\u043e\u0441\u043b\u0435 \u044d\u0442\u043e\u0433\u043e \u043c\u044b \u0443\u043c\u043d\u043e\u0436\u0430\u0435\u043c \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 x \u043d\u0430 2 (x = 22). \u0417\u0430\u0442\u0435\u043c \u0432\u044b\u0447\u0438\u0442\u0430\u0435\u043c 5 (x = 17). \u0418, \u043d\u0430\u043a\u043e\u043d\u0435\u0446, \u043f\u0440\u0438\u0431\u0430\u0432\u043b\u044f\u0435\u043c 10 (x = 27).<\/p>\n\n\n\n<h4>18. \u0427\u0442\u043e \u0442\u0430\u043a\u043e\u0435 \u043f\u043e\u0434\u043d\u044f\u0442\u0438\u0435 (Hoisting)?<\/h4>\n\n\n\n<p>\u041f\u043e\u0434\u043d\u044f\u0442\u0438\u0435 \u2014 \u044d\u0442\u043e \u0442\u0435\u0440\u043c\u0438\u043d, \u043e\u043f\u0438\u0441\u044b\u0432\u0430\u044e\u0449\u0438\u0439 \u043f\u043e\u0434\u044a\u0435\u043c \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439 \u0438\u043b\u0438 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0432 \u0433\u043b\u043e\u0431\u0430\u043b\u044c\u043d\u0443\u044e \u0438\u043b\u0438 \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u0443\u044e \u043e\u0431\u043b\u0430\u0441\u0442\u0438 \u0432\u0438\u0434\u0438\u043c\u043e\u0441\u0442\u0438.<\/p>\n\n\n\n<p>\u0414\u043b\u044f \u0442\u043e\u0433\u043e, \u0447\u0442\u043e\u0431\u044b \u043f\u043e\u043d\u044f\u0442\u044c, \u0447\u0442\u043e \u0442\u0430\u043a\u043e\u0435 Hoisting, \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0440\u0430\u0437\u043e\u0431\u0440\u0430\u0442\u044c\u0441\u044f \u0441 \u0442\u0435\u043c, \u0447\u0442\u043e \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u0441\u043e\u0431\u043e\u0439 \u043a\u043e\u043d\u0442\u0435\u043a\u0441\u0442 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f.<\/p>\n\n\n\n<p>\u041a\u043e\u043d\u0442\u0435\u043a\u0441\u0442 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u2014 \u044d\u0442\u043e \u0441\u0440\u0435\u0434\u0430, \u0432 \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442\u0441\u044f \u043a\u043e\u0434. \u041a\u043e\u043d\u0442\u0435\u043a\u0441\u0442 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0438\u043c\u0435\u0435\u0442 \u0434\u0432\u0435 \u0444\u0430\u0437\u044b \u2014 \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0446\u0438\u044f \u0438 \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435.<\/p>\n\n\n\n<p>\u041a\u043e\u043c\u043f\u0438\u043b\u044f\u0446\u0438\u044f. \u0412 \u044d\u0442\u043e\u0439 \u0444\u0430\u0437\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u044b\u0435 \u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u044f \u0438 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435, \u043e\u0431\u044a\u044f\u0432\u043b\u0435\u043d\u043d\u044b\u0435 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u043a\u043b\u044e\u0447\u0435\u0432\u043e\u0433\u043e \u0441\u043b\u043e\u0432\u0430 \u00abvar\u00bb, \u0441\u043e \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435\u043c undefined \u043f\u043e\u0434\u043d\u0438\u043c\u0430\u044e\u0442\u0441\u044f \u0432 \u0441\u0430\u043c\u044b\u0439 \u0432\u0435\u0440\u0445 \u0433\u043b\u043e\u0431\u0430\u043b\u044c\u043d\u043e\u0439 (\u0438\u043b\u0438 \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u043e\u0439) \u043e\u0431\u043b\u0430\u0441\u0442\u0438 \u0432\u0438\u0434\u0438\u043c\u043e\u0441\u0442\u0438 (\u043a\u0430\u043a \u0431\u044b \u043f\u0435\u0440\u0435\u043c\u0435\u0449\u0430\u044e\u0442\u0441\u044f \u0432 \u043d\u0430\u0447\u0430\u043b\u043e \u043d\u0430\u0448\u0435\u0433\u043e \u043a\u043e\u0434\u0430. \u042d\u0442\u043e \u043e\u0431\u044a\u044f\u0441\u043d\u044f\u0435\u0442, \u043f\u043e\u0447\u0435\u043c\u0443 \u043c\u044b \u043c\u043e\u0436\u0435\u043c \u0432\u044b\u0437\u044b\u0432\u0430\u0442\u044c \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0434\u043e \u0438\u0445 \u043e\u0431\u044a\u044f\u0432\u043b\u0435\u043d\u0438\u044f \u2014 \u043f\u0440\u0438\u043c. \u043f\u0435\u0440.).<\/p>\n\n\n\n<p>\u0412\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435. \u0412 \u044d\u0442\u043e\u0439 \u0444\u0430\u0437\u0435 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u043c \u043f\u0440\u0438\u0441\u0432\u0430\u0438\u0432\u0430\u044e\u0442\u0441\u044f \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f, \u0430 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 (\u0438\u043b\u0438 \u043c\u0435\u0442\u043e\u0434\u044b \u043e\u0431\u044a\u0435\u043a\u0442\u043e\u0432) \u0432\u044b\u0437\u044b\u0432\u0430\u044e\u0442\u0441\u044f \u0438\u043b\u0438 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u044e\u0442\u0441\u044f.<\/p>\n\n\n\n<p>\u0417\u0430\u043f\u043e\u043c\u043d\u0438\u0442\u0435: \u043f\u043e\u0434\u043d\u0438\u043c\u0430\u044e\u0442\u0441\u044f \u0442\u043e\u043b\u044c\u043a\u043e \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u044b\u0435 \u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u044f \u0438 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435, \u043e\u0431\u044a\u044f\u0432\u043b\u0435\u043d\u043d\u044b\u0435 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u043a\u043b\u044e\u0447\u0435\u0432\u043e\u0433\u043e \u0441\u043b\u043e\u0432\u0430 \u00abvar\u00bb. \u041e\u0431\u044b\u0447\u043d\u044b\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0438 \u0441\u0442\u0440\u0435\u043b\u043e\u0447\u043d\u044b\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438, \u0430 \u0442\u0430\u043a\u0436\u0435 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435, \u043e\u0431\u044a\u044f\u0432\u043b\u0435\u043d\u043d\u044b\u0435 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u043a\u043b\u044e\u0447\u0435\u0432\u044b\u0445 \u0441\u043b\u043e\u0432 \u00ablet\u00bb \u0438 \u00abconst\u00bb \u043d\u0435 \u043f\u043e\u0434\u043d\u0438\u043c\u0430\u044e\u0442\u0441\u044f.<\/p>\n\n\n\n<p>\u041f\u0440\u0435\u0434\u043f\u043e\u043b\u043e\u0436\u0438\u043c, \u0447\u0442\u043e \u0443 \u043d\u0430\u0441 \u0435\u0441\u0442\u044c \u0442\u0430\u043a\u043e\u0439 \u043a\u043e\u0434:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td>12345678910<\/td><td>console.log(y)y = 1console.log(y)console.log(greet(&#8216;Mark&#8217;))&nbsp;function greet(name) {&nbsp;&nbsp;&nbsp;&nbsp;return &#8216;Hello &#8216; + name + &#8216;!&#8217;}&nbsp;var y<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>\u041f\u043e\u043b\u0443\u0447\u0430\u0435\u043c undefined, 1 \u0438 \u2018Hello Mark!\u2019.<\/p>\n\n\n\n<p>\u0412\u043e\u0442 \u043a\u0430\u043a \u0432\u044b\u0433\u043b\u044f\u0434\u0438\u0442 \u0444\u0430\u0437\u0430 \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0446\u0438\u0438:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td>123456789101112131415<\/td><td>function greet(name) {&nbsp;&nbsp;&nbsp;&nbsp;return &#8216;Hello &#8216; + name + &#8216;!&#8217;}&nbsp;var y \/\/ \u043f\u0440\u0438\u0441\u0432\u0430\u0438\u0432\u0430\u0435\u0442\u0441\u044f undefined&nbsp;\/\/ \u043e\u0436\u0438\u0434\u0430\u0435\u0442\u0441\u044f \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043d\u0438\u0435 \u0444\u0430\u0437\u044b \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0446\u0438\u0438&nbsp;\/\/ \u0437\u0430\u0442\u0435\u043c \u043d\u0430\u0447\u0438\u043d\u0430\u0435\u0442\u0441\u044f \u0444\u0430\u0437\u0430 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f\/*console.log(y)y = 1console.log(y)console.log(greet(&#8216;Mark&#8217;))*\/<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>\u041f\u043e\u0441\u043b\u0435 \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043d\u0438\u044f \u0444\u0430\u0437\u044b \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0446\u0438\u0438 \u043d\u0430\u0447\u0438\u043d\u0430\u0435\u0442\u0441\u044f \u0444\u0430\u0437\u0430 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f, \u043a\u043e\u0433\u0434\u0430 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u043c \u043f\u0440\u0438\u0441\u0432\u0430\u0438\u0432\u0430\u044e\u0442\u0441\u044f \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u0438 \u0432\u044b\u0437\u044b\u0432\u0430\u044e\u0442\u0441\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u0438.<\/p>\n\n\n\n<p>\u0414\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u043e Hoisting \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u0447\u0438\u0442\u0430\u0442\u044c&nbsp;<a href=\"https:\/\/developer.mozilla.org\/ru\/docs\/%D0%A1%D0%BB%D0%BE%D0%B2%D0%B0%D1%80%D1%8C\/%D0%9F%D0%BE%D0%B4%D0%BD%D1%8F%D1%82%D0%B8%D0%B5\" target=\"_blank\" rel=\"noreferrer noopener\">\u0437\u0434\u0435\u0441\u044c<\/a>.<\/p>\n\n\n\n<h4>19. \u0427\u0442\u043e \u0442\u0430\u043a\u043e\u0435 \u043e\u0431\u043b\u0430\u0441\u0442\u044c \u0432\u0438\u0434\u0438\u043c\u043e\u0441\u0442\u0438 (Scope)?<\/h4>\n\n\n\n<p>\u041e\u0431\u043b\u0430\u0441\u0442\u044c \u0432\u0438\u0434\u0438\u043c\u043e\u0441\u0442\u0438 \u2014 \u044d\u0442\u043e \u043c\u0435\u0441\u0442\u043e, \u0433\u0434\u0435 (\u0438\u043b\u0438 \u043e\u0442\u043a\u0443\u0434\u0430) \u043c\u044b \u0438\u043c\u0435\u0435\u043c \u0434\u043e\u0441\u0442\u0443\u043f \u043a \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u043c \u0438\u043b\u0438 \u0444\u0443\u043d\u043a\u0446\u0438\u044f\u043c. JS \u0438\u043c\u0435\u0435\u043c \u0442\u0440\u0438 \u0442\u0438\u043f\u0430 \u043e\u0431\u043b\u0430\u0441\u0442\u0435\u0439 \u0432\u0438\u0434\u0438\u043c\u043e\u0441\u0442\u0438: \u0433\u043b\u043e\u0431\u0430\u043b\u044c\u043d\u0430\u044f, \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u0430\u044f \u0438 \u0431\u043b\u043e\u0447\u043d\u0430\u044f (ES6).<\/p>\n\n\n\n<p>\u0413\u043b\u043e\u0431\u0430\u043b\u044c\u043d\u0430\u044f \u043e\u0431\u043b\u0430\u0441\u0442\u044c \u0432\u0438\u0434\u0438\u043c\u043e\u0441\u0442\u0438 \u2014 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435 \u0438 \u0444\u0443\u043d\u043a\u0446\u0438\u0438, \u043e\u0431\u044a\u044f\u0432\u043b\u0435\u043d\u043d\u044b\u0435 \u0432 \u0433\u043b\u043e\u0431\u0430\u043b\u044c\u043d\u043e\u043c \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u0435 \u0438\u043c\u0435\u043d, \u0438\u043c\u0435\u044e\u0442 \u0433\u043b\u043e\u0431\u0430\u043b\u044c\u043d\u0443\u044e \u043e\u0431\u043b\u0430\u0441\u0442\u044c \u0432\u0438\u0434\u0438\u043c\u043e\u0441\u0442\u0438 \u0438 \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b \u0438\u0437 \u043b\u044e\u0431\u043e\u0433\u043e \u043c\u0435\u0441\u0442\u0430 \u0432 \u043a\u043e\u0434\u0435.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td>123456789<\/td><td>\/\/ \u0433\u043b\u043e\u0431\u0430\u043b\u044c\u043d\u043e\u0435 \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u043e \u0438\u043c\u0435\u043dvar g = &#8216;global&#8217;&nbsp;function globalFunc() {&nbsp;&nbsp;&nbsp;&nbsp;function innerFunc() {&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;console.log(g) \/\/ \u0438\u043c\u0435\u0435\u0442 \u0434\u043e\u0441\u0442\u0443\u043f \u043a \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439 g, \u043f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 \u043e\u043d\u0430 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0433\u043b\u043e\u0431\u0430\u043b\u044c\u043d\u043e\u0439&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;&nbsp;innerFunc()}<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>\u0424\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u0430\u044f \u043e\u0431\u043b\u0430\u0441\u0442\u044c \u0432\u0438\u0434\u0438\u043c\u043e\u0441\u0442\u0438 (\u043e\u0431\u043b\u0430\u0441\u0442\u044c \u0432\u0438\u0434\u0438\u043c\u043e\u0441\u0442\u0438 \u0444\u0443\u043d\u043a\u0446\u0438\u0438) \u2014 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435, \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0438 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b, \u043e\u0431\u044a\u044f\u0432\u043b\u0435\u043d\u043d\u044b\u0435 \u0432\u043d\u0443\u0442\u0440\u0438 \u0444\u0443\u043d\u043a\u0446\u0438\u0438, \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b \u0442\u043e\u043b\u044c\u043a\u043e \u0432\u043d\u0443\u0442\u0440\u0438 \u044d\u0442\u043e\u0439 \u0444\u0443\u043d\u043a\u0446\u0438\u0438.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td>12345678910<\/td><td>function myFavouriteFunc(a) {&nbsp;&nbsp;&nbsp;&nbsp;if (true) {&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;var b = &#8216;Hello &#8216; + a&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;&nbsp;return b}myFavouriteFunc(&#8216;World&#8217;)&nbsp;console.log(a) \/\/ Uncaught ReferenceError: a is not definedconsole.log(b) \/\/ \u043d\u0435 \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u0442\u0441\u044f<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>\u0411\u043b\u043e\u0447\u043d\u0430\u044f \u043e\u0431\u043b\u0430\u0441\u0442\u044c \u0432\u0438\u0434\u0438\u043c\u043e\u0441\u0442\u0438 \u2014 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435 (\u043e\u0431\u044a\u044f\u0432\u043b\u0435\u043d\u043d\u044b\u0435 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u043a\u043b\u044e\u0447\u0435\u0432\u044b\u0445 \u0441\u043b\u043e\u0432 \u00ablet\u00bb \u0438 \u00abconst\u00bb) \u0432\u043d\u0443\u0442\u0440\u0438 \u0431\u043b\u043e\u043a\u0430 ({ }), \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b \u0442\u043e\u043b\u044c\u043a\u043e \u0432\u043d\u0443\u0442\u0440\u0438 \u043d\u0435\u0433\u043e.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td>12345678<\/td><td>function testBlock() {&nbsp;&nbsp;&nbsp;&nbsp;if (true) {&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;let z = 5&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;&nbsp;return z}&nbsp;testBlock() \/\/ Uncaught ReferenceError: z is not defined<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>\u041e\u0431\u043b\u0430\u0441\u0442\u044c \u0432\u0438\u0434\u0438\u043c\u043e\u0441\u0442\u0438 \u2014 \u044d\u0442\u043e \u0442\u0430\u043a\u0436\u0435 \u043d\u0430\u0431\u043e\u0440 \u043f\u0440\u0430\u0432\u0438\u043b, \u043f\u043e \u043a\u043e\u0442\u043e\u0440\u044b\u043c \u043e\u0441\u0443\u0449\u0435\u0441\u0442\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043f\u043e\u0438\u0441\u043a \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439. \u0415\u0441\u043b\u0438 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439 \u043d\u0435 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u0435\u0442 \u0432 \u0442\u0435\u043a\u0443\u0449\u0435\u0439 \u043e\u0431\u043b\u0430\u0441\u0442\u0438 \u0432\u0438\u0434\u0438\u043c\u043e\u0441\u0442\u0438, \u0435\u0435 \u043f\u043e\u0438\u0441\u043a \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0441\u044f \u0432\u044b\u0448\u0435, \u0432\u043e \u0432\u043d\u0435\u0448\u043d\u0435\u0439 \u043f\u043e \u043e\u0442\u043d\u043e\u0448\u0435\u043d\u0438\u044e \u043a \u0442\u0435\u043a\u0443\u0449\u0435\u0439 \u043e\u0431\u043b\u0430\u0441\u0442\u0438 \u0432\u0438\u0434\u0438\u043c\u043e\u0441\u0442\u0438. \u0415\u0441\u043b\u0438 \u0438 \u0432\u043e \u0432\u043d\u0435\u0448\u043d\u0435\u0439 \u043e\u0431\u043b\u0430\u0441\u0442\u0438 \u0432\u0438\u0434\u0438\u043c\u043e\u0441\u0442\u0438 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0430\u044f \u043e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u0435\u0442, \u0435\u0435 \u043f\u043e\u0438\u0441\u043a \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0430\u0435\u0442\u0441\u044f \u0432\u043f\u043b\u043e\u0442\u044c \u0434\u043e \u0433\u043b\u043e\u0431\u0430\u043b\u044c\u043d\u043e\u0439 \u043e\u0431\u043b\u0430\u0441\u0442\u0438 \u0432\u0438\u0434\u0438\u043c\u043e\u0441\u0442\u0438. \u0415\u0441\u043b\u0438 \u0432 \u0433\u043b\u043e\u0431\u0430\u043b\u044c\u043d\u043e\u0439 \u043e\u0431\u043b\u0430\u0441\u0442\u0438 \u0432\u0438\u0434\u0438\u043c\u043e\u0441\u0442\u0438 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0430\u044f \u043e\u0431\u043d\u0430\u0440\u0443\u0436\u0435\u043d\u0430, \u043f\u043e\u0438\u0441\u043a \u043f\u0440\u0435\u043a\u0440\u0430\u0449\u0430\u0435\u0442\u0441\u044f, \u0435\u0441\u043b\u0438 \u043d\u0435\u0442 \u2014 \u0432\u044b\u0431\u0440\u0430\u0441\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u0438\u0441\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435. \u041f\u043e\u0438\u0441\u043a \u043e\u0441\u0443\u0449\u0435\u0441\u0442\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043f\u043e \u0431\u043b\u0438\u0436\u0430\u0439\u0448\u0438\u043c \u043a \u0442\u0435\u043a\u0443\u0449\u0435\u0439 \u043e\u0431\u043b\u0430\u0441\u0442\u044f\u043c \u0432\u0438\u0434\u0438\u043c\u043e\u0441\u0442\u0438 \u0438 \u043e\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u0441 \u043d\u0430\u0445\u043e\u0436\u0434\u0435\u043d\u0438\u0435\u043c \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439. \u042d\u0442\u043e \u043d\u0430\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u0446\u0435\u043f\u043e\u0447\u043a\u043e\u0439 \u043e\u0431\u043b\u0430\u0441\u0442\u0435\u0439 \u0432\u0438\u0434\u0438\u043c\u043e\u0441\u0442\u0438 (Scope Chain).<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td>12345678910111213141516171819202122<\/td><td>\/\/ \u0446\u0435\u043f\u043e\u0447\u043a\u0430 \u043e\u0431\u043b\u0430\u0441\u0442\u0435\u0439 \u0432\u0438\u0434\u0438\u043c\u043e\u0441\u0442\u0438\/\/ \u0432\u043d\u0443\u0442\u0440\u0435\u043d\u043d\u044f\u044f \u043e\u0431\u043b\u0430\u0441\u0442\u044c \u0432\u0438\u0434\u0438\u043c\u043e\u0441\u0442\u0438 -&amp;gt; \u0432\u043d\u0435\u0448\u043d\u044f\u044f \u043e\u0431\u043b\u0430\u0441\u0442\u044c \u0432\u0438\u0434\u0438\u043c\u043e\u0441\u0442\u0438 -&amp;gt; \u0433\u043b\u043e\u0431\u0430\u043b\u044c\u043d\u0430\u044f \u043e\u0431\u043b\u0430\u0441\u0442\u044c \u0432\u0438\u0434\u0438\u043c\u043e\u0441\u0442\u0438&nbsp;\/\/ \u0433\u043b\u043e\u0431\u0430\u043b\u044c\u043d\u0430\u044f \u043e\u0431\u043b\u0430\u0441\u0442\u044c \u0432\u0438\u0434\u0438\u043c\u043e\u0441\u0442\u0438var variable1 = &#8216;Comrades&#8217;var variable2 = &#8216;Sayonara&#8217;&nbsp;function outer() {&nbsp;&nbsp;&nbsp;&nbsp;\/\/ \u0432\u043d\u0435\u0448\u043d\u044f\u044f \u043e\u0431\u043b\u0430\u0441\u0442\u044c \u0432\u0438\u0434\u0438\u043c\u043e\u0441\u0442\u0438&nbsp;&nbsp;&nbsp;&nbsp;var variable1 = &#8216;World&#8217;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;function inner() {&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\/\/ \u0432\u043d\u0443\u0442\u0440\u0435\u043d\u043d\u044f\u044f \u043e\u0431\u043b\u0430\u0441\u0442\u044c \u0432\u0438\u0434\u0438\u043c\u043e\u0441\u0442\u0438&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;var variable2 = &#8216;Hello&#8217;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;console.log(variable2 + &#8216; &#8216; + variable1)&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;&nbsp;inner()}outer()\/\/ \u0432 \u043a\u043e\u043d\u0441\u043e\u043b\u044c \u0432\u044b\u0432\u043e\u0434\u0438\u0442\u0441\u044f &#8216;Hello World&#8217;,\/\/ \u043f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e variable2 = &#8216;Hello&#8217; \u0438 variable1 = &#8216;World&#8217; \u044f\u0432\u043b\u044f\u044e\u0442\u0441\u044f \u0431\u043b\u0438\u0436\u0430\u0439\u0448\u0438\u043c\u0438\/\/ \u043a \u0432\u043d\u0443\u0442\u0440\u0435\u043d\u043d\u0435\u0439 \u043e\u0431\u043b\u0430\u0441\u0442\u0438 \u0432\u0438\u0434\u0438\u043c\u043e\u0441\u0442\u0438 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u043c\u0438<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<figure class=\"wp-block-image\"><img src=\"https:\/\/bookflow.ru\/wp-content\/uploads\/2020\/02\/r607q7hehfjmuicf0_icntddk2s-min.png\" alt=\"70 \u0432\u043e\u043f\u0440\u043e\u0441\u043e\u0432 \u043f\u043e JavaScript \u0434\u043b\u044f \u043f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u043a\u0438 \u043a \u0441\u043e\u0431\u0435\u0441\u0435\u0434\u043e\u0432\u0430\u043d\u0438\u044e\" class=\"wp-image-17163\"\/><\/figure>\n\n\n\n<h4>20. \u0427\u0442\u043e \u0442\u0430\u043a\u043e\u0435 \u0437\u0430\u043c\u044b\u043a\u0430\u043d\u0438\u0435 (Closures)?<\/h4>\n\n\n\n<p>\u041d\u0430\u0432\u0435\u0440\u043d\u043e\u0435, \u044d\u0442\u043e \u0441\u0430\u043c\u044b\u0439 \u0441\u043b\u043e\u0436\u043d\u044b\u0439 \u0432\u043e\u043f\u0440\u043e\u0441 \u0438\u0437 \u0441\u043f\u0438\u0441\u043a\u0430. \u042f \u043f\u043e\u0441\u0442\u0430\u0440\u0430\u044e\u0441\u044c \u043e\u0431\u044a\u044f\u0441\u043d\u0438\u0442\u044c, \u043a\u0430\u043a \u044f \u043f\u043e\u043d\u0438\u043c\u0430\u044e \u0437\u0430\u043c\u044b\u043a\u0430\u043d\u0438\u0435.<\/p>\n\n\n\n<p>\u041f\u043e \u0441\u0443\u0442\u0438, \u0437\u0430\u043c\u044b\u043a\u0430\u043d\u0438\u0435 \u2014 \u044d\u0442\u043e \u0441\u043f\u043e\u0441\u043e\u0431\u043d\u043e\u0441\u0442\u044c \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0432\u043e \u0432\u0440\u0435\u043c\u044f \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u0437\u0430\u043f\u043e\u043c\u0438\u043d\u0430\u0442\u044c \u0441\u0441\u044b\u043b\u043a\u0438 \u043d\u0430 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435 \u0438 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b, \u043d\u0430\u0445\u043e\u0434\u044f\u0449\u0438\u0435\u0441\u044f \u0432 \u0442\u0435\u043a\u0443\u0449\u0435\u0439 \u043e\u0431\u043b\u0430\u0441\u0442\u0438 \u0432\u0438\u0434\u0438\u043c\u043e\u0441\u0442\u0438, \u0432 \u043e\u0431\u043b\u0430\u0441\u0442\u0438 \u0432\u0438\u0434\u0438\u043c\u043e\u0441\u0442\u0438 \u0440\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u0441\u043a\u043e\u0439 \u0444\u0443\u043d\u043a\u0446\u0438\u0438, \u0432 \u043e\u0431\u043b\u0430\u0441\u0442\u0438 \u0432\u0438\u0434\u0438\u043c\u043e\u0441\u0442\u0438 \u0440\u043e\u0434\u0438\u0442\u0435\u043b\u044f \u0440\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u0441\u043a\u043e\u0439 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0438 \u0442\u0430\u043a \u0434\u043e \u0433\u043b\u043e\u0431\u0430\u043b\u044c\u043d\u043e\u0439 \u043e\u0431\u043b\u0430\u0441\u0442\u0438 \u0432\u0438\u0434\u0438\u043c\u043e\u0441\u0442\u0438 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0446\u0435\u043f\u043e\u0447\u043a\u0438 \u043e\u0431\u043b\u0430\u0441\u0442\u0435\u0439 \u0432\u0438\u0434\u0438\u043c\u043e\u0441\u0442\u0438. \u041e\u0431\u044b\u0447\u043d\u043e \u043e\u0431\u043b\u0430\u0441\u0442\u044c \u0432\u0438\u0434\u0438\u043c\u043e\u0441\u0442\u0438 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0435\u0442\u0441\u044f \u043f\u0440\u0438 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0438 \u0444\u0443\u043d\u043a\u0446\u0438\u0438.<\/p>\n\n\n\n<p>\u041f\u0440\u0438\u043c\u0435\u0440\u044b \u2014 \u043e\u0442\u043b\u0438\u0447\u043d\u044b\u0439 \u0441\u043f\u043e\u0441\u043e\u0431 \u043e\u0431\u044a\u044f\u0441\u043d\u0438\u0442\u044c \u0437\u0430\u043c\u044b\u043a\u0430\u043d\u0438\u0435:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td>1234567891011<\/td><td>\/\/ \u0433\u043b\u043e\u0431\u0430\u043b\u044c\u043d\u0430\u044f \u043e\u0431\u043b\u0430\u0441\u0442\u044c \u0432\u0438\u0434\u0438\u043c\u043e\u0441\u0442\u0438var globalVar = &#8216;abc&#8217;&nbsp;function a() {&nbsp;&nbsp;&nbsp;&nbsp;\/\/ \u043e\u0431\u043b\u0430\u0441\u0442\u044c \u0432\u0438\u0434\u0438\u043c\u043e\u0441\u0442\u0438 \u0444\u0443\u043d\u043a\u0446\u0438\u0438&nbsp;&nbsp;&nbsp;&nbsp;console.log(globalVar)}&nbsp;a() \/\/ &#8216;abc&#8217;\/\/ \u0446\u0435\u043f\u043e\u0447\u043a\u0430 \u043e\u0431\u043b\u0430\u0441\u0442\u0435\u0439 \u0432\u0438\u0434\u0438\u043c\u043e\u0441\u0442\u0438\/\/ \u043e\u0431\u043b\u0430\u0441\u0442\u044c \u0432\u0438\u0434\u0438\u043c\u043e\u0441\u0442\u0438 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 a -&amp;gt; \u0433\u043b\u043e\u0431\u0430\u043b\u044c\u043d\u0430\u044f \u043e\u0431\u043b\u0430\u0441\u0442\u044c \u0432\u0438\u0434\u0438\u043c\u043e\u0441\u0442\u0438<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>\u0412 \u0434\u0430\u043d\u043d\u043e\u043c \u043f\u0440\u0438\u043c\u0435\u0440\u0435, \u043a\u043e\u0433\u0434\u0430 \u043c\u044b \u043e\u0431\u044a\u044f\u0432\u043b\u044f\u0435\u043c \u0444\u0443\u043d\u043a\u0446\u0438\u044e, \u0433\u043b\u043e\u0431\u0430\u043b\u044c\u043d\u0430\u044f \u043e\u0431\u043b\u0430\u0441\u0442\u044c \u0432\u0438\u0434\u0438\u043c\u043e\u0441\u0442\u0438 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0447\u0430\u0441\u0442\u044c\u044e \u0437\u0430\u043c\u044b\u043a\u0430\u043d\u0438\u044f.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img src=\"https:\/\/bookflow.ru\/wp-content\/uploads\/2020\/02\/10keqaosrww0rntbyei1gx9f_k0.png\" alt=\"70 \u0432\u043e\u043f\u0440\u043e\u0441\u043e\u0432 \u043f\u043e JavaScript \u0434\u043b\u044f \u043f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u043a\u0438 \u043a \u0441\u043e\u0431\u0435\u0441\u0435\u0434\u043e\u0432\u0430\u043d\u0438\u044e\" class=\"wp-image-17165\"\/><\/figure>\n\n\n\n<p>\u041f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0430\u044f \u00abglobalVar\u00bb \u043d\u0435 \u0438\u043c\u0435\u0435\u0442 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u043d\u0430 \u043a\u0430\u0440\u0442\u0438\u043d\u043a\u0435, \u043f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e \u0435\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u043c\u043e\u0436\u0435\u0442 \u043c\u0435\u043d\u044f\u0442\u044c\u0441\u044f \u0432 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0438 \u043e\u0442 \u0442\u043e\u0433\u043e, \u0433\u0434\u0435 \u0438 \u043a\u043e\u0433\u0434\u0430 \u0431\u0443\u0434\u0435\u0442 \u0432\u044b\u0437\u0432\u0430\u043d\u0430 \u0444\u0443\u043d\u043a\u0446\u0438\u044f. \u041d\u043e \u0432 \u043f\u0440\u0438\u043c\u0435\u0440\u0435 \u0432\u044b\u0448\u0435 globalVar \u0431\u0443\u0434\u0435\u0442 \u0438\u043c\u0435\u0442\u044c \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u00ababc\u00bb.<\/p>\n\n\n\n<p>\u0422\u0435\u043f\u0435\u0440\u044c \u043f\u0440\u0438\u043c\u0435\u0440 \u043f\u043e\u0441\u043b\u043e\u0436\u043d\u0435\u0435:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td>1234567891011121314<\/td><td>var globalVar = &#8216;global&#8217;var outerVar = &#8216;outer&#8217;&nbsp;function outerFunc(outerParam) {&nbsp;&nbsp;&nbsp;&nbsp;function innerFunc(innerParam) {&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;console.log(globalVar, outerParam, innerParam)&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;&nbsp;return innerFunc}&nbsp;const x = outerFunc(outerVar)outerVar = &#8216;outer-2&#8217;globalVar = &#8216;guess&#8217;x(&#8216;inner&#8217;)<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<figure class=\"wp-block-image\"><img src=\"https:\/\/bookflow.ru\/wp-content\/uploads\/2020\/02\/msdvwxdxp5s3l4cquxnqgkdtyr0-min.png\" alt=\"70 \u0432\u043e\u043f\u0440\u043e\u0441\u043e\u0432 \u043f\u043e JavaScript \u0434\u043b\u044f \u043f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u043a\u0438 \u043a \u0441\u043e\u0431\u0435\u0441\u0435\u0434\u043e\u0432\u0430\u043d\u0438\u044e\" class=\"wp-image-17166\"\/><\/figure>\n\n\n\n<p>\u0412 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0435 \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u043c \u00abguess outer inner\u00bb. \u041e\u0431\u044a\u044f\u0441\u043d\u0435\u043d\u0438\u0435 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0435: \u043a\u043e\u0433\u0434\u0430 \u043c\u044b \u0432\u044b\u0437\u044b\u0432\u0430\u0435\u043c \u0444\u0443\u043d\u043a\u0446\u0438\u044e outerFunc \u0438 \u043f\u0440\u0438\u0441\u0432\u0430\u0438\u0432\u0430\u0435\u043c \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439 \u00abx\u00bb \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435, \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u043c\u043e\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0435\u0439 innerFunc, \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440 \u00abouterParam\u00bb \u0440\u0430\u0432\u043d\u044f\u0435\u0442\u0441\u044f \u00abouter\u00bb. \u041d\u0435\u0441\u043c\u043e\u0442\u0440\u044f \u043d\u0430 \u0442\u043e, \u0447\u0442\u043e \u043c\u044b \u043f\u0440\u0438\u0441\u0432\u043e\u0438\u043b\u0438 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439 \u00abouterVar\u00bb \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u00abouter-2\u00bb, \u044d\u0442\u043e \u043f\u0440\u043e\u0438\u0437\u043e\u0448\u043b\u043e \u043f\u043e\u0441\u043b\u0435 \u0432\u044b\u0437\u043e\u0432\u0430 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 outerFunc, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u00ab\u0443\u0441\u043f\u0435\u043b\u0430\u00bb \u043d\u0430\u0439\u0442\u0438 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439 \u00abouterVar\u00bb \u0432 \u0446\u0435\u043f\u043e\u0447\u043a\u0435 \u043e\u0431\u043b\u0430\u0441\u0442\u0435\u0439 \u0432\u0438\u0434\u0438\u043c\u043e\u0441\u0442\u0438, \u044d\u0442\u0438\u043c \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435\u043c \u0431\u044b\u043b\u043e \u00abouter\u00bb. \u041a\u043e\u0433\u0434\u0430 \u043c\u044b \u0432\u044b\u0437\u044b\u0432\u0430\u0435\u043c \u00abx\u00bb, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0441\u0441\u044b\u043b\u0430\u0435\u0442\u0441\u044f \u043d\u0430 innerFunc, \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435\u043c \u00abinnerParam\u00bb \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u00abinner\u00bb, \u043f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e \u043c\u044b \u043f\u0435\u0440\u0435\u0434\u0430\u0435\u043c \u044d\u0442\u043e \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430 \u043f\u0440\u0438 \u0432\u044b\u0437\u043e\u0432\u0435 \u00abx\u00bb. globalVar \u0438\u043c\u0435\u0435\u0442 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u00abguess\u00bb, \u043f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e \u043c\u044b \u043f\u0440\u0438\u0441\u0432\u043e\u0438\u043b\u0438 \u0435\u0439 \u044d\u0442\u043e \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u043f\u0435\u0440\u0435\u0434 \u0432\u044b\u0437\u043e\u0432\u043e\u043c \u00abx\u00bb.<\/p>\n\n\n\n<p>\u041f\u0440\u0438\u043c\u0435\u0440 \u043d\u0435\u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e\u0433\u043e \u043f\u043e\u043d\u0438\u043c\u0430\u043d\u0438\u044f \u0437\u0430\u043c\u044b\u043a\u0430\u043d\u0438\u044f.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td>1234567891011<\/td><td>const arrFunc = []for (var i = 0; i &amp;lt; 5; i++) {&nbsp;&nbsp;&nbsp;&nbsp;arrFunc.push(function() {&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return i&nbsp;&nbsp;&nbsp;&nbsp;})}console.log(i) \/\/ 5&nbsp;for (let i = 0; i &amp;lt; arrFunc.length; i++) {&nbsp;&nbsp;&nbsp;&nbsp;console.log(arrFunc[i]()) \/\/ \u0432\u0441\u0435 5}<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>\u0414\u0430\u043d\u043d\u044b\u0439 \u043a\u043e\u0434 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u043d\u0435 \u0442\u0430\u043a, \u043a\u0430\u043a \u043e\u0436\u0438\u0434\u0430\u0435\u0442\u0441\u044f. \u041e\u0431\u044a\u044f\u0432\u043b\u0435\u043d\u0438\u0435 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u043a\u043b\u044e\u0447\u0435\u0432\u043e\u0433\u043e \u0441\u043b\u043e\u0432\u0430 \u00abvar\u00bb \u0434\u0435\u043b\u0430\u0435\u0442 \u044d\u0442\u0443 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0443\u044e \u0433\u043b\u043e\u0431\u0430\u043b\u044c\u043d\u043e\u0439. \u041f\u043e\u0441\u043b\u0435 \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u0439 \u0432 \u043c\u0430\u0441\u0441\u0438\u0432 \u00abarrFunc\u00bb \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435\u043c \u0433\u043b\u043e\u0431\u0430\u043b\u044c\u043d\u043e\u0439 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439 \u00abi\u00bb \u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u0441\u044f \u00ab5\u00bb. \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u043a\u043e\u0433\u0434\u0430 \u043c\u044b \u0432\u044b\u0437\u044b\u0432\u0430\u0435\u043c \u0444\u0443\u043d\u043a\u0446\u0438\u044e, \u043e\u043d\u0430 \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0433\u043b\u043e\u0431\u0430\u043b\u044c\u043d\u043e\u0439 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439 \u00abi\u00bb. \u0417\u0430\u043c\u044b\u043a\u0430\u043d\u0438\u0435 \u0445\u0440\u0430\u043d\u0438\u0442 \u0441\u0441\u044b\u043b\u043a\u0443 \u043d\u0430 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0443\u044e, \u0430 \u043d\u0435 \u043d\u0430 \u0435\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0432\u043e \u0432\u0440\u0435\u043c\u044f \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f. \u042d\u0442\u0443 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0443 \u043c\u043e\u0436\u043d\u043e \u0440\u0435\u0448\u0438\u0442\u044c, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044f IIFE \u0438\u043b\u0438 \u043e\u0431\u044a\u044f\u0432\u0438\u0432 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0443\u044e \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u043a\u043b\u044e\u0447\u0435\u0432\u043e\u0433\u043e \u0441\u043b\u043e\u0432\u0430 \u00ablet\u00bb.<\/p>\n\n\n\n<p>\u041f\u043e\u0434\u0440\u043e\u0431\u043d\u0435\u0435 \u043e \u0437\u0430\u043c\u044b\u043a\u0430\u043d\u0438\u0438 \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u0447\u0438\u0442\u0430\u0442\u044c&nbsp;<a href=\"https:\/\/developer.mozilla.org\/ru\/docs\/Web\/JavaScript\/Closures\" target=\"_blank\" rel=\"noreferrer noopener\">\u0437\u0434\u0435\u0441\u044c<\/a>&nbsp;\u0438&nbsp;<a href=\"https:\/\/learn.javascript.ru\/closure\" target=\"_blank\" rel=\"noreferrer noopener\">\u0437\u0434\u0435\u0441\u044c<\/a>.<\/p>\n\n\n\n<h4>21. \u041a\u0430\u043a\u0438\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u0432 JS \u044f\u0432\u043b\u044f\u044e\u0442\u0441\u044f \u043b\u043e\u0436\u043d\u044b\u043c\u0438?<\/h4>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td>1<\/td><td>const falsyValues = [&#8221;, 0, null, undefined, NaN, false]<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>\u041b\u043e\u0436\u043d\u044b\u043c\u0438 \u044f\u0432\u043b\u044f\u044e\u0442\u0441\u044f \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f, \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u043e\u043c \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0432 \u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u043e\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f false.<\/p>\n\n\n\n<h4>22. \u041a\u0430\u043a \u043f\u0440\u043e\u0432\u0435\u0440\u0438\u0442\u044c, \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043b\u0438 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u043b\u043e\u0436\u043d\u044b\u043c?<\/h4>\n\n\n\n<p>\u0421\u043b\u0435\u0434\u0443\u0435\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0444\u0443\u043d\u043a\u0446\u0438\u044e Boolean \u0438\u043b\u0438 \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440 \u00ab!!\u00bb (\u0434\u0432\u043e\u0439\u043d\u043e\u0435 \u043e\u0442\u0440\u0438\u0446\u0430\u043d\u0438\u0435).<\/p>\n\n\n\n<h4>23. \u0414\u043b\u044f \u0447\u0435\u0433\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0434\u0438\u0440\u0435\u043a\u0442\u0438\u0432\u0430 \u00abuse strict\u00bb?<\/h4>\n\n\n\n<p>\u00abuse strict\u00bb \u2014 \u044d\u0442\u043e \u0434\u0438\u0440\u0435\u043a\u0442\u0438\u0432\u0430 ES5, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0437\u0430\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u0432\u0435\u0441\u044c \u043d\u0430\u0448 \u043a\u043e\u0434 \u0438\u043b\u0438 \u043a\u043e\u0434 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u043e\u0439 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0442\u044c\u0441\u044f \u0432 \u0441\u0442\u0440\u043e\u0433\u043e\u043c \u0440\u0435\u0436\u0438\u043c\u0435. \u0421\u0442\u0440\u043e\u0433\u0438\u0439 \u0440\u0435\u0436\u0438\u043c \u0432\u0432\u043e\u0434\u0438\u0442 \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u044f \u043f\u043e \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u0438\u044e \u043a\u043e\u0434\u0430, \u0442\u0435\u043c \u0441\u0430\u043c\u044b\u043c \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044f \u0438\u0437\u0431\u0435\u0433\u0430\u0442\u044c \u043e\u0448\u0438\u0431\u043e\u043a \u043d\u0430 \u0440\u0430\u043d\u043d\u0438\u0445 \u044d\u0442\u0430\u043f\u0430\u0445.<\/p>\n\n\n\n<p>\u0412\u043e\u0442 \u043a\u0430\u043a\u0438\u0435 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u044f \u043d\u0430\u043a\u043b\u0430\u0434\u044b\u0432\u0430\u0435\u0442 \u0441\u0442\u0440\u043e\u0433\u0438\u0439 \u0440\u0435\u0436\u0438\u043c.<\/p>\n\n\n\n<p>\u041d\u0435\u043b\u044c\u0437\u044f \u043f\u0440\u0438\u0441\u0432\u0430\u0438\u0432\u0430\u0442\u044c \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u0438\u043b\u0438 \u043e\u0431\u0440\u0430\u0449\u0430\u0442\u044c\u0441\u044f \u043a \u043d\u0435\u043e\u0431\u044a\u044f\u0432\u043b\u0435\u043d\u043d\u044b\u043c \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u043c:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td>123456<\/td><td>function returnY() {&nbsp;&nbsp;&nbsp;&nbsp;&#8216;use strict&#8217;&nbsp;&nbsp;&nbsp;&nbsp;y = 123&nbsp;&nbsp;&nbsp;&nbsp;return y}returnY() \/\/ Uncaught ReferenceError: y is not defined<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>\u0417\u0430\u043f\u0440\u0435\u0449\u0435\u043d\u043e \u043f\u0440\u0438\u0441\u0432\u0430\u0438\u0432\u0430\u0442\u044c \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u0433\u043b\u043e\u0431\u0430\u043b\u044c\u043d\u044b\u0439 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u043c, \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b\u043c \u0442\u043e\u043b\u044c\u043a\u043e \u0434\u043b\u044f \u0447\u0442\u0435\u043d\u0438\u044f \u0438\u043b\u0438 \u0437\u0430\u043f\u0438\u0441\u0438:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td>1234<\/td><td>&#8216;use strict&#8217;var NaN = NaN \/\/ Uncaught TypeError: Cannot assign to read only property &#8216;NaN&#8217; of object &#8216;#&amp;lt;Window&amp;gt;&#8217;var undefined = undefinedvar Infinity = &#8216;and beyond&#8217;<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>\u041d\u0435\u043b\u044c\u0437\u044f \u0443\u0434\u0430\u043b\u0438\u0442\u044c \u00ab\u043d\u0435\u0443\u0434\u0430\u043b\u044f\u0435\u043c\u043e\u0435\u00bb \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u043e \u043e\u0431\u044a\u0435\u043a\u0442\u0430:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td>12345678<\/td><td>&#8216;use strict&#8217;const obj = {}&nbsp;Object.defineProperties(obj, &#8216;x&#8217;, {&nbsp;&nbsp;&nbsp;&nbsp;value: 1})&nbsp;delete obj.x \/\/ Uncaught TypeError: Property description must be an object: x<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>\u0417\u0430\u043f\u0440\u0435\u0449\u0435\u043d\u043e \u0434\u0443\u0431\u043b\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td>123<\/td><td>&#8216;use strict&#8217;&nbsp;function someFunc(a, b, b, c) {} \/\/ Uncaught SyntaxError: Duplicate parameter name not allowed in this context<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>\u041d\u0435\u043b\u044c\u0437\u044f \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0442\u044c \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0444\u0443\u043d\u043a\u0446\u0438\u0438 eval:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td>12345<\/td><td>&#8216;use strict&#8217;&nbsp;eval(&#8216;var x = 1&#8217;)&nbsp;console.log(x) \/\/ Uncaught ReferenceError: x is not defined<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>\u0417\u043d\u0430\u0447\u0435\u043d\u0438\u0435\u043c \u00abthis\u00bb \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f undefined:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td>1234567<\/td><td>&#8216;use strict&#8217;&nbsp;function showMeThis() {&nbsp;&nbsp;&nbsp;&nbsp;return this}&nbsp;showMeThis() \/\/ undefined<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>\u2026 \u0438 \u0442.\u0434.<\/p>\n\n\n\n<h4>24. \u041a\u0430\u043a\u043e\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0438\u043c\u0435\u0435\u0442 this?<\/h4>\n\n\n\n<p>\u041e\u0431\u044b\u0447\u043d\u043e this \u0441\u0441\u044b\u043b\u0430\u0435\u0442\u0441\u044f \u043d\u0430 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u043e\u0431\u044a\u0435\u043a\u0442\u0430, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0432 \u0434\u0430\u043d\u043d\u044b\u0439 \u043c\u043e\u043c\u0435\u043d\u0442 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442 \u0438\u043b\u0438 \u0432\u044b\u0437\u044b\u0432\u0430\u0435\u0442 \u0444\u0443\u043d\u043a\u0446\u0438\u044e. \u00ab\u0412 \u0434\u0430\u043d\u043d\u044b\u0439 \u043c\u043e\u043c\u0435\u043d\u0442\u00bb \u043e\u0437\u043d\u0430\u0447\u0430\u0435\u0442, \u0447\u0442\u043e \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 this \u043c\u0435\u043d\u044f\u0435\u0442\u0441\u044f \u0432 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0438 \u043e\u0442 \u043a\u043e\u043d\u0442\u0435\u043a\u0441\u0442\u0430 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f, \u043e\u0442 \u0442\u043e\u0433\u043e \u043c\u0435\u0441\u0442\u0430, \u0433\u0434\u0435 \u043c\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c this.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td>12345678910<\/td><td>const carDetails = {&nbsp;&nbsp;&nbsp;&nbsp;name: &#8216;Ford Mustang&#8217;,&nbsp;&nbsp;&nbsp;&nbsp;yearBought: 2005,&nbsp;&nbsp;&nbsp;&nbsp;getName() {&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return this.name&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;&nbsp;isRegistered: true}&nbsp;console.log(carDetails.getName()) \/\/ Ford Mustang<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>\u0412 \u0434\u0430\u043d\u043d\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u043c\u0435\u0442\u043e\u0434 getName \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 this.name, \u0430 this \u0441\u0441\u044b\u043b\u0430\u0435\u0442\u0441\u044f \u043d\u0430 carDetails, \u043e\u0431\u044a\u0435\u043a\u0442, \u0432 \u043a\u043e\u0442\u043e\u0440\u043e\u043c \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442\u0441\u044f getName, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0435\u0435 \u00ab\u0432\u043b\u0430\u0434\u0435\u043b\u044c\u0446\u0435\u043c\u00bb.<\/p>\n\n\n\n<p>\u0414\u043e\u0431\u0430\u0432\u0438\u043c \u043f\u043e\u0441\u043b\u0435 console.log \u0442\u0440\u0438 \u0441\u0442\u0440\u043e\u0447\u043a\u0438:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td>1234<\/td><td>var name = &#8216;Ford Ranger&#8217;var getCarName = carDetails.getName&nbsp;console.log(getCarName()) \/\/ Ford Ranger<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>\u0412\u0442\u043e\u0440\u043e\u0439 console.log \u0432\u044b\u0434\u0430\u0435\u0442 Ford Ranger, \u0438 \u044d\u0442\u043e \u0441\u0442\u0440\u0430\u043d\u043d\u043e. \u041f\u0440\u0438\u0447\u0438\u043d\u0430 \u0442\u0430\u043a\u043e\u0433\u043e \u043f\u043e\u0432\u0435\u0434\u0435\u043d\u0438\u044f \u0437\u0430\u043a\u043b\u044e\u0447\u0430\u0435\u0442\u0441\u044f \u0432 \u0442\u043e\u043c, \u0447\u0442\u043e \u00ab\u0432\u043b\u0430\u0434\u0435\u043b\u044c\u0446\u0435\u043c\u00bb getCarName \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043e\u0431\u044a\u0435\u043a\u0442 window. \u041f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435, \u043e\u0431\u044a\u044f\u0432\u043b\u0435\u043d\u043d\u044b\u0435 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u043a\u043b\u044e\u0447\u0435\u0432\u043e\u0433\u043e \u0441\u043b\u043e\u0432\u0430 \u00abvar\u00bb \u0432 \u0433\u043b\u043e\u0431\u0430\u043b\u044c\u043d\u043e\u0439 \u043e\u0431\u043b\u0430\u0441\u0442\u0438 \u0432\u0438\u0434\u0438\u043c\u043e\u0441\u0442\u0438, \u0437\u0430\u043f\u0438\u0441\u044b\u0432\u0430\u044e\u0442\u0441\u044f \u0432 \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u0430 \u043e\u0431\u044a\u0435\u043a\u0442\u0430 window. this \u0432 \u0433\u043b\u043e\u0431\u0430\u043b\u044c\u043d\u043e\u0439 \u043e\u0431\u043b\u0430\u0441\u0442\u0438 \u0432\u0438\u0434\u0438\u043c\u043e\u0441\u0442\u0438 \u0441\u0441\u044b\u043b\u0430\u0435\u0442\u0441\u044f \u043d\u0430 \u043e\u0431\u044a\u0435\u043a\u0442 window (\u0435\u0441\u043b\u0438 \u0440\u0435\u0447\u044c \u043d\u0435 \u0438\u0434\u0435\u0442 \u043e \u0441\u0442\u0440\u043e\u0433\u043e\u043c \u0440\u0435\u0436\u0438\u043c\u0435).<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td>12<\/td><td>console.log(getCarName === window.getCarName) \/\/ trueconsole.log(getCarName === this.getCarName) \/\/ true<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>\u0412 \u044d\u0442\u043e\u043c \u043f\u0440\u0438\u043c\u0435\u0440\u0435 this \u0438 window \u0441\u0441\u044b\u043b\u0430\u044e\u0442\u0441\u044f \u043d\u0430 \u043e\u0434\u0438\u043d \u043e\u0431\u044a\u0435\u043a\u0442.<\/p>\n\n\n\n<p>\u041e\u0434\u043d\u0438\u043c \u0438\u0437 \u0441\u043f\u043e\u0441\u043e\u0431\u043e\u0432 \u0440\u0435\u0448\u0435\u043d\u0438\u044f \u0434\u0430\u043d\u043d\u043e\u0439 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u044b \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u043c\u0435\u0442\u043e\u0434\u043e\u0432 call \u0438\u043b\u0438 apply:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td>12<\/td><td>console.log(getCarName.apply(carDetails)) \/\/ Ford Mustangconsole.log(getCarName.call(carDetails)) \/\/ Ford Mustang<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>Call \u0438 apply \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u044e\u0442 \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u043f\u0435\u0440\u0432\u043e\u0433\u043e \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442\u0430 \u043e\u0431\u044a\u0435\u043a\u0442, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0431\u0443\u0434\u0435\u0442 \u044f\u0432\u043b\u044f\u0442\u044c\u0441\u044f \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435\u043c this \u0432\u043d\u0443\u0442\u0440\u0438 \u0444\u0443\u043d\u043a\u0446\u0438\u0438.<\/p>\n\n\n\n<p>\u0412 IIFE, \u0444\u0443\u043d\u043a\u0446\u0438\u044f\u0445, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0441\u043e\u0437\u0434\u0430\u044e\u0442\u0441\u044f \u0432 \u0433\u043b\u043e\u0431\u0430\u043b\u044c\u043d\u043e\u043c \u043e\u0431\u043b\u0430\u0441\u0442\u0438 \u0432\u0438\u0434\u0438\u043c\u043e\u0441\u0442\u0438, \u0430\u043d\u043e\u043d\u0438\u043c\u043d\u044b\u0445 \u0444\u0443\u043d\u043a\u0446\u0438\u044f\u0445 \u0438 \u0432\u043d\u0443\u0442\u0440\u0435\u043d\u043d\u0438\u0445 \u0444\u0443\u043d\u043a\u0446\u0438\u044f\u0445 \u043c\u0435\u0442\u043e\u0434\u043e\u0432 \u043e\u0431\u044a\u0435\u043a\u0442\u0430 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435\u043c this \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043e\u0431\u044a\u0435\u043a\u0442 window.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td>1234567891011121314151617181920212223242526<\/td><td>(function() {&nbsp;&nbsp;&nbsp;&nbsp;console.log(this)})() \/\/ window&nbsp;function iHateThis() {&nbsp;&nbsp;&nbsp;&nbsp;console.log(this)}iHateThis() \/\/ window&nbsp;const myFavouriteObj = {&nbsp;&nbsp;&nbsp;&nbsp;guessThis() {&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;function getName() {&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;console.log(this.name)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;getName()&nbsp;&nbsp;&nbsp;&nbsp;},&nbsp;&nbsp;&nbsp;&nbsp;name: &#8216;Marko Polo&#8217;,&nbsp;&nbsp;&nbsp;&nbsp;thisIsAnnoying(callback) {&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;callback()&nbsp;&nbsp;&nbsp;&nbsp;}}&nbsp;myFavouriteObj.guessThis() \/\/ windowmyFavouriteObj.thisIsAnnoying(function() {&nbsp;&nbsp;&nbsp;&nbsp;console.log(this) \/\/ window})<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>\u0421\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u0435\u0442 \u0434\u0432\u0430 \u0441\u043f\u043e\u0441\u043e\u0431\u0430 \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u00abMarko Polo\u00bb.<\/p>\n\n\n\n<p>\u0412\u043e-\u043f\u0435\u0440\u0432\u044b\u0445, \u043c\u044b \u043c\u043e\u0436\u0435\u043c \u0441\u043e\u0445\u0440\u0430\u043d\u0438\u0442\u044c \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 this \u0432 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td>12345678910111213<\/td><td>const myFavoriteObj = {&nbsp;&nbsp;&nbsp;&nbsp;guessThis() {&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;const self = this \/\/ \u0441\u043e\u0445\u0440\u0430\u043d\u044f\u0435\u043c \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 this \u0432 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439 self&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;function getName() {&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;console.log(self.name)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;getName()&nbsp;&nbsp;&nbsp;&nbsp;},&nbsp;&nbsp;&nbsp;&nbsp;name: &#8216;Marko Polo&#8217;,&nbsp;&nbsp;&nbsp;&nbsp;thisIsAnnoying(callback) {&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;callback()&nbsp;&nbsp;&nbsp;&nbsp;}}<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>\u0412\u043e-\u0432\u0442\u043e\u0440\u044b\u0445, \u043c\u044b \u043c\u043e\u0436\u0435\u043c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0441\u0442\u0440\u0435\u043b\u043e\u0447\u043d\u0443\u044e \u0444\u0443\u043d\u043a\u0446\u0438\u044e:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td>12345678910111213<\/td><td>const myFavoriteObj = {&nbsp;&nbsp;&nbsp;&nbsp;guessThis() {&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;const getName = () =&amp;gt; {&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\/\/ \u043a\u043e\u043f\u0438\u0440\u0443\u0435\u043c \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 this \u0438\u0437 \u0432\u043d\u0435\u0448\u043d\u0435\u0433\u043e \u043e\u043a\u0440\u0443\u0436\u0435\u043d\u0438\u044f&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;console.log(this.name)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;getName()&nbsp;&nbsp;&nbsp;&nbsp;},&nbsp;&nbsp;&nbsp;&nbsp;name: &#8216;Marko Polo&#8217;,&nbsp;&nbsp;&nbsp;&nbsp;thisIsAnnoying(callback) {&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;callback()&nbsp;&nbsp;&nbsp;&nbsp;}}<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>\u0421\u0442\u0440\u0435\u043b\u043e\u0447\u043d\u044b\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u043d\u0435 \u0438\u043c\u0435\u044e\u0442 \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0433\u043e \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f this. \u041e\u043d\u0438 \u043a\u043e\u043f\u0438\u0440\u0443\u044e\u0442 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 this \u0438\u0437 \u0432\u043d\u0435\u0448\u043d\u0435\u0433\u043e \u043b\u0435\u043a\u0441\u0438\u0447\u0435\u0441\u043a\u043e\u0433\u043e \u043e\u043a\u0440\u0443\u0436\u0435\u043d\u0438\u044f.<\/p>\n\n\n\n<h4>25. \u0427\u0442\u043e \u0442\u0430\u043a\u043e\u0435 \u043f\u0440\u043e\u0442\u043e\u0442\u0438\u043f \u043e\u0431\u044a\u0435\u043a\u0442\u0430?<\/h4>\n\n\n\n<p>\u0412 \u0434\u0432\u0443\u0445 \u0441\u043b\u043e\u0432\u0430\u0445, \u043f\u0440\u043e\u0442\u043e\u0442\u0438\u043f \u2014 \u044d\u0442\u043e \u043f\u043b\u0430\u043d (\u0441\u0445\u0435\u043c\u0430 \u0438\u043b\u0438 \u043f\u0440\u043e\u0435\u043a\u0442) \u043e\u0431\u044a\u0435\u043a\u0442\u0430. \u041e\u043d \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u043a\u0430\u043a \u0437\u0430\u043f\u0430\u0441\u043d\u043e\u0439 \u0432\u0430\u0440\u0438\u0430\u043d\u0442 \u0434\u043b\u044f \u0441\u0432\u043e\u0439\u0441\u0442\u0432 \u0438 \u043c\u0435\u0442\u043e\u0434\u043e\u0432, \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0445 \u0432 \u0434\u0430\u043d\u043d\u043e\u043c \u043e\u0431\u044a\u0435\u043a\u0442\u0435. \u042d\u0442\u043e \u0442\u0430\u043a\u0436\u0435 \u043e\u0434\u0438\u043d \u0438\u0437 \u0441\u043f\u043e\u0441\u043e\u0431\u043e\u0432 \u043e\u0431\u043c\u0435\u043d\u0430 \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u0430\u043c\u0438 \u0438 \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u043e\u0441\u0442\u044c\u044e \u043c\u0435\u0436\u0434\u0443 \u043e\u0431\u044a\u0435\u043a\u0442\u0430\u043c\u0438. \u042d\u0442\u043e \u043e\u0441\u043d\u043e\u0432\u043d\u0430\u044f \u043a\u043e\u043d\u0446\u0435\u043f\u0446\u0438\u044f \u043f\u0440\u043e\u0442\u043e\u0442\u0438\u043f\u043d\u043e\u0433\u043e \u043d\u0430\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u043d\u0438\u044f \u0432 JS.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td>12<\/td><td>const o = {}console.log(o.toString()) \/\/ [object Object]<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>\u041d\u0435\u0441\u043c\u043e\u0442\u0440\u044f \u043d\u0430 \u0442\u043e, \u0447\u0442\u043e \u043e\u0431\u044a\u0435\u043a\u0442 \u00ab\u043e\u00bb \u043d\u0435 \u0438\u043c\u0435\u0435\u0442 \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u0430 toString, \u043e\u0431\u0440\u0430\u0449\u0435\u043d\u0438\u0435 \u043a \u044d\u0442\u043e\u043c\u0443 \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u0443 \u043d\u0435 \u0432\u044b\u0437\u044b\u0432\u0430\u0435\u0442 \u043e\u0448\u0438\u0431\u043a\u0438. \u0415\u0441\u043b\u0438 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u043e\u0433\u043e \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u0430 \u043d\u0435\u0442 \u0432 \u043e\u0431\u044a\u0435\u043a\u0442\u0435, \u0435\u0433\u043e \u043f\u043e\u0438\u0441\u043a \u043e\u0441\u0443\u0449\u0435\u0441\u0442\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0441\u043d\u0430\u0447\u0430\u043b\u0430 \u0432 \u043f\u0440\u043e\u0442\u043e\u0442\u0438\u043f\u0435 \u043e\u0431\u044a\u0435\u043a\u0442\u0430, \u0437\u0430\u0442\u0435\u043c \u0432 \u043f\u0440\u043e\u0442\u043e\u0442\u0438\u043f\u0435 \u043f\u0440\u043e\u0442\u043e\u0442\u0438\u043f\u0430 \u043e\u0431\u044a\u0435\u043a\u0442\u0430 \u0438 \u0442\u0430\u043a \u0434\u043e \u0442\u0435\u0445 \u043f\u043e\u0440, \u043f\u043e\u043a\u0430 \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u043e \u043d\u0435 \u0431\u0443\u0434\u0435\u0442 \u043d\u0430\u0439\u0434\u0435\u043d\u043e. \u042d\u0442\u043e \u043d\u0430\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u0446\u0435\u043f\u043e\u0447\u043a\u043e\u0439 \u043f\u0440\u043e\u0442\u043e\u0442\u0438\u043f\u043e\u0432. \u041d\u0430 \u0432\u0435\u0440\u0448\u0438\u043d\u0435 \u0446\u0435\u043f\u043e\u0447\u043a\u0438 \u043f\u0440\u043e\u0442\u043e\u0442\u0438\u043f\u043e\u0432 \u043d\u0430\u0445\u043e\u0434\u0438\u0442\u0441\u044f Object.prototype.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td>1<\/td><td>console.log(o.toString === Object.prototype.toString) \/\/ true<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>\u041f\u043e\u0434\u0440\u043e\u0431\u043d\u0435\u0435 \u043e \u043f\u0440\u043e\u0442\u043e\u0442\u0438\u043f\u0430\u0445 \u0438 \u043d\u0430\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u043d\u0438\u0438 \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u0447\u0438\u0442\u0430\u0442\u044c&nbsp;<a href=\"https:\/\/learn.javascript.ru\/prototype-inheritance\" target=\"_blank\" rel=\"noreferrer noopener\">\u0437\u0434\u0435\u0441\u044c<\/a>&nbsp;\u0438&nbsp;<a href=\"https:\/\/developer.mozilla.org\/en-US\/docs\/Web\/JavaScript\/Inheritance_and_the_prototype_chain\" target=\"_blank\" rel=\"noreferrer noopener\">\u0437\u0434\u0435\u0441\u044c<\/a>.<\/p>\n\n\n\n<h4>26. \u0427\u0442\u043e \u0442\u0430\u043a\u043e\u0435 IIFE?<\/h4>\n\n\n\n<p>IIFE \u0438\u043b\u0438 Immediately Invoked Function Expression \u2014 \u044d\u0442\u043e \u0444\u0443\u043d\u043a\u0446\u0438\u044f, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0432\u044b\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u0438\u043b\u0438 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442\u0441\u044f \u0441\u0440\u0430\u0437\u0443 \u0436\u0435 \u043f\u043e\u0441\u043b\u0435 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u0438\u043b\u0438 \u043e\u0431\u044a\u044f\u0432\u043b\u0435\u043d\u0438\u044f. \u0414\u043b\u044f \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f IIFE \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u043e\u0431\u0435\u0440\u043d\u0443\u0442\u044c \u0444\u0443\u043d\u043a\u0446\u0438\u044e \u0432 \u043a\u0440\u0443\u0433\u043b\u044b\u0435 \u0441\u043a\u043e\u0431\u043a\u0438 (\u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440 \u0433\u0440\u0443\u043f\u043f\u0438\u0440\u043e\u0432\u043a\u0438), \u043f\u0440\u0435\u0432\u0440\u0430\u0442\u0438\u0432 \u0435\u0435 \u0432 \u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u0435, \u0438 \u0437\u0430\u0442\u0435\u043c \u0432\u044b\u0437\u0432\u0430\u0442\u044c \u0435\u0435 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0435\u0449\u0435 \u043e\u0434\u043d\u0438\u0445 \u043a\u0440\u0443\u0433\u043b\u044b\u0445 \u0441\u043a\u043e\u0431\u043e\u043a. \u042d\u0442\u043e \u0432\u044b\u0433\u043b\u044f\u0434\u0438\u0442 \u0442\u0430\u043a: (function(){})().<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td>123456789101112131415<\/td><td>(function( ) { }( ))&nbsp;(function( ) { })( )&nbsp;(function named(params) { })( )&nbsp;(( ) =&amp;gt; { })&nbsp;(function(global) { })(window)&nbsp;const utility = (function( ) {&nbsp;&nbsp;&nbsp;&nbsp;return {&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\/\/ \u0443\u0442\u0438\u043b\u0438\u0442\u044b&nbsp;&nbsp;&nbsp;&nbsp;}})<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>\u0412\u0441\u0435 \u044d\u0442\u0438 \u043f\u0440\u0438\u043c\u0435\u0440\u044b \u044f\u0432\u043b\u044f\u044e\u0442\u0441\u044f \u0432\u0430\u043b\u0438\u0434\u043d\u044b\u043c\u0438. \u041f\u0440\u0435\u0434\u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0439 \u043f\u0440\u0438\u043c\u0435\u0440 \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442, \u0447\u0442\u043e \u043c\u044b \u043c\u043e\u0436\u0435\u043c \u043f\u0435\u0440\u0435\u0434\u0430\u0432\u0430\u0442\u044c \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b \u0432 IIFE. \u041f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0439 \u043f\u0440\u0438\u043c\u0435\u0440 \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442, \u0447\u0442\u043e \u043c\u044b \u043c\u043e\u0436\u0435\u043c \u0441\u043e\u0445\u0440\u0430\u043d\u0438\u0442\u044c \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 IIFE \u0432 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439.<\/p>\n\n\n\n<p>\u041b\u0443\u0447\u0448\u0435\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 IIFE \u2014 \u044d\u0442\u043e \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0439 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u0438\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u0438 \u043f\u0440\u0435\u0434\u043e\u0442\u0432\u0440\u0430\u0449\u0435\u043d\u0438\u0435 \u043a\u043e\u043d\u0444\u043b\u0438\u043a\u0442\u043e\u0432 \u0438\u043c\u0435\u043d \u0441 \u0434\u0440\u0443\u0433\u0438\u043c\u0438 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u043c\u0438 \u0432 \u0433\u043b\u043e\u0431\u0430\u043b\u044c\u043d\u043e\u0439 \u043e\u0431\u043b\u0430\u0441\u0442\u0438 \u0432\u0438\u0434\u0438\u043c\u043e\u0441\u0442\u0438 (\u0437\u0430\u0433\u0440\u044f\u0437\u043d\u0435\u043d\u0438\u0435 \u0433\u043b\u043e\u0431\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u0430 \u0438\u043c\u0435\u043d). \u041f\u0440\u0438\u0432\u0435\u0434\u0435\u043c \u043f\u0440\u0438\u043c\u0435\u0440.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td>1<\/td><td>&amp;lt;script src=&#8221;https:\/\/cdnurl.com\/somelibrary.js&#8221;&amp;gt;&amp;lt;\/script&amp;gt;<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>\u0423 \u043d\u0430\u0441 \u0435\u0441\u0442\u044c \u0441\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0443 somelibrary.js, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0433\u043b\u043e\u0431\u0430\u043b\u044c\u043d\u044b\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043c\u044b \u043c\u043e\u0436\u0435\u043c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0432 \u043d\u0430\u0448\u0435\u043c \u043a\u043e\u0434\u0435, \u043d\u043e \u0432 \u044d\u0442\u043e\u0439 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0435 \u0435\u0441\u0442\u044c \u0434\u0432\u0430 \u043c\u0435\u0442\u043e\u0434\u0430, createGraph \u0438 drawGraph, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043c\u044b \u043d\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c, \u043f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e \u043e\u043d\u0438 \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0442 \u043e\u0448\u0438\u0431\u043a\u0438. \u0418 \u043c\u044b \u0445\u043e\u0442\u0438\u043c \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u0442\u044c \u044d\u0442\u0438 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0441\u0430\u043c\u043e\u0441\u0442\u043e\u044f\u0442\u0435\u043b\u044c\u043d\u043e.<\/p>\n\n\n\n<p>\u041e\u0434\u043d\u0438\u043c \u0438\u0437 \u0441\u043f\u043e\u0441\u043e\u0431\u043e\u0432 \u0440\u0435\u0448\u0438\u0442\u044c \u0434\u0430\u043d\u043d\u0443\u044e \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0443 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0435 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u044b \u043d\u0430\u0448\u0438\u0445 \u0441\u043a\u0440\u0438\u043f\u0442\u043e\u0432:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td>12345678910<\/td><td>&amp;lt;script src=&#8221;https:\/\/cdnurl.com\/somelibrary.js&#8221;&amp;gt;&amp;lt;\/script&amp;gt;&amp;lt;script&amp;gt;&nbsp;&nbsp;&nbsp;&nbsp;function createGraph() {&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\/\/ \u043a\u043e\u0434&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;function drawGraph() {&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\/\/ \u043a\u043e\u0434&nbsp;&nbsp;&nbsp;&nbsp;}&amp;lt;\/script&amp;gt;<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>\u0422\u0430\u043a\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c, \u043c\u044b \u043f\u0435\u0440\u0435\u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0435\u043c \u043c\u0435\u0442\u043e\u0434\u044b, \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u043c\u044b\u0435 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u043e\u0439.<br>\u0412\u0442\u043e\u0440\u044b\u043c \u0441\u043f\u043e\u0441\u043e\u0431\u043e\u043c \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0435 \u0438\u043c\u0435\u043d \u043d\u0430\u0448\u0438\u0445 \u0444\u0443\u043d\u043a\u0446\u0438\u0439:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td>12345678910<\/td><td>&amp;lt;script src=&#8221;https:\/\/cdnurl.com\/somelibrary.js&#8221;&amp;gt;&amp;lt;\/script&amp;gt;&amp;lt;script&amp;gt;&nbsp;&nbsp;&nbsp;&nbsp;function myCreateGraph() {&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\/\/ \u043a\u043e\u0434&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;function myDrawGraph() {&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\/\/ \u043a\u043e\u0434&nbsp;&nbsp;&nbsp;&nbsp;}&amp;lt;\/script&amp;gt;<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>\u0422\u0440\u0435\u0442\u0438\u0439 \u0441\u043f\u043e\u0441\u043e\u0431 \u2014 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 IIFE:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td>123456789101112131415<\/td><td>&amp;lt;script&amp;gt;&nbsp;&nbsp;&nbsp;&nbsp;const graphUtility = (function() {&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;function createGraph() {&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\/\/ \u043a\u043e\u0434&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;function drawGraph() {&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\/\/ \u043a\u043e\u0434&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return {&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;createGraph,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;drawGraph&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;&nbsp;})&amp;lt;\/script&amp;gt;<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>\u0412 \u044d\u0442\u043e\u043c \u043f\u0440\u0438\u043c\u0435\u0440\u0435 \u043c\u044b \u0441\u043e\u0437\u0434\u0430\u0435\u043c \u0441\u043b\u0443\u0436\u0435\u0431\u043d\u0443\u044e \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0443\u044e, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 IIFE, \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u044e\u0449\u0438\u0439 \u043e\u0431\u044a\u0435\u043a\u0442, \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0449\u0438\u0439 \u043c\u0435\u0442\u043e\u0434\u044b createGraph \u0438 drawGraph.<\/p>\n\n\n\n<p>\u0412\u043e\u0442 \u0435\u0449\u0435 \u043e\u0434\u043d\u0430 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0430, \u043a\u043e\u0442\u043e\u0440\u0443\u044e \u043c\u043e\u0436\u043d\u043e \u0440\u0435\u0448\u0438\u0442\u044c \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e IIFE:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td>123456<\/td><td>val li = document.querySelectorAll(&#8216;.list-group &amp;gt; li&#8217;)for (var i &#8211; 0, len = li.length; i &amp;lt; len; i++) {&nbsp;&nbsp;&nbsp;&nbsp;li[i].addEventListener(&#8216;click&#8217;, function(e) {&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;console.log(i)&nbsp;&nbsp;&nbsp;&nbsp;})}<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>\u0414\u043e\u043f\u0443\u0441\u0442\u0438\u043c, \u0443 \u043d\u0430\u0441 \u0435\u0441\u0442\u044c \u044d\u043b\u0435\u043c\u0435\u043d\u0442 \u00abul\u00bb \u0441 \u043a\u043b\u0430\u0441\u0441\u043e\u043c \u00ablist-group\u00bb, \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0449\u0438\u0439 5 \u0434\u043e\u0447\u0435\u0440\u043d\u0438\u0445 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u043e\u0432 \u00abli\u00bb. \u0418 \u043c\u044b \u0445\u043e\u0442\u0438\u043c \u0432\u044b\u0432\u043e\u0434\u0438\u0442\u044c \u0432 \u043a\u043e\u043d\u0441\u043e\u043b\u044c \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u00abi\u00bb \u043f\u0440\u0438 \u043a\u043b\u0438\u043a\u0435 \u043f\u043e \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u043e\u043c\u0443 \u00abli\u00bb. \u041e\u0434\u043d\u0430\u043a\u043e \u0432\u043c\u0435\u0441\u0442\u043e \u044d\u0442\u043e\u0433\u043e \u0432 \u043a\u043e\u043d\u0441\u043e\u043b\u044c \u0432\u0441\u0435\u0433\u0434\u0430 \u0432\u044b\u0432\u043e\u0434\u0438\u0442\u0441\u044f 5. \u0412\u0438\u043d\u043e\u0439 \u0432\u0441\u0435\u043c\u0443 \u0437\u0430\u043c\u044b\u043a\u0430\u043d\u0438\u0435.<\/p>\n\n\n\n<p>\u041e\u0434\u043d\u0438\u043c \u0438\u0437 \u0440\u0435\u0448\u0435\u043d\u0438\u0439 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f IIFE:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td>12345678<\/td><td>var li = document.querySelectorAll(&#8216;.list-group &amp;gt; li&#8217;)for (var i = 0, len = li.length; i &amp;lt; len; i++) {&nbsp;&nbsp;&nbsp;&nbsp;(function(currentIndex) {&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;li[currentIndex].addEventListener(&#8216;click&#8217;, function(e) {&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;console.log(currentIndex)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;})&nbsp;&nbsp;&nbsp;&nbsp;})(i)}<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>\u041f\u0440\u0438\u0447\u0438\u043d\u0430, \u043f\u043e \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u044d\u0442\u043e\u0442 \u043a\u043e\u0434 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442, \u043a\u0430\u043a \u0437\u0430\u0434\u0443\u043c\u0430\u043d\u043e, \u0441\u043e\u0441\u0442\u043e\u0438\u0442 \u0432 \u0442\u043e\u043c, \u0447\u0442\u043e IIFE \u0441\u043e\u0437\u0434\u0430\u0435\u0442 \u043d\u043e\u0432\u0443\u044e \u043e\u0431\u043b\u0430\u0441\u0442\u044c \u0432\u0438\u0434\u0438\u043c\u043e\u0441\u0442\u0438 \u043d\u0430 \u043a\u0430\u0436\u0434\u043e\u0439 \u0438\u0442\u0435\u0440\u0430\u0446\u0438\u0438, \u0438 \u043c\u044b \u0437\u0430\u043f\u0438\u0441\u044b\u0432\u0430\u0435\u043c \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u00abi\u00bb \u0432 currentIndex.<\/p>\n\n\n\n<h4>27. \u0414\u043b\u044f \u0447\u0435\u0433\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u043c\u0435\u0442\u043e\u0434 Function.prototype.apply?<\/h4>\n\n\n\n<p>Apply \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0434\u043b\u044f \u043f\u0440\u0438\u0432\u044f\u0437\u043a\u0438 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u043e\u0433\u043e \u043e\u0431\u044a\u0435\u043a\u0442\u0430 \u043a \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044e this \u0432\u044b\u0437\u044b\u0432\u0430\u0435\u043c\u043e\u0439 \u0444\u0443\u043d\u043a\u0446\u0438\u0438.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td>123456789<\/td><td>const details = {&nbsp;&nbsp;&nbsp;&nbsp;message: &#8216;Hello World!&#8217;}&nbsp;function getMessage() {&nbsp;&nbsp;&nbsp;&nbsp;return this.message}&nbsp;getMessage.apply(details) \/\/ Hello World!<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>\u042d\u0442\u043e\u0442 \u043c\u0435\u0442\u043e\u0434 \u043f\u043e\u0445\u043e\u0436 \u043d\u0430 Function.prototype.call. \u0415\u0434\u0438\u043d\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0435 \u043e\u0442\u043b\u0438\u0447\u0438\u0435 \u0441\u043e\u0441\u0442\u043e\u0438\u0442 \u0432 \u0442\u043e\u043c, \u0447\u0442\u043e \u0432 apply \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442\u044b \u043f\u0435\u0440\u0435\u0434\u0430\u044e\u0442\u0441\u044f \u0432 \u0432\u0438\u0434\u0435 \u043c\u0430\u0441\u0441\u0438\u0432\u0430.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td>123456789<\/td><td>const person = {&nbsp;&nbsp;&nbsp;&nbsp;name: &#8216;Marko Polo&#8217;}&nbsp;function greeting(greetingMessage) {&nbsp;&nbsp;&nbsp;&nbsp;return `${greetingMessage} ${this.name}`}&nbsp;greeting.apply(person, [&#8216;Hello&#8217;]) \/\/ Hello Marko Polo<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h4>28. \u0414\u043b\u044f \u0447\u0435\u0433\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u043c\u0435\u0442\u043e\u0434 Function.prototype.call?<\/h4>\n\n\n\n<p>Call \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0434\u043b\u044f \u043f\u0440\u0438\u0432\u044f\u0437\u043a\u0438 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u043e\u0433\u043e \u043e\u0431\u044a\u0435\u043a\u0442\u0430 \u043a \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044e this \u0432\u044b\u0437\u044b\u0432\u0430\u0435\u043c\u043e\u0439 \u0444\u0443\u043d\u043a\u0446\u0438\u0438.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td>123456789<\/td><td>const details = {&nbsp;&nbsp;&nbsp;&nbsp;message: &#8216;Hello World!&#8217;};&nbsp;function getMessage() {&nbsp;&nbsp;&nbsp;&nbsp;return this.message;}&nbsp;getMessage.call(details); \/\/ Hello World!<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>\u042d\u0442\u043e\u0442 \u043c\u0435\u0442\u043e\u0434 \u043f\u043e\u0445\u043e\u0436 \u043d\u0430 Function.prototype.apply. \u041e\u0442\u043b\u0438\u0447\u0438\u0435 \u0441\u043e\u0441\u0442\u043e\u0438\u0442 \u0432 \u0442\u043e\u043c, \u0447\u0442\u043e \u0432 call \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442\u044b \u043f\u0435\u0440\u0435\u0434\u0430\u044e\u0442\u0441\u044f \u0447\u0435\u0440\u0435\u0437 \u0437\u0430\u043f\u044f\u0442\u0443\u044e.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td>123456789<\/td><td>const person = {&nbsp;&nbsp;&nbsp;&nbsp;name: &#8216;Marko Polo&#8217;};&nbsp;function greeting(greetingMessage) {&nbsp;&nbsp;&nbsp;&nbsp;return `${greetingMessage} ${this.name}`;}&nbsp;greeting.call(person, &#8216;Hello&#8217;); \/\/ Hello Marko Polo<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h4>29. \u0412 \u0447\u0435\u043c \u0440\u0430\u0437\u043d\u0438\u0446\u0430 \u043c\u0435\u0436\u0434\u0443 \u043c\u0435\u0442\u043e\u0434\u0430\u043c\u0438 call \u0438 apply?<\/h4>\n\n\n\n<p>\u041e\u0442\u043b\u0438\u0447\u0438\u0435 \u043c\u0435\u0436\u0434\u0443 call \u0438 apply \u0441\u043e\u0441\u0442\u043e\u0438\u0442 \u0432 \u0442\u043e\u043c, \u043a\u0430\u043a \u043c\u044b \u043f\u0435\u0440\u0435\u0434\u0430\u0435\u043c \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442\u044b \u0432 \u0432\u044b\u0437\u044b\u0432\u0430\u0435\u043c\u043e\u0439 \u0444\u0443\u043d\u043a\u0446\u0438\u0438. \u0412 apply \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442\u044b \u043f\u0435\u0440\u0435\u0434\u0430\u044e\u0442\u0441\u044f \u0432 \u0432\u0438\u0434\u0435 \u043c\u0430\u0441\u0441\u0438\u0432\u0430, \u0432 call \u2014 \u0447\u0435\u0440\u0435\u0437 \u0437\u0430\u043f\u044f\u0442\u0443\u044e.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td>123456789101112131415161718<\/td><td>const obj1 = {&nbsp;&nbsp;&nbsp;&nbsp;result: 0}&nbsp;const obj2 = {&nbsp;&nbsp;&nbsp;&nbsp;result: 0}&nbsp;function reduceAdd() {&nbsp;&nbsp;&nbsp;&nbsp;let result = 0&nbsp;&nbsp;&nbsp;&nbsp;for (let i = 0, len = arguments.length; i &amp;lt; len; i++) {&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;result += arguments[i]&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;&nbsp;this.result = result}&nbsp;reduceAdd.apply(obj1, [1, 2, 3, 4, 5]) \/\/ 15reduceAdd.call(obj2, 1, 2, 3, 4, 5) \/\/ 15<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h4>30. \u0414\u043b\u044f \u0447\u0435\u0433\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u043c\u0435\u0442\u043e\u0434 Function.prototype.bind?<\/h4>\n\n\n\n<p>Bind \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u043d\u043e\u0432\u0443\u044e \u0444\u0443\u043d\u043a\u0446\u0438\u044e, \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435\u043c this \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043e\u0431\u044a\u0435\u043a\u0442, \u0443\u043a\u0430\u0437\u0430\u043d\u043d\u044b\u0439 \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u043f\u0435\u0440\u0432\u043e\u0433\u043e \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430. \u0412 \u043e\u0442\u043b\u0438\u0447\u0438\u0435 \u043e\u0442 bind, call \u0438 apply \u0441\u0440\u0430\u0437\u0443 \u0436\u0435 \u0432\u044b\u0437\u044b\u0432\u0430\u044e\u0442 \u0444\u0443\u043d\u043a\u0446\u0438\u044e.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td>1234567891011121314151617181920212223242526272829303132<\/td><td>import React from &#8216;react&#8217;&nbsp;class MyComponent extends React.Component {&nbsp;&nbsp;&nbsp;&nbsp;constructor(props) {&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;super(props)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;this.state = {&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;value: &#8221;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;this.handleChange = this.handleChange.bind(this)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\/\/ \u043f\u0440\u0438\u0432\u044f\u0437\u044b\u0432\u0430\u0435\u043c \u043c\u0435\u0442\u043e\u0434 handleChange \u043a \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u0443 MyComponent&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;handleChange(e) {&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\/\/ \u043a\u043e\u0434&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;render() {&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return ( &amp;lt; &amp;gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&amp;lt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;input type = {&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;this.props.type&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;value = {&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;this.state.value&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;onChange = {&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;this.handleChange&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\/&amp;gt; &amp;lt;\/ &amp;gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;)&nbsp;&nbsp;&nbsp;&nbsp;}}<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h4>31. \u0427\u0442\u043e \u0442\u0430\u043a\u043e\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u043e\u0435 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0438 \u043a\u0430\u043a\u0438\u0435 \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e\u0441\u0442\u0438 JS \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0442 \u0433\u043e\u0432\u043e\u0440\u0438\u0442\u044c \u043e \u043d\u0435\u043c \u043a\u0430\u043a \u043e \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u043e\u043c \u044f\u0437\u044b\u043a\u0435 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f?<\/h4>\n\n\n\n<p>\u0424\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u043e\u0435 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u2014 \u044d\u0442\u043e \u0434\u0435\u043a\u043b\u0430\u0440\u0430\u0442\u0438\u0432\u043d\u0430\u044f \u043a\u043e\u043d\u0446\u0435\u043f\u0446\u0438\u044f \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0438\u043b\u0438 \u043e\u0431\u0440\u0430\u0437\u0435\u0446 (\u043f\u0430\u0442\u0442\u0435\u0440\u043d) \u0442\u043e\u0433\u043e, \u043a\u0430\u043a \u0441\u0442\u0440\u043e\u044f\u0442\u0441\u044f \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f, \u043a\u0430\u043a \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442\u0441\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u0438, \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0449\u0438\u0435 \u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u044f, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0432\u044b\u0447\u0438\u0441\u043b\u044f\u044e\u0442 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u0431\u0435\u0437 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442\u043e\u0432, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0438\u043c \u043f\u0435\u0440\u0435\u0434\u0430\u044e\u0442\u0441\u044f.<\/p>\n\n\n\n<p>\u041e\u0431\u044a\u0435\u043a\u0442 Array \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 \u043c\u0435\u0442\u043e\u0434\u044b map, filter \u0438 reduce, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u044f\u0432\u043b\u044f\u044e\u0442\u0441\u044f \u0441\u0430\u043c\u044b\u043c\u0438 \u0438\u0437\u0432\u0435\u0441\u0442\u043d\u044b\u043c\u0438 \u0444\u0443\u043d\u043a\u0446\u0438\u044f\u043c\u0438 \u0432 \u043c\u0438\u0440\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0438\u0437-\u0437\u0430 \u0438\u0445 \u043f\u043e\u043b\u0435\u0437\u043d\u043e\u0441\u0442\u0438, \u0430 \u0442\u0430\u043a\u0436\u0435 \u043f\u043e\u0442\u043e\u043c\u0443, \u0447\u0442\u043e \u043e\u043d\u0438 \u043d\u0435 \u0438\u0437\u043c\u0435\u043d\u044f\u044e\u0442 \u043c\u0430\u0441\u0441\u0438\u0432, \u0447\u0442\u043e \u0434\u0435\u043b\u0430\u0435\u0442 \u044d\u0442\u0438 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u00ab\u0447\u0438\u0441\u0442\u044b\u043c\u0438\u00bb. \u0422\u0430\u043a\u0436\u0435 \u0432 JS \u0438\u043c\u0435\u044e\u0442\u0441\u044f \u0437\u0430\u043c\u044b\u043a\u0430\u043d\u0438\u0435 \u0438 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0432\u044b\u0441\u0448\u0435\u0433\u043e \u043f\u043e\u0440\u044f\u0434\u043a\u0430, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u044f\u0432\u043b\u044f\u044e\u0442\u0441\u044f \u0445\u0430\u0440\u0430\u043a\u0442\u0435\u0440\u0438\u0441\u0442\u0438\u043a\u0430\u043c\u0438 \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u044f\u0437\u044b\u043a\u0430 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f.<\/p>\n\n\n\n<p>\u041c\u0435\u0442\u043e\u0434 map \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u043d\u043e\u0432\u044b\u0439 \u043c\u0430\u0441\u0441\u0438\u0432 \u0441 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0430\u043c\u0438 \u0432\u044b\u0437\u043e\u0432\u0430 callback \u0434\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u0430 \u043c\u0430\u0441\u0441\u0438\u0432\u0430:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td>123<\/td><td>const words = [&#8216;Functional&#8217;, &#8216;Procedural&#8217;, &#8216;Object-Oriented&#8217;]&nbsp;const wordsLength = words.map(word =&amp;gt; word.length)<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>\u041c\u0435\u0442\u043e\u0434 filter \u0441\u043e\u0437\u0434\u0430\u0435\u0442 \u043d\u043e\u0432\u044b\u0439 \u043c\u0430\u0441\u0441\u0438\u0432 \u0441\u043e \u0432\u0441\u0435\u043c\u0438 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u0430\u043c\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0443\u0434\u043e\u0432\u043b\u0435\u0442\u0432\u043e\u0440\u044f\u044e\u0442 \u0443\u0441\u043b\u043e\u0432\u0438\u044e, \u0443\u043a\u0430\u0437\u0430\u043d\u043d\u043e\u043c\u0443 \u0432 callback:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td>1234567891011121314<\/td><td>const data = {&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;name: &#8216;Mark&#8217;,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;isRegistered: true&nbsp;&nbsp;&nbsp;&nbsp;} {&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;name: &#8216;Mary&#8217;,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;isRegistered: false&nbsp;&nbsp;&nbsp;&nbsp;} {&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;name: &#8216;Mae&#8217;,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;isRegistered: true&nbsp;&nbsp;&nbsp;&nbsp;}}&nbsp;const registeredUsers = data.filter(user =&amp;gt; user.isRegistered)<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>\u041c\u0435\u0442\u043e\u0434 reduce \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442 callback \u043e\u0434\u0438\u043d \u0440\u0430\u0437 \u0434\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u0430 \u043c\u0430\u0441\u0441\u0438\u0432\u0430, \u0437\u0430 \u0438\u0441\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435\u043c \u043f\u0443\u0441\u0442\u043e\u0442, \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u044f \u0447\u0435\u0442\u044b\u0440\u0435 \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442\u0430: \u043d\u0430\u0447\u0430\u043b\u044c\u043d\u043e\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 (\u0438\u043b\u0438 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u043e\u0442 \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0435\u0433\u043e callback), \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0442\u0435\u043a\u0443\u0449\u0435\u0433\u043e \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u0430, \u0442\u0435\u043a\u0443\u0449\u0438\u0439 \u0438\u043d\u0434\u0435\u043a\u0441 \u0438 \u0438\u0442\u0435\u0440\u0438\u0440\u0443\u0435\u043c\u044b\u0439 \u043c\u0430\u0441\u0441\u0438\u0432:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td>123<\/td><td>const strs = [&#8216;I&#8217;, &#8216; &#8216;, &#8216;am&#8217;, &#8216; &#8216;, &#8216;Iron&#8217;, &#8216; &#8216;, &#8216;Man&#8217;]&nbsp;const result = strs.reduce((acc, currentStr) =&amp;gt; acc + str, &#8221;)<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h4>32. \u0427\u0442\u043e \u0442\u0430\u043a\u043e\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0432\u044b\u0441\u0448\u0435\u0433\u043e \u043f\u043e\u0440\u044f\u0434\u043a\u0430 (Higher Order Functions)?<\/h4>\n\n\n\n<p>\u0424\u0443\u043d\u043a\u0446\u0438\u044f \u0432\u044b\u0441\u0448\u0435\u0433\u043e \u043f\u043e\u0440\u044f\u0434\u043a\u0430 \u2014 \u044d\u0442\u043e \u0444\u0443\u043d\u043a\u0446\u0438\u044f, \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u044e\u0449\u0430\u044f \u0434\u0440\u0443\u0433\u0443\u044e \u0444\u0443\u043d\u043a\u0446\u0438\u044e \u0438\u043b\u0438 \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u044e\u0449\u0430\u044f \u0434\u0440\u0443\u0433\u0443\u044e \u0444\u0443\u043d\u043a\u0446\u0438\u044e \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442\u0430.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td>123<\/td><td>function higherOrderFunction(param, callback) {&nbsp;&nbsp;&nbsp;&nbsp;return callback(param)}<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h4>33. \u041f\u043e\u0447\u0435\u043c\u0443 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0432 JS \u043d\u0430\u0437\u044b\u0432\u0430\u044e\u0442 \u043e\u0431\u044a\u0435\u043a\u0442\u0430\u043c\u0438 \u043f\u0435\u0440\u0432\u043e\u0433\u043e \u043a\u043b\u0430\u0441\u0441\u0430 (First-class Objects)?<\/h4>\n\n\n\n<p>\u0424\u0443\u043d\u043a\u0446\u0438\u0438 \u043d\u0430\u0437\u044b\u0432\u0430\u044e\u0442 \u043e\u0431\u044a\u0435\u043a\u0442\u0430\u043c\u0438 \u043f\u0435\u0440\u0432\u043e\u0433\u043e \u043a\u043b\u0430\u0441\u0441\u0430, \u043f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e \u043e\u043d\u0438 \u043e\u0431\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u044e\u0442\u0441\u044f \u0442\u0430\u043a\u0436\u0435, \u043a\u0430\u043a \u0438 \u043b\u044e\u0431\u043e\u0435 \u0434\u0440\u0443\u0433\u043e\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0432 JS. \u041e\u043d\u0438 \u043c\u043e\u0433\u0443\u0442 \u043f\u0440\u0438\u0441\u0432\u0430\u0438\u0432\u0430\u0442\u044c\u0441\u044f \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u043c, \u0431\u044b\u0442\u044c \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u043e\u043c \u043e\u0431\u044a\u0435\u043a\u0442\u0430 (\u043c\u0435\u0442\u043e\u0434\u043e\u043c), \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u043e\u043c \u043c\u0430\u0441\u0441\u0438\u0432\u0430, \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442\u043e\u043c \u0434\u0440\u0443\u0433\u043e\u0439 \u0444\u0443\u043d\u043a\u0446\u0438\u0438, \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435\u043c, \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u043c\u044b\u043c \u0444\u0443\u043d\u043a\u0446\u0438\u0435\u0439. \u0415\u0434\u0438\u043d\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u043c \u043e\u0442\u043b\u0438\u0447\u0438\u0435\u043c \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u043e\u0442 \u043b\u044e\u0431\u043e\u0433\u043e \u0434\u0440\u0443\u0433\u043e\u0433\u043e \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u0432 JS \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0442\u043e, \u0447\u0442\u043e \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0430 \u0438\u043b\u0438 \u0432\u044b\u0437\u0432\u0430\u043d\u0430.<\/p>\n\n\n\n<h4>34. \u041a\u0430\u043a \u0431\u044b \u0412\u044b \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043b\u0438 \u043c\u0435\u0442\u043e\u0434 Array.prototype.map?<\/h4>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td>123456789101112131415<\/td><td>function map(arr, mapCallback) {&nbsp;&nbsp;&nbsp;&nbsp;\/\/ \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u043c \u043f\u0435\u0440\u0435\u0434\u0430\u043d\u043d\u044b\u0435 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b&nbsp;&nbsp;&nbsp;&nbsp;if (!Array.isArray(arr) || !arr.length || typeof mapCallback !== &#8216;function&#8217;) {&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return []&nbsp;&nbsp;&nbsp;&nbsp;} else {&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;let result = []&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\/\/ \u043c\u044b \u0441\u043e\u0437\u0434\u0430\u0435\u043c \u043c\u0430\u0441\u0441\u0438\u0432 \u0441 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0430\u043c\u0438 \u043f\u0440\u0438 \u043a\u0430\u0436\u0434\u043e\u043c \u0432\u044b\u0437\u043e\u0432\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\/\/ \u043f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 \u043c\u044b \u043d\u0435 \u0445\u043e\u0442\u0438\u043c \u043c\u0435\u043d\u044f\u0442\u044c \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b\u044c\u043d\u044b\u0439 \u043c\u0430\u0441\u0441\u0438\u0432&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for (let i = 0, len = arr.length; i &amp;lt; len; i++) {&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;result.push(mapCallback(arr[i], i, arr))&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\/\/ \u043f\u043e\u043c\u0435\u0449\u0430\u0435\u043c \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u044b mapCallback \u0432 result&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return result&nbsp;&nbsp;&nbsp;&nbsp;}}<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>\u041c\u0435\u0442\u043e\u0434 map \u0441\u043e\u0437\u0434\u0430\u0435\u0442 \u043d\u043e\u0432\u044b\u0439 \u043c\u0430\u0441\u0441\u0438\u0432 \u0441 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u043e\u043c \u0432\u044b\u0437\u043e\u0432\u0430 \u0443\u043a\u0430\u0437\u0430\u043d\u043d\u043e\u0439 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0434\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u0430 \u043c\u0430\u0441\u0441\u0438\u0432\u0430.<\/p>\n\n\n\n<h4>35. \u041a\u0430\u043a \u0431\u044b \u0412\u044b \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043b\u0438 \u043c\u0435\u0442\u043e\u0434 Array.prototype.filter?<\/h4>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td>1234567891011121314151617<\/td><td>function filter(arr, filterCallback) {&nbsp;&nbsp;&nbsp;&nbsp;\/\/ \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u043c \u043f\u0435\u0440\u0435\u0434\u0430\u0432\u0430\u0435\u043c\u044b\u0435 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b&nbsp;&nbsp;&nbsp;&nbsp;if (!Array.isArray(arr) || !arr.length || typeof filterCallback !== &#8216;function&#8217;) {&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return []&nbsp;&nbsp;&nbsp;&nbsp;} else {&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;let result = []&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\/\/ &#8230;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for (let i = 0, len = arr.length; i &amp;lt; len; i++) {&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\/\/ \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0435\u043c \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0438\u0435 \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u043c\u043e\u0433\u043e \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0430 \u0437\u0430\u0434\u0430\u043d\u043d\u043e\u043c\u0443 \u0443\u0441\u043b\u043e\u0432\u0438\u044e&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (filterCallback(arr[i], i, arr)) {&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\/\/ \u043f\u043e\u043c\u0435\u0449\u0430\u0435\u043c \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435, \u043f\u0440\u043e\u0448\u0435\u0434\u0448\u0435\u0435 \u0444\u0438\u043b\u044c\u0442\u0440, \u0432 result&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;result.push(arr[i])&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return result&nbsp;&nbsp;&nbsp;&nbsp;}}<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>\u041c\u0435\u0442\u043e\u0434 filter \u0441\u043e\u0437\u0434\u0430\u0435\u0442 \u043d\u043e\u0432\u044b\u0439 \u043c\u0430\u0441\u0441\u0438\u0432 \u0441\u043e \u0432\u0441\u0435\u043c\u0438 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u0430\u043c\u0438, \u043f\u0440\u043e\u0448\u0435\u0434\u0448\u0438\u043c\u0438 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0443, \u0437\u0430\u0434\u0430\u0432\u0430\u0435\u043c\u0443\u044e \u0432 \u043f\u0435\u0440\u0435\u0434\u0430\u0432\u0430\u0435\u043c\u043e\u0439 \u0444\u0443\u043d\u043a\u0446\u0438\u0438.<\/p>\n\n\n\n<h4>36. \u041a\u0430\u043a \u0431\u044b \u0412\u044b \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043b\u0438 \u043c\u0435\u0442\u043e\u0434 Array.prototype.reduce?<\/h4>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td>123456789101112131415161718<\/td><td>function reduce(arr, reduceCallbak, initialValue) {&nbsp;&nbsp;&nbsp;&nbsp;\/\/ ..&nbsp;&nbsp;&nbsp;&nbsp;if (!Array.isArray(arr) || !arr.length || typeof filterCallback !== &#8216;function&#8217;) {&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return []&nbsp;&nbsp;&nbsp;&nbsp;} else {&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\/\/ \u0435\u0441\u043b\u0438 \u0432 \u0444\u0443\u043d\u043a\u0446\u0438\u044e \u043d\u0435 \u0431\u044b\u043b\u043e \u043f\u0435\u0440\u0435\u0434\u0430\u043d\u043e \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f initialValue, \u0442\u043e&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;let hasInitialValue = initialValue !== undefined&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;let value = hasInitialValue ? initialValue : arr[0]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\/\/ \u043c\u044b \u0431\u0443\u0434\u0435\u043c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043f\u0435\u0440\u0432\u044b\u0439 \u044d\u043b\u0435\u043c\u0435\u043d\u0442 initialValue&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\/\/ \u0437\u0430\u0442\u0435\u043c \u043c\u044b \u043f\u0435\u0440\u0435\u0431\u0438\u0440\u0430\u0435\u043c \u043c\u0430\u0441\u0441\u0438\u0432, \u043d\u0430\u0447\u0438\u043d\u0430\u044f \u0441 1, \u0435\u0441\u043b\u0438 \u0432 \u0444\u0443\u043d\u043a\u0446\u0438\u044e \u043d\u0435 \u043f\u0435\u0440\u0435\u0434\u0430\u0432\u0430\u043b\u043e\u0441\u044c \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f initialValue, \u043b\u0438\u0431\u043e \u0441 1, \u0435\u0441\u043b\u0438 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0431\u044b\u043b\u043e \u043f\u0435\u0440\u0435\u0434\u0430\u043d\u043e&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for (let i = hasInitialValue ? 0 : 1, len = arr.length; i &amp;lt; len; i++) {&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\/\/ \u0437\u0430\u0442\u0435\u043c \u043d\u0430 \u043a\u0430\u0436\u0434\u043e\u0439 \u0438\u0442\u0435\u0440\u0430\u0446\u0438\u0438 \u043c\u044b \u043f\u0440\u0438\u0441\u0432\u0430\u0438\u0432\u0430\u0435\u043c \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u0432\u044b\u0437\u043e\u0432\u0430 reduceCallback \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;value = reduceCallback(value, arr[i], i, arr)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return value&nbsp;&nbsp;&nbsp;&nbsp;}}<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>\u041c\u0435\u0442\u043e\u0434 reduce \u043f\u0440\u0438\u043c\u0435\u043d\u044f\u0435\u0442 \u0444\u0443\u043d\u043a\u0446\u0438\u044e reducer \u043a \u043a\u0430\u0436\u0434\u043e\u043c\u0443 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u0443 \u043c\u0430\u0441\u0441\u0438\u0432\u0430 (\u0441\u043b\u0435\u0432\u0430-\u043d\u0430\u043f\u0440\u0430\u0432\u043e), \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u044f \u043e\u0434\u043d\u043e \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0438\u0440\u0443\u044e\u0449\u0435\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435.<\/p>\n\n\n\n<h4>37. \u0427\u0442\u043e \u0442\u0430\u043a\u043e\u0435 \u043e\u0431\u044a\u0435\u043a\u0442 arguments?<\/h4>\n\n\n\n<p>Arguments \u2014 \u044d\u0442\u043e \u043a\u043e\u043b\u043b\u0435\u043a\u0446\u0438\u044f \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442\u043e\u0432, \u043f\u0435\u0440\u0435\u0434\u0430\u0432\u0430\u0435\u043c\u044b\u0445 \u0444\u0443\u043d\u043a\u0446\u0438\u0438. \u042d\u0442\u043e \u043e\u0431\u044a\u0435\u043a\u0442, \u043f\u043e\u0434\u043e\u0431\u043d\u044b\u0439 \u043c\u0430\u0441\u0441\u0438\u0432\u0443, \u0443 \u043d\u0435\u0433\u043e \u0435\u0441\u0442\u044c \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u043e length, \u043c\u044b \u043c\u043e\u0436\u0435\u043c \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0434\u043e\u0441\u0442\u0443\u043f \u043a \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u043e\u043c\u0443 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044e \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e arguments[i], \u043d\u043e \u0443 \u043d\u0435\u0433\u043e \u043e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u044e\u0442 \u043c\u0435\u0442\u043e\u0434\u044b forEach, reduce, filter \u0438 map. \u041e\u043d \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0443\u0437\u043d\u0430\u0442\u044c \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432 \u0444\u0443\u043d\u043a\u0446\u0438\u0438.<\/p>\n\n\n\n<p>\u041f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u0442\u044c arguments \u0432 \u043c\u0430\u0441\u0441\u0438\u0432 \u043c\u043e\u0436\u043d\u043e \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e Array.prototype.slice:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td>1<\/td><td>Array.prototype.slice.call(arguments)<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>\u0417\u0430\u043f\u043e\u043c\u043d\u0438\u0442\u0435: \u0432 \u0441\u0442\u0440\u0435\u043b\u043e\u0447\u043d\u044b\u0445 \u0444\u0443\u043d\u043a\u0446\u0438\u044f\u0445 \u043e\u0431\u044a\u0435\u043a\u0442 arguments \u043d\u0435 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td>123456789101112<\/td><td>function one() {&nbsp;&nbsp;&nbsp;&nbsp;return arguments}const two = function() {&nbsp;&nbsp;&nbsp;&nbsp;return arguments}const three = function three({&nbsp;&nbsp;&nbsp;&nbsp;return arguments})const four = () =&amp;gt; arguments&nbsp;four() \/\/ arguments is not defined<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>\u0412\u044b\u0437\u043e\u0432 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 four \u043f\u0440\u0438\u0432\u043e\u0434\u0438\u0442 \u043a \u043e\u0448\u0438\u0431\u043a\u0435 ReferenceError: arguments is not defined. \u042d\u0442\u0443 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0443 \u043c\u043e\u0436\u043d\u043e \u0440\u0435\u0448\u0438\u0442\u044c \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440\u0430 rest:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td>1<\/td><td>const four = (&#8230;args) =&amp;gt; args<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>\u042d\u0442\u043e \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u043f\u043e\u043c\u0435\u0441\u0442\u0438\u0442 \u0432\u0441\u0435 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b \u0432 \u043c\u0430\u0441\u0441\u0438\u0432.<\/p>\n\n\n\n<h4>38. \u041a\u0430\u043a \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u043e\u0431\u044a\u0435\u043a\u0442, \u043d\u0435 \u0438\u043c\u0435\u044e\u0449\u0438\u0439 \u043f\u0440\u043e\u0442\u043e\u0442\u0438\u043f\u0430?<\/h4>\n\n\n\n<p>\u042d\u0442\u043e \u043c\u043e\u0436\u043d\u043e \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e Object.create:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td>123456<\/td><td>const o1 = {}console.log(o1.toString) \/\/ [object Object]&nbsp;const o2 = Object.create(null) \/\/ \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u043f\u0435\u0440\u0432\u043e\u0433\u043e \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430 \u043c\u0435\u0442\u043e\u0434\u0443 Object-create \u043f\u0435\u0440\u0435\u0434\u0430\u0435\u0442\u0441\u044f \u043e\u0431\u044a\u0435\u043a\u0442-\u043f\u0440\u043e\u0442\u043e\u0442\u0438\u043f\/\/ \u043d\u0430\u043c \u043d\u0435 \u043d\u0443\u0436\u0435\u043d \u043e\u0431\u044a\u0435\u043a\u0442-\u043f\u0440\u043e\u0442\u043e\u0442\u0438\u043f, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u043f\u0435\u0440\u0435\u0434\u0430\u0435\u043c nullconsole.log(o2.toString) \/\/ o2.toString is not a function<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h4>39. \u041f\u043e\u0447\u0435\u043c\u0443 \u0432 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u043d\u043e\u043c \u043a\u043e\u0434\u0435 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0430\u044f b \u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u0441\u044f \u0433\u043b\u043e\u0431\u0430\u043b\u044c\u043d\u043e\u0439 \u043f\u0440\u0438 \u0432\u044b\u0437\u043e\u0432\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438?<\/h4>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td>1234<\/td><td>function myFunc(){&nbsp;&nbsp;&nbsp;&nbsp;let a = b = 0}myFunc()<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>\u0422\u0430\u043a \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u0442, \u043f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440 \u043f\u0440\u0438\u0441\u0432\u0430\u0438\u0432\u0430\u043d\u0438\u044f (\u00ab=\u00bb) \u0438\u043c\u0435\u0435\u0442 \u043f\u0440\u0430\u0432\u043e\u0441\u0442\u043e\u0440\u043e\u043d\u043d\u044e\u044e \u0430\u0441\u0441\u043e\u0446\u0438\u0430\u0442\u0438\u0432\u043d\u043e\u0441\u0442\u044c, \u0442.\u0435. \u043f\u0440\u0438\u0441\u0432\u0430\u0438\u0432\u0430\u0435\u0442 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u0441\u043f\u0440\u0430\u0432\u0430 \u043d\u0430\u043b\u0435\u0432\u043e. \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u043a\u043e\u0434 \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u0435\u0442 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439 \u0432\u0438\u0434:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td>1234<\/td><td>function myFunc(){&nbsp;&nbsp;&nbsp;&nbsp;let a = (b = 0)}myFunc()<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>\u0421\u043d\u0430\u0447\u0430\u043b\u0430 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 0 \u043f\u0440\u0438\u0441\u0432\u0430\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439 \u00abb\u00bb, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043d\u0435 \u043e\u0431\u044a\u044f\u0432\u043b\u0435\u043d\u0430. \u0414\u0432\u0438\u0436\u043e\u043a JS \u0434\u0435\u043b\u0430\u0435\u0442 \u0435\u0435 \u0433\u043b\u043e\u0431\u0430\u043b\u044c\u043d\u043e\u0439. \u0412\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u043c\u043e\u0435 \u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u0435\u043c b = 0 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 (0) \u0437\u0430\u0442\u0435\u043c \u043f\u0440\u0438\u0441\u0432\u0430\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u043e\u0439 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439 \u00aba\u00bb.<\/p>\n\n\n\n<p>\u042d\u0442\u0443 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0443 \u043c\u043e\u0436\u043d\u043e \u0440\u0435\u0448\u0438\u0442\u044c \u0441\u043d\u0430\u0447\u0430\u043b\u0430 \u043e\u0431\u044a\u044f\u0432\u0438\u0432 \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u044b\u0435 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435, \u0430 \u0437\u0430\u0442\u0435\u043c \u043f\u0440\u0438\u0441\u0432\u043e\u0438\u0432 \u0438\u043c \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td>12345<\/td><td>function myFunc(){&nbsp;&nbsp;&nbsp;&nbsp;let a, b&nbsp;&nbsp;&nbsp;&nbsp;a = b = 0}myFunc()<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h4>40. \u0427\u0442\u043e \u0442\u0430\u043a\u043e\u0435 ECMAScript?<\/h4>\n\n\n\n<p>ECMAScript \u2014 \u044d\u0442\u043e \u0441\u043f\u0435\u0446\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u044f, \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442 \u0441\u043a\u0440\u0438\u043f\u0442\u043e\u0432\u044b\u0445 \u044f\u0437\u044b\u043a\u043e\u0432 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f, \u043e\u043d \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043e\u0441\u043d\u043e\u0432\u043e\u0439 JS, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u043b\u044e\u0431\u044b\u0435 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f ECMAScript \u043e\u0442\u0440\u0430\u0436\u0430\u044e\u0442\u0441\u044f \u043d\u0430 JS.<\/p>\n\n\n\n<p>\u041f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0439 \u0432\u0430\u0440\u0438\u0430\u043d\u0442 \u0441\u043f\u0435\u0446\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u0438 ECMA-262 \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c&nbsp;<a href=\"https:\/\/www.ecma-international.org\/publications\/standards\/Ecma-262.htm\" target=\"_blank\" rel=\"noreferrer noopener\">\u0437\u0434\u0435\u0441\u044c<\/a>.<\/p>\n\n\n\n<h4>41. \u0427\u0442\u043e \u043d\u043e\u0432\u043e\u0433\u043e \u043f\u0440\u0438\u0432\u043d\u0435\u0441 \u0432 JS \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442 ES6 \u0438\u043b\u0438 ECMAScript2015?<\/h4>\n\n\n\n<ul><li>\u0421\u0442\u0440\u0435\u043b\u043e\u0447\u043d\u044b\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 (Arrow Functions).<\/li><li>\u041a\u043b\u0430\u0441\u0441\u044b (Classes).<\/li><li>\u0428\u0430\u0431\u043b\u043e\u043d\u043d\u044b\u0435 \u0441\u0442\u0440\u043e\u043a\u0438 (Template Strings).<\/li><li>\u0420\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u043d\u044b\u0435 \u043e\u0431\u044a\u0435\u043a\u0442\u043d\u044b\u0435 \u043b\u0438\u0442\u0435\u0440\u0430\u043b\u044b (Enhanced Object literals).<\/li><li>\u0414\u0435\u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0438\u0437\u0430\u0446\u0438\u044f (Object Destructuring).<\/li><li>\u041f\u0440\u043e\u043c\u0438\u0441\u044b (Promises).<\/li><li>\u0413\u0435\u043d\u0435\u0440\u0430\u0442\u043e\u0440\u044b (Generators).<\/li><li>\u041c\u043e\u0434\u0443\u043b\u0438 (Modules).<\/li><li>Symbol.<\/li><li>\u041f\u0440\u043e\u043a\u0441\u0438 (Proxies).<\/li><li>\u041c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u0430 (Sets).<\/li><li>\u041f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e.<\/li><li>\u041e\u043f\u0435\u0440\u0430\u0442\u043e\u0440\u044b rest \u0438 spread.<\/li><li>\u0411\u043b\u043e\u0447\u043d\u0430\u044f \u043e\u0431\u043b\u0430\u0441\u0442\u044c \u0432\u0438\u0434\u0438\u043c\u043e\u0441\u0442\u0438 (\u043a\u043b\u044e\u0447\u0435\u0432\u044b\u0435 \u0441\u043b\u043e\u0432\u0430 \u00ablet\u00bb \u0438 \u00abconst\u00bb).<\/li><\/ul>\n\n\n\n<h4>42. \u0412 \u0447\u0435\u043c \u0440\u0430\u0437\u043d\u0438\u0446\u0430 \u043c\u0435\u0436\u0434\u0443 \u043a\u043b\u044e\u0447\u0435\u0432\u044b\u043c\u0438 \u0441\u043b\u043e\u0432\u0430\u043c\u0438 \u00abvar\u00bb, \u00ablet\u00bb \u0438 \u00abconst\u00bb?<\/h4>\n\n\n\n<p>\u041f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435, \u043e\u0431\u044a\u044f\u0432\u043b\u0435\u043d\u043d\u044b\u0435 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u043a\u043b\u044e\u0447\u0435\u0432\u043e\u0433\u043e \u0441\u043b\u043e\u0432\u0430 \u00abvar\u00bb, \u044f\u0432\u043b\u044f\u044e\u0442\u0441\u044f \u0433\u043b\u043e\u0431\u0430\u043b\u044c\u043d\u044b\u043c\u0438. \u042d\u0442\u043e \u043e\u0437\u043d\u0430\u0447\u0430\u0435\u0442, \u0447\u0442\u043e \u043e\u043d\u0438 \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b \u0438\u0437 \u043b\u044e\u0431\u043e\u0433\u043e \u043c\u0435\u0441\u0442\u0430 \u0432 \u043a\u043e\u0434\u0435:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td>123456789<\/td><td>function giveMeX(showX){&nbsp;&nbsp;&nbsp;&nbsp;if(showX){&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;var x = 5&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;&nbsp;return x}&nbsp;console.log(giveMeX(false))console.log(giveMeX(true))<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>\u0420\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u043e\u043c \u043f\u0435\u0440\u0432\u043e\u0433\u043e console.log \u0431\u0443\u0434\u0435\u0442 undefined, \u0432\u0442\u043e\u0440\u043e\u0433\u043e \u2014 5. \u041c\u044b \u0438\u043c\u0435\u0435\u043c \u0434\u043e\u0441\u0442\u0443\u043f \u043a \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439 \u00abx\u00bb \u0438\u0437-\u0437\u0430 \u0435\u0435 \u0432\u0441\u043f\u043b\u044b\u0442\u0438\u044f \u0432 \u0433\u043b\u043e\u0431\u0430\u043b\u044c\u043d\u0443\u044e \u043e\u0431\u043b\u0430\u0441\u0442\u044c \u0432\u0438\u0434\u0438\u043c\u043e\u0441\u0442\u0438. \u041a\u043e\u0434 \u0438\u0437 \u043f\u0440\u0438\u043c\u0435\u0440\u0430 \u0432\u044b\u0448\u0435 \u0438\u043d\u0442\u0435\u0440\u043f\u0440\u0435\u0442\u0438\u0440\u0443\u0435\u0442\u0441\u044f \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td>1234567<\/td><td>function giveMeX(showX){&nbsp;&nbsp;&nbsp;&nbsp;var x \/\/ \u0438\u043c\u0435\u0435\u0442 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 undefined&nbsp;&nbsp;&nbsp;&nbsp;if(showX){&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;x = 5&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;&nbsp;return x}<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>\u0420\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u043e\u043c \u043f\u0435\u0440\u0432\u043e\u0433\u043e console.log \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f undefined, \u043f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 \u043e\u0431\u044a\u044f\u0432\u043b\u0435\u043d\u043d\u044b\u0435 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435, \u043a\u043e\u0442\u043e\u0440\u044b\u043c \u043d\u0435 \u043f\u0440\u0438\u0441\u0432\u043e\u0435\u043d\u043e \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f, \u0438\u043c\u0435\u044e\u0442 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 undefined \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e.<\/p>\n\n\n\n<p>\u041f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435, \u043e\u0431\u044a\u044f\u0432\u043b\u0435\u043d\u043d\u044b\u0435 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u043a\u043b\u044e\u0447\u0435\u0432\u044b\u0445 \u0441\u043b\u043e\u0432 \u00ablet\u00bb \u0438 \u00abconst\u00bb \u0438\u043c\u0435\u044e\u0442 \u0431\u043b\u043e\u0447\u043d\u0443\u044e \u043e\u0431\u043b\u0430\u0441\u0442\u044c \u0432\u0438\u0434\u0438\u043c\u043e\u0441\u0442\u0438. \u042d\u0442\u043e \u043e\u0437\u043d\u0430\u0447\u0430\u0435\u0442, \u0447\u0442\u043e \u043e\u043d\u0438 \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b \u0442\u043e\u043b\u044c\u043a\u043e \u0432\u043d\u0443\u0442\u0440\u0438 \u0431\u043b\u043e\u043a\u0430 ({ }):<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td>12345678910111213<\/td><td>function giveMeX(showX){&nbsp;&nbsp;&nbsp;&nbsp;if(showX){&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;let x = 5&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;&nbsp;return x}&nbsp;function giveMeY(showY){&nbsp;&nbsp;&nbsp;&nbsp;if(showY){&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;let y = 5&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;&nbsp;return y}<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>\u0412\u044b\u0437\u043e\u0432 \u044d\u0442\u0438\u0445 \u0444\u0443\u043d\u043a\u0446\u0438\u0439 \u0441 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u043c false \u043f\u0440\u0438\u0432\u0435\u0434\u0435\u0442 \u043a \u043e\u0448\u0438\u0431\u043a\u0435 ReferenceError, \u043f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e \u043a \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u043c \u00abx\u00bb \u0438 \u00aby\u00bb \u043d\u0435\u0442 \u0434\u043e\u0441\u0442\u0443\u043f\u0430 \u0441\u043d\u0430\u0440\u0443\u0436\u0438 \u0431\u043b\u043e\u043a\u0430 \u0438 \u0438\u0445 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u043d\u0435 \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u044e\u0442\u0441\u044f (\u043d\u0435 \u0432\u0441\u043f\u043b\u044b\u0432\u0430\u044e\u0442).<\/p>\n\n\n\n<p>\u0420\u0430\u0437\u043d\u0438\u0446\u0430 \u043c\u0435\u0436\u0434\u0443 \u00ablet\u00bb \u0438 \u00abconst\u00bb \u0441\u043e\u0441\u0442\u043e\u0438\u0442 \u0432 \u0442\u043e\u043c, \u0447\u0442\u043e \u0432 \u043f\u0435\u0440\u0432\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u043c\u044b \u043c\u043e\u0436\u0435\u0442 \u043c\u0435\u043d\u044f\u0442\u044c \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439, \u0430 \u0432\u043e \u0432\u0442\u043e\u0440\u043e\u043c \u2014 \u043d\u0435\u0442 (\u043a\u043e\u043d\u0441\u0442\u0430\u043d\u0442\u0430). \u041f\u0440\u0438 \u044d\u0442\u043e\u043c, \u043c\u044b \u043c\u043e\u0436\u0435\u043c \u043c\u0435\u043d\u044f\u0442\u044c \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u0430 \u043e\u0431\u044a\u0435\u043a\u0442\u0430, \u043e\u0431\u044a\u044f\u0432\u043b\u0435\u043d\u043d\u043e\u0433\u043e \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e const, \u043d\u043e \u043d\u0435 \u0441\u0430\u043c\u043e \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u043e (\u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0443\u044e).<\/p>\n\n\n\n<h4>43. \u0427\u0442\u043e \u0442\u0430\u043a\u043e\u0435 \u0441\u0442\u0440\u0435\u043b\u043e\u0447\u043d\u044b\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 (Arrow Functions)?<\/h4>\n\n\n\n<p>\u0421\u0442\u0440\u0435\u043b\u043e\u0447\u043d\u0430\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u2014 \u044d\u0442\u043e \u043e\u0442\u043d\u043e\u0441\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u043d\u043e\u0432\u044b\u0439 \u0441\u043f\u043e\u0441\u043e\u0431 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u0439 \u0432 JS. \u0421\u0442\u0440\u0435\u043b\u043e\u0447\u043d\u044b\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0441\u043e\u0437\u0434\u0430\u044e\u0442\u0441\u044f \u0431\u044b\u0441\u0442\u0440\u0435\u0435 \u0438 \u0438\u043c\u0435\u044e\u0442 \u0431\u043e\u043b\u0435\u0435 \u0447\u0438\u0442\u0430\u0435\u043c\u044b\u0439 \u0441\u0438\u043d\u0442\u0430\u043a\u0441\u0438\u0441, \u0447\u0435\u043c \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u044b\u0435 \u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u044f. \u0412 \u0441\u0442\u0440\u0435\u043b\u043e\u0447\u043d\u044b\u0445 \u0444\u0443\u043d\u043a\u0446\u0438\u044f\u0445 \u043e\u043f\u0443\u0441\u043a\u0430\u0435\u0442\u0441\u044f \u0441\u043b\u043e\u0432\u043e \u00abfunction\u00bb:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td>1234567<\/td><td>\/\/ ES5var getCurrentDate = function(){&nbsp;&nbsp;&nbsp;&nbsp;return new Date()}&nbsp;\/\/ ES6const getCurrentDate = () =&amp;gt; new Date()<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>\u0412 \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u043e\u043c \u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u0438 \u043c\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c \u043a\u043b\u044e\u0447\u0435\u0432\u043e\u0435 \u0441\u043b\u043e\u0432\u043e \u00abreturn\u00bb \u0434\u043b\u044f \u0432\u043e\u0437\u0432\u0440\u0430\u0442\u0430 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f. \u0412 \u0441\u0442\u0440\u0435\u043b\u043e\u0447\u043d\u043e\u0439 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u043c\u044b \u044d\u0442\u043e\u0433\u043e \u043d\u0435 \u0434\u0435\u043b\u0430\u0435\u043c, \u043f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 \u0441\u0442\u0440\u0435\u043b\u043e\u0447\u043d\u044b\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u043d\u0435\u044f\u0432\u043d\u043e \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u044e\u0442 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u043f\u0440\u0438 \u0443\u0441\u043b\u043e\u0432\u0438\u0438, \u0447\u0442\u043e \u043c\u044b \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u043c \u043e\u0434\u043d\u043e \u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u0435 \u0438\u043b\u0438 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td>12345678<\/td><td>\/\/ ES5function greet(name){&nbsp;&nbsp;&nbsp;&nbsp;return &#8216;Hello &#8216; + name + &#8216;!&#8217; }&nbsp;\/\/ ES6const greet = (name) =&amp;gt; `Hello ${name}`const greet2 = name = &amp;gt; `Hello ${name}`<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>\u041c\u044b \u0442\u0430\u043a\u0436\u0435 \u043c\u043e\u0436\u0435\u043c \u043f\u0435\u0440\u0435\u0434\u0430\u0432\u0430\u0442\u044c \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b \u0441\u0442\u0440\u0435\u043b\u043e\u0447\u043d\u044b\u043c \u0444\u0443\u043d\u043a\u0446\u0438\u044f\u043c. \u0415\u0441\u043b\u0438 \u043c\u044b \u043f\u0435\u0440\u0435\u0434\u0430\u0435\u043c \u043e\u0434\u0438\u043d \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440, \u0435\u0433\u043e \u043c\u043e\u0436\u043d\u043e \u043d\u0435 \u043e\u0431\u043e\u0440\u0430\u0447\u0438\u0432\u0430\u0442\u044c \u0432 \u043a\u0440\u0443\u0433\u043b\u044b\u0435 \u0441\u043a\u043e\u0431\u043a\u0438:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td>123<\/td><td>const getArgs = () =&amp;gt; arguments&nbsp;const getArgs2 = (&#8230;rest) =&amp;gt; rest<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>\u0423 \u0441\u0442\u0440\u0435\u043b\u043e\u0447\u043d\u044b\u0445 \u0444\u0443\u043d\u043a\u0446\u0438\u0439 \u043d\u0435\u0442 \u0434\u043e\u0441\u0442\u0443\u043f\u0430 \u043a \u043e\u0431\u044a\u0435\u043a\u0442\u0443 arguments. \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u0432\u044b\u0437\u043e\u0432 \u043f\u0435\u0440\u0432\u043e\u0439 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u043f\u0440\u0438\u0432\u0435\u0434\u0435\u0442 \u043a \u043e\u0448\u0438\u0431\u043a\u0435. \u0414\u043b\u044f \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u044f \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432, \u043f\u0435\u0440\u0435\u0434\u0430\u043d\u043d\u044b\u0445 \u0444\u0443\u043d\u043a\u0446\u0438\u0438, \u043c\u044b \u043c\u043e\u0436\u0435\u043c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440 rest.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td>123456789101112<\/td><td>const data = {&nbsp;&nbsp;&nbsp;&nbsp;result: 0&nbsp;&nbsp;&nbsp;&nbsp;nums: [1,2,3,4,5]&nbsp;&nbsp;&nbsp;&nbsp;computeResult(){&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\/\/ this \u0441\u0441\u044b\u043b\u0430\u0435\u0442\u0441\u044f \u043d\u0430 \u043e\u0431\u044a\u0435\u043a\u0442 data&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;const addAll = () =&amp;gt; {&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\/\/ \u0441\u0442\u0440\u0435\u043b\u043e\u0447\u043d\u044b\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u043a\u043e\u043f\u0438\u0440\u0443\u044e\u0442 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 this \u0438\u0437 \u043b\u0435\u043a\u0441\u0438\u0447\u0435\u0441\u043a\u043e\u0433\u043e \u043e\u043a\u0440\u0443\u0436\u0435\u043d\u0438\u044f&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return this.nums.reduce((total, cur) =&amp;gt; total + cur, 0)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;&nbsp;this.result = addAll()&nbsp;&nbsp;&nbsp;&nbsp;}}<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h4>44. \u0427\u0442\u043e \u0442\u0430\u043a\u043e\u0435 \u043a\u043b\u0430\u0441\u0441\u044b (Classes)?<\/h4>\n\n\n\n<p>\u041a\u043b\u0430\u0441\u0441\u044b \u2014 \u044d\u0442\u043e \u043e\u0442\u043d\u043e\u0441\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u043d\u043e\u0432\u044b\u0439 \u0441\u043f\u043e\u0441\u043e\u0431 \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u0438\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u0439-\u043a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0442\u043e\u0440\u043e\u0432 \u0432 JS. \u042d\u0442\u043e \u0441\u0438\u043d\u0442\u0430\u043a\u0441\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u0441\u0430\u0445\u0430\u0440 \u0434\u043b\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u0439-\u043a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0442\u043e\u0440\u043e\u0432. \u0412 \u043e\u0441\u043d\u043e\u0432\u0435 \u043a\u043b\u0430\u0441\u0441\u043e\u0432 \u043b\u0435\u0436\u0430\u0442 \u0442\u0435 \u0436\u0435 \u043f\u0440\u043e\u0442\u043e\u0442\u0438\u043f\u044b \u0438 \u043f\u0440\u043e\u0442\u043e\u0442\u0438\u043f\u043d\u043e\u0435 \u043d\u0430\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u043d\u0438\u0435:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td>1234567891011121314151617181920212223242526272829303132333435363738394041<\/td><td>\/\/ ES5function Person(firstName, lastName, age, address){&nbsp;&nbsp;&nbsp;&nbsp;this.firstName = firstName&nbsp;&nbsp;&nbsp;&nbsp;this.lastName = lastName&nbsp;&nbsp;&nbsp;&nbsp;this.age = age&nbsp;&nbsp;&nbsp;&nbsp;this.address = address}&nbsp;Person.self = function(){&nbsp;&nbsp;&nbsp;&nbsp;return this}&nbsp;Person.prototype.toString = function(){&nbsp;&nbsp;&nbsp;&nbsp;return &#8216;[object Person]&#8217;}&nbsp;Person.prototype.getFullName = function(){&nbsp;&nbsp;&nbsp;&nbsp;return this.firstName + &#8216; &#8216; + this.lastName}&nbsp;\/\/ ES6class Person{&nbsp;&nbsp;&nbsp;&nbsp;constructor(firstName, lastName, age, address){&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;this.firstName = firstName&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;this.lastName = lastName&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;this.age = age&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;this.address = address&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;static self(){&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return this&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;toString(){&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return &#8216;[object Person]&#8217;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;getFullName(){&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return `${this.firstName} ${this.lastName}`&nbsp;&nbsp;&nbsp;&nbsp;}}<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>\u041f\u0435\u0440\u0435\u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u0435 \u043c\u0435\u0442\u043e\u0434\u043e\u0432 \u0438 \u043d\u0430\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u043d\u0438\u0435 \u043e\u0442 \u0434\u0440\u0443\u0433\u043e\u0433\u043e \u043a\u043b\u0430\u0441\u0441\u0430:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td>123456789101112131415161718192021222324252627282930313233<\/td><td>\/\/ ES5Employee.prototype = Object.create(Person.prototype)&nbsp;function Employee(firstName, lastName, age, address, jobTitle, yearStarted){&nbsp;&nbsp;&nbsp;&nbsp;Person.call(this, firstName, lastName, age, address)&nbsp;&nbsp;&nbsp;&nbsp;this.jobTitle = jobTitle&nbsp;&nbsp;&nbsp;&nbsp;this.yearStarted = yearStarted}&nbsp;Employee.prototype.describe = function(){&nbsp;&nbsp;&nbsp;&nbsp;return `I am ${this.getFullName()} and I have a position of #{this.jobTitle} and I started at ${this.yearStarted}}`}&nbsp;Employee.prototype.toString = function(){&nbsp;&nbsp;&nbsp;&nbsp;return &#8216;[object Employee]&#8217;}&nbsp;\/\/ ES6class Employee extends Person{ \/\/ \u043d\u0430\u0441\u043b\u0435\u0434\u0443\u0435\u043c\u0441\u044f \u043e\u0442 Person&nbsp;&nbsp;&nbsp;&nbsp;constructor(firstName, lastName, age, address, jobTitle, yearStarted){&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;super(firstName, lastName, age, address)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;this.jobTitle = jobTitle&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;this.yearStarted = yearStarted&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;describe(){&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return `I am ${this.getFullName()} and I have a position of #{this.jobTitle} and I started at ${this.yearStarted}}` &nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;toString(){ \/\/ \u043f\u0435\u0440\u0435\u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0435\u043c \u043c\u0435\u0442\u043e\u0434 toString \u043a\u043b\u0430\u0441\u0441\u0430 Person&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return &#8216;[object Employee]&#8217;&nbsp;&nbsp;&nbsp;&nbsp;}}<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>\u041a\u0430\u043a \u0443\u0437\u043d\u0430\u0442\u044c \u043e\u0431 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0438 \u043f\u0440\u043e\u0442\u043e\u0442\u0438\u043f\u043e\u0432?<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td>12345678910111213141516<\/td><td>class Something{ }&nbsp;function AnotherSomething(){ }&nbsp;const as = new AnotherSomething()const s = new Something()&nbsp;console.log(typeof Something) \/\/ functionconsole.log(typeof AnotherSomething) \/\/ functionconsole.log(as.toString()) \/\/ [object Object]console.log(a.toString()) \/\/ [object Object]console.log(as.toString === Object.prototype.toString)console.log(a.toString === Object.prototype.toString)\/\/ \u0432 \u043e\u0431\u043e\u0438\u0445 \u0441\u043b\u0443\u0447\u0430\u044f\u0445 \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u043c true\/\/ Object.prototype \u043d\u0430\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u043d\u0430 \u0432\u0435\u0440\u0448\u0438\u043d\u0435 \u0446\u0435\u043f\u043e\u0447\u043a\u0438 \u043f\u0440\u043e\u0442\u043e\u0442\u0438\u043f\u043e\u0432\/\/ Something \u0438 AnotherSomething \u043d\u0430\u0441\u043b\u0435\u0434\u0443\u044e\u0442 \u043e\u0442 Object.prototype<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h4>45. \u0427\u0442\u043e \u0442\u0430\u043a\u043e\u0435 \u0448\u0430\u0431\u043b\u043e\u043d\u043d\u044b\u0435 \u043b\u0438\u0442\u0435\u0440\u0430\u043b\u044b (Template Literals)?<\/h4>\n\n\n\n<p>\u0428\u0430\u0431\u043b\u043e\u043d\u043d\u044b\u0435 \u043b\u0438\u0442\u0435\u0440\u0430\u043b\u044b \u2014 \u043e\u0442\u043d\u043e\u0441\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u043d\u043e\u0432\u044b\u0439 \u0441\u043f\u043e\u0441\u043e\u0431 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u0441\u0442\u0440\u043e\u043a \u0432 JS. \u0428\u0430\u0431\u043b\u043e\u043d\u043d\u044b\u0435 \u043b\u0438\u0442\u0435\u0440\u0430\u043b\u044b \u0441\u043e\u0437\u0434\u0430\u044e\u0442\u0441\u044f \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0434\u0432\u043e\u0439\u043d\u044b\u0445 \u043e\u0431\u0440\u0430\u0442\u043d\u044b\u0445 \u043a\u0430\u0432\u044b\u0447\u0435\u043a ():<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td>12345<\/td><td>\/\/ ES5var greet = &#8216;Hi I\\&#8217;m Mark&#8217;&nbsp;\/\/ ES6let greet = `Hi I&#8217;m Mark`<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>\u0412 \u0448\u0430\u0431\u043b\u043e\u043d\u043d\u044b\u0445 \u043b\u0438\u0442\u0435\u0440\u0430\u043b\u0430\u0445 \u043d\u0430\u043c \u043d\u0435 \u043d\u0443\u0436\u043d\u043e \u044d\u043a\u0440\u0430\u043d\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043e\u0434\u0438\u043d\u0430\u0440\u043d\u044b\u0435 \u043a\u0430\u0432\u044b\u0447\u043a\u0438.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td>123456789101112<\/td><td>\/\/ ES5var lastWords = &#8216;\\n&#8217;&nbsp;&nbsp;&nbsp;&nbsp;+ &#8216; I \\n&#8217;&nbsp;&nbsp;&nbsp;&nbsp;+ &#8216; am \\n&#8217;&nbsp;&nbsp;&nbsp;&nbsp;+ &#8216;Iron Man \\n&#8217;&nbsp;\/\/ ES6let lastWords = `&nbsp;&nbsp;&nbsp;&nbsp;I&nbsp;&nbsp;&nbsp;&nbsp;am&nbsp;&nbsp;&nbsp;&nbsp;Iron Man`<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>\u0412 ES6 \u043d\u0430\u043c \u043d\u0435 \u043d\u0443\u0436\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0443\u043f\u0440\u0430\u0432\u043b\u044f\u044e\u0449\u0443\u044e \u043f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u00ab\\n\u00bb \u0434\u043b\u044f \u043f\u0435\u0440\u0435\u0432\u043e\u0434\u0430 \u0441\u0442\u0440\u043e\u043a\u0438.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td>123456789<\/td><td>\/\/ ES5function greet(name){&nbsp;&nbsp;&nbsp;&nbsp;return &#8216;Hello &#8216; + name + &#8216;!&#8217;}&nbsp;\/\/ ES6function greet(name){&nbsp;&nbsp;&nbsp;&nbsp;return `Hello ${name}!`}<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>\u0412 ES6 \u043d\u0430\u043c \u043d\u0435 \u043d\u0443\u0436\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043a\u043e\u043d\u043a\u0430\u0442\u0435\u043d\u0430\u0446\u0438\u044e \u0441\u0442\u0440\u043e\u043a \u0434\u043b\u044f \u043e\u0431\u044a\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044f \u0442\u0435\u043a\u0441\u0442\u0430 \u0441 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439: \u043c\u044b \u043c\u043e\u0436\u0435\u043c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u0435 ${expr} \u0434\u043b\u044f \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u044f \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439.<\/p>\n\n\n\n<h4>46. \u0427\u0442\u043e \u0442\u0430\u043a\u043e\u0435 \u0434\u0435\u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0438\u0437\u0430\u0446\u0438\u044f \u043e\u0431\u044a\u0435\u043a\u0442\u0430 (Object Destructuring)?<\/h4>\n\n\n\n<p>\u0414\u0435\u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0438\u0437\u0430\u0446\u0438\u044f \u2014 \u043e\u0442\u043d\u043e\u0441\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u043d\u043e\u0432\u044b\u0439 \u0441\u043f\u043e\u0441\u043e\u0431 \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u044f (\u0438\u0437\u0432\u043b\u0435\u0447\u0435\u043d\u0438\u044f) \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439 \u043e\u0431\u044a\u0435\u043a\u0442\u0430 \u0438\u043b\u0438 \u043c\u0430\u0441\u0441\u0438\u0432\u0430.<\/p>\n\n\n\n<p>\u0414\u043e\u043f\u0443\u0441\u0442\u0438\u043c, \u0443 \u043d\u0430\u0441 \u0435\u0441\u0442\u044c \u0442\u0430\u043a\u043e\u0439 \u043e\u0431\u044a\u0435\u043a\u0442:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td>123456<\/td><td>const employee = {&nbsp;&nbsp;&nbsp;&nbsp;firstName: &#8216;Marko&#8217;,&nbsp;&nbsp;&nbsp;&nbsp;lastName: &#8216;Polo&#8217;,&nbsp;&nbsp;&nbsp;&nbsp;position: &#8216;Software Developer&#8217;,&nbsp;&nbsp;&nbsp;&nbsp;yearHired: 2017}<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>\u0420\u0430\u043d\u044c\u0448\u0435 \u0434\u043b\u044f \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u044f \u0441\u0432\u043e\u0439\u0441\u0442\u0432 \u043e\u0431\u044a\u0435\u043a\u0442\u0430 \u043c\u044b \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u043b\u0438 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435 \u0434\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u0430. \u042d\u0442\u043e \u0431\u044b\u043b\u043e \u043e\u0447\u0435\u043d\u044c \u0441\u043a\u0443\u0447\u043d\u043e \u0438 \u0441\u0438\u043b\u044c\u043d\u043e \u0440\u0430\u0437\u0434\u0440\u0430\u0436\u0430\u043b\u043e:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td>1234<\/td><td>var firstName = employee.firstNamevar lastName = employee.lastNamevar position = employee.positionvar yearHired = employee.yearHired<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>\u0418\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u0434\u0435\u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0438\u0437\u0430\u0446\u0438\u0438 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u043a\u043e\u0434 \u0447\u0438\u0449\u0435 \u0438 \u043e\u0442\u043d\u0438\u043c\u0430\u0435\u0442 \u043c\u0435\u043d\u044c\u0448\u0435 \u0432\u0440\u0435\u043c\u0435\u043d\u0438. \u0421\u0438\u043d\u0442\u0430\u043a\u0441\u0438\u0441 \u0434\u0435\u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0438\u0437\u0430\u0446\u0438\u0438 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439: \u0437\u0430\u043a\u043b\u044e\u0447\u0430\u0435\u043c \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u0430 \u043e\u0431\u044a\u0435\u043a\u0442\u0430, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0445\u043e\u0442\u0438\u043c \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c, \u0432 \u0444\u0438\u0433\u0443\u0440\u043d\u044b\u0435 \u0441\u043a\u043e\u0431\u043a\u0438 ({ }), \u0430 \u0435\u0441\u043b\u0438 \u0440\u0435\u0447\u044c \u0438\u0434\u0435\u0442 \u043e \u043c\u0430\u0441\u0441\u0438\u0432\u0435 \u2014 \u0432 \u043a\u0432\u0430\u0434\u0440\u0430\u0442\u043d\u044b\u0435 \u0441\u043a\u043e\u0431\u043a\u0438 ([ ]):<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td>1<\/td><td>let { firstName, lastName, position, yearHired } = employee<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>\u0414\u043b\u044f \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u0438\u043c\u0435\u043d\u0438 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439 \u0441\u043b\u0435\u0434\u0443\u0435\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u00abpropertyName: newName\u00bb:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td>1<\/td><td>let { firstName: fName, lastName: lName, position, yearHired } = employee<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>\u0414\u043b\u044f \u043f\u0440\u0438\u0441\u0432\u043e\u0435\u043d\u0438\u044f \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u043c \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e \u0441\u043b\u0435\u0434\u0443\u0435\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u00abpropertyName = \u2018defaultValue\u2019\u00bb:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td>1<\/td><td>let { firstName = &#8216;Mark&#8217;, lastName: lName, position, yearHired } = employee<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h4>47. \u0427\u0442\u043e \u0442\u0430\u043a\u043e\u0435 \u043c\u043e\u0434\u0443\u043b\u0438 (Modules)?<\/h4>\n\n\n\n<p>\u041c\u043e\u0434\u0443\u043b\u0438 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0442 \u043e\u0431\u044a\u0435\u0434\u0438\u043d\u044f\u0442\u044c (\u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c) \u043a\u043e\u0434 \u0438\u0437 \u0440\u0430\u0437\u043d\u044b\u0445 \u0444\u0430\u0439\u043b\u043e\u0432 \u0438 \u0438\u0437\u0431\u0430\u0432\u043b\u044f\u044e\u0442 \u043d\u0430\u0441 \u043e\u0442 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0441\u0442\u0438 \u0434\u0435\u0440\u0436\u0430\u0442\u044c \u0432\u0435\u0441\u044c \u043a\u043e\u0434 \u0432 \u043e\u0434\u043d\u043e\u043c \u0431\u043e\u043b\u044c\u0448\u043e\u043c \u0444\u0430\u0439\u043b\u0435. \u0414\u043e \u043f\u043e\u044f\u0432\u043b\u0435\u043d\u0438\u044f \u043c\u043e\u0434\u0443\u043b\u0435\u0439 \u0432 JS \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u043e\u0432\u0430\u043b\u043e \u0434\u0432\u0435 \u043f\u043e\u043f\u0443\u043b\u044f\u0440\u043d\u044b\u0435 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u043c\u043e\u0434\u0443\u043b\u0435\u0439 \u0434\u043b\u044f \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0438 \u043a\u043e\u0434\u0430:<\/p>\n\n\n\n<ul><li>CommonJS \u2014 Nodejs<\/li><li>AMD (AsyncronousModuleDefinition) \u2014 Browsers<\/li><\/ul>\n\n\n\n<p>\u0421\u0438\u043d\u0442\u0430\u043a\u0441\u0438\u0441 \u043c\u043e\u0434\u0443\u043b\u0435\u0439 \u043e\u0447\u0435\u043d\u044c \u043f\u0440\u043e\u0441\u0442\u043e\u0439: \u043c\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c import \u0434\u043b\u044f \u0438\u043c\u043f\u043e\u0440\u0442\u0430 \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u043e\u0441\u0442\u0438 \u0438\u043b\u0438 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439 \u0438\u0437 \u0434\u0440\u0443\u0433\u043e\u0433\u043e \u0444\u0430\u0439\u043b\u0430 \u0438\u043b\u0438 \u0444\u0430\u0439\u043b\u043e\u0432 \u0438 export \u0434\u043b\u044f \u044d\u043a\u0441\u043f\u043e\u0440\u0442\u0430.<\/p>\n\n\n\n<p>\u042d\u043a\u0441\u043f\u043e\u0440\u0442 \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u043e\u0441\u0442\u0438 \u0432 \u0434\u0440\u0443\u0433\u043e\u0439 \u0444\u0430\u0439\u043b (\u0438\u043c\u0435\u043d\u043d\u043e\u0439 \u044d\u043a\u0441\u043f\u043e\u0440\u0442):<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td>12345678910111213141516171819202122232425<\/td><td>\/\/ ES5 CommonJS &#8211; helpers.jsexports.isNull = function(val){&nbsp;&nbsp;&nbsp;&nbsp;return val === null}&nbsp;exports.isUndefined = function(val){&nbsp;&nbsp;&nbsp;&nbsp;return val === undefined}&nbsp;exports.isNullOrUndefined = function(val){&nbsp;&nbsp;&nbsp;&nbsp;return exports.isNull(val) || exports.isUndefined(val)}&nbsp;\/\/ ES6 \u043c\u043e\u0434\u0443\u043b\u0438export function isNull(val){&nbsp;&nbsp;&nbsp;&nbsp;return val === null;}&nbsp;export function isUndefined(val) {&nbsp;&nbsp;&nbsp;&nbsp;return val === undefined;}&nbsp;export function isNullOrUndefined(val) {&nbsp;&nbsp;&nbsp;&nbsp;return isNull(val) || isUndefined(val);}<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>\u0418\u043c\u043f\u043e\u0440\u0442 \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u043e\u0441\u0442\u0438 \u0432 \u0434\u0440\u0443\u0433\u043e\u0439 \u0444\u0430\u0439\u043b:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td>1234567891011121314<\/td><td>\/\/ ES5 CommonJS &#8211; index.jsconst helpers = require(&#8216;.\/helpers.js&#8217;)const isNull = helpers.isNullconst isUndefined = helpers.isUndefinedconst isNullOrUndefined = helpers.isNullOrUndefined&nbsp;\/\/ \u043b\u0438\u0431\u043e \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0434\u0435\u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0438\u0437\u0430\u0446\u0438\u0438const { isNull, isUndefined, isNullOrUndefined } = require(&#8216;.\/helpers.js&#8217;)&nbsp;\/\/ ES6 \u043c\u043e\u0434\u0443\u043b\u0438import * as helpers from &#8216;.\/helpers.js&#8217; \/\/ helpers &#8211; \u044d\u0442\u043e \u043e\u0431\u044a\u0435\u043a\u0442&nbsp;\/\/ \u043b\u0438\u0431\u043eimport { isNull, isUndefined, isNullOrUndefined as isValid} from &#8216;.\/helpers.js&#8217; \/\/ \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c &#8220;as&#8221; \u0434\u043b\u044f \u043f\u0435\u0440\u0435\u0438\u043c\u0435\u043d\u043e\u0432\u044b\u0432\u0430\u043d\u0438\u044f<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>\u042d\u043a\u0441\u043f\u043e\u0440\u0442 \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td>123456789101112131415161718192021222324252627282930313233<\/td><td>\/\/ ES5 CommonJS &#8211; index.jsclass Helpers {&nbsp;&nbsp;&nbsp;&nbsp;static isNull(val){&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return val === null&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;static isUndefined(val){&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return val === undefined&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;static isNullOrUndefined(val){&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return this.isNull(val) || this.isUndefined(val)&nbsp;&nbsp;&nbsp;&nbsp;}}&nbsp;module.exports = Helpers&nbsp;\/\/ ES6 \u043c\u043e\u0434\u0443\u043b\u0438class Helpers {&nbsp;&nbsp;&nbsp;&nbsp;static isNull(val){&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return val === null&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;static isUndefined(val){&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return val === undefined&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;static isNullOrUndefined(val){&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return this.isNull(val) || this.isUndefined(val)&nbsp;&nbsp;&nbsp;&nbsp;}}&nbsp;export default Helpers<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>\u0418\u043c\u043f\u043e\u0440\u0442:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td>1234567<\/td><td>\/\/ ES5 CommonJS &#8211; index.jsconst Helpers = require(&#8216;.\/helpers.js&#8217;)console.log(Helpers.isNull(null))&nbsp;\/\/ ES6 \u043c\u043e\u0434\u0443\u043b\u0438import Helpers from &#8216;.\/helpers.js&#8217;console.log(Helpers.isNull(null))<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>\u042d\u0442\u043e \u0431\u0430\u0437\u043e\u0432\u043e\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u043c\u043e\u0434\u0443\u043b\u0435\u0439. \u042f \u043d\u0435 \u0441\u0442\u0430\u043b \u0432\u0434\u0430\u0432\u0430\u0442\u044c\u0441\u044f \u0432 \u043f\u043e\u0434\u0440\u043e\u0431\u043d\u043e\u0441\u0442\u0438, \u043f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 \u043c\u043e\u0439 \u043f\u043e\u0441\u0442 \u0438 \u0431\u0435\u0437 \u0442\u043e\u0433\u043e \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u0442\u0441\u044f \u0441\u043b\u0438\u0448\u043a\u043e\u043c \u0431\u043e\u043b\u044c\u0448\u0438\u043c.<\/p>\n\n\n\n<h4>48. \u0427\u0442\u043e \u0442\u0430\u043a\u043e\u0435 \u043e\u0431\u044a\u0435\u043a\u0442 Set?<\/h4>\n\n\n\n<p>\u041e\u0431\u044a\u0435\u043a\u0442 Set \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0445\u0440\u0430\u043d\u0438\u0442\u044c \u0443\u043d\u0438\u043a\u0430\u043b\u044c\u043d\u044b\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f, \u043f\u0440\u0438\u043c\u0438\u0442\u0438\u0432\u044b \u0438 \u0441\u0441\u044b\u043b\u043a\u0438 \u043d\u0430 \u043e\u0431\u044a\u0435\u043a\u0442\u044b. \u0415\u0449\u0435 \u0440\u0430\u0437: \u0432 Set \u043c\u043e\u0436\u043d\u043e \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0442\u044c \u0442\u043e\u043b\u044c\u043a\u043e \u0443\u043d\u0438\u043a\u0430\u043b\u044c\u043d\u044b\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f. \u041e\u043d \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u0442 \u0445\u0440\u0430\u043d\u044f\u0449\u0438\u0435\u0441\u044f \u0432 \u043d\u0435\u043c \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u0430 SameZeroValue.<\/p>\n\n\n\n<p>\u042d\u043a\u0437\u0435\u043c\u043f\u043b\u044f\u0440 Set \u0441\u043e\u0437\u0434\u0430\u0435\u0442\u0441\u044f \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u043a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0442\u043e\u0440\u0430 Set. \u041c\u044b \u0442\u0430\u043a\u0436\u0435 \u043c\u043e\u0436\u0435\u043c \u043f\u0435\u0440\u0435\u0434\u0430\u0442\u044c \u0435\u043c\u0443 \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u043f\u0440\u0438 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0438:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td>12<\/td><td>const set1 = new Set()const set2 = new Set([&#8216;a&#8217;,&#8217;b&#8217;,&#8217;c&#8217;,&#8217;d&#8217;,&#8217;d&#8217;,&#8217;e&#8217;]) \/\/ \u0432\u0442\u043e\u0440\u0430\u044f &#8220;d&#8221; \u043d\u0435 \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u0441\u044f<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>\u041c\u044b \u043c\u043e\u0436\u0435\u043c \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0442\u044c \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u0432 Set, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044f \u043c\u0435\u0442\u043e\u0434 add. \u041f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 \u043c\u0435\u0442\u043e\u0434 add \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u043c\u044b\u043c, \u043c\u044b \u043c\u043e\u0436\u0435\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0446\u0435\u043f\u043e\u0447\u043a\u0443 \u0432\u044b\u0437\u043e\u0432\u043e\u0432:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td>12<\/td><td>set2.add(&#8216;f&#8217;)set2.add(&#8216;g&#8217;).add(&#8216;h&#8217;).add(&#8216;i&#8217;).add(&#8216;j&#8217;).add(&#8216;k&#8217;).add(&#8216;k&#8217;) \/\/ \u0432\u0442\u043e\u0440\u0430\u044f &#8220;k&#8221; \u043d\u0435 \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u0441\u044f<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>\u041c\u044b \u043c\u043e\u0436\u0435\u043c \u0443\u0434\u0430\u043b\u044f\u0442\u044c \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u0438\u0437 Set, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044f \u043c\u0435\u0442\u043e\u0434 delete:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td>12<\/td><td>set2.delete(&#8216;k&#8217;) \/\/ trueset2.delete(&#8216;z&#8217;) \/\/ false, \u043f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e \u0432 set2 \u043d\u0435\u0442 \u0442\u0430\u043a\u043e\u0433\u043e \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>\u041c\u044b \u043c\u043e\u0436\u0435\u043c \u043f\u0440\u043e\u0432\u0435\u0440\u0438\u0442\u044c \u043d\u0430\u043b\u0438\u0447\u0438\u0435 \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u0430 \u0432 Set, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044f \u043c\u0435\u0442\u043e\u0434 has:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td>12<\/td><td>set2.has(&#8216;a&#8217;) \/\/ trueset2.has(&#8216;z&#8217;) \/\/ false<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>\u0414\u043b\u044f \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u044f \u0434\u043b\u0438\u043d\u044b Set \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u043c\u0435\u0442\u043e\u0434 size:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td>1<\/td><td>set2.size \/\/ 10<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>\u041c\u0435\u0442\u043e\u0434 clear \u043e\u0447\u0438\u0449\u0430\u0435\u0442 Set:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td>1<\/td><td>set2.clear() \/\/ \u043f\u0443\u0441\u0442\u043e<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>\u041c\u044b \u043c\u043e\u0436\u0435\u043c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c Set \u0434\u043b\u044f \u0443\u0434\u0430\u043b\u0435\u043d\u0438\u044f \u043f\u043e\u0432\u0442\u043e\u0440\u044f\u044e\u0449\u0438\u0445\u0441\u044f \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439 \u0432 \u043c\u0430\u0441\u0441\u0438\u0432\u0435:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td>12<\/td><td>const nums = [1,2,3,4,5,6,6,7,8,8,5]const uniqNums = [&#8230;newSet(nums)] \/\/ [1,2,3,4,5,6,7,8]<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h4>49. \u0427\u0442\u043e \u0442\u0430\u043a\u043e\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u043e\u0431\u0440\u0430\u0442\u043d\u043e\u0433\u043e \u0432\u044b\u0437\u043e\u0432\u0430 (Callback Function)?<\/h4>\n\n\n\n<p>\u0424\u0443\u043d\u043a\u0446\u0438\u044f \u043e\u0431\u0440\u0430\u0442\u043d\u043e\u0433\u043e \u0432\u044b\u0437\u043e\u0432\u0430 \u2014 \u044d\u0442\u043e \u0444\u0443\u043d\u043a\u0446\u0438\u044f, \u0432\u044b\u0437\u043e\u0432 \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u043e\u0442\u043b\u043e\u0436\u0435\u043d \u043d\u0430 \u0431\u0443\u0434\u0443\u0449\u0435\u0435 (\u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u0442 \u043f\u0440\u0438 \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0443\u0441\u043b\u043e\u0432\u0438\u044f\u0445, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u043f\u0440\u0438 \u043d\u0430\u0441\u0442\u0443\u043f\u043b\u0435\u043d\u0438\u0438 \u0441\u043e\u0431\u044b\u0442\u0438\u044f).<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td>12345<\/td><td>const btnAdd = document.getElementById(&#8216;btnAdd&#8217;)&nbsp;btnAdd.addEventListener(&#8216;click&#8217;, function clickCallback(e)){&nbsp;&nbsp;&nbsp;&nbsp;\/\/ \u0434\u0435\u043b\u0430\u0435\u043c \u043d\u0435\u0447\u0442\u043e \u043f\u043e\u043b\u0435\u0437\u043d\u043e\u0435}<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>\u0412 \u043f\u0440\u0438\u043c\u0435\u0440\u0435 \u043c\u044b \u0436\u0434\u0435\u043c \u0441\u043e\u0431\u044b\u0442\u0438\u044f \u00ab\u043a\u043b\u0438\u043a\u00bb \u043d\u0430 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u0435 \u0441 \u0438\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440\u043e\u043c \u00abbtnAdd\u00bb. \u041f\u043e \u043a\u043b\u0438\u043a\u0443 \u0432\u044b\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u044f clickCallback. \u0424\u0443\u043d\u043a\u0446\u0438\u044f \u043e\u0431\u0440\u0430\u0442\u043d\u043e\u0433\u043e \u0432\u044b\u0437\u043e\u0432\u0430 \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u0442 \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b \u0434\u0430\u043d\u043d\u044b\u043c \u0438\u043b\u0438 \u0441\u043e\u0431\u044b\u0442\u0438\u044e. \u041c\u0435\u0442\u043e\u0434\u0430\u043c reduce, filter \u0438 map \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u0432\u0442\u043e\u0440\u043e\u0433\u043e \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442\u0430 \u043f\u0435\u0440\u0435\u0434\u0430\u0435\u0442\u0441\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u043e\u0431\u0440\u0430\u0442\u043d\u043e\u0433\u043e \u0432\u044b\u0437\u043e\u0432\u0430. \u0425\u043e\u0440\u043e\u0448\u0435\u0439 \u0430\u043d\u0430\u043b\u043e\u0433\u0438\u0435\u0439 callback \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0430\u044f \u0441\u0438\u0442\u0443\u0430\u0446\u0438\u044f: \u0412\u044b \u0437\u0432\u043e\u043d\u0438\u0442\u0435 \u043a\u043e\u043c\u0443-\u0442\u043e, \u043e\u043d \u043d\u0435 \u043e\u0442\u0432\u0435\u0447\u0430\u0435\u0442, \u0412\u044b \u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442\u0435 \u0435\u043c\u0443 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0435 \u0438 \u0436\u0434\u0435\u0442\u0435, \u043a\u043e\u0433\u0434\u0430 \u043e\u043d \u043f\u0435\u0440\u0435\u0437\u0432\u043e\u043d\u0438\u0442. \u0417\u0432\u043e\u043d\u043e\u043a \u0438\u043b\u0438 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0435 \u2014 \u044d\u0442\u043e \u0441\u043e\u0431\u044b\u0442\u0438\u0435 \u0438\u043b\u0438 \u0434\u0430\u043d\u043d\u044b\u0435, \u0430 callback \u2014 \u044d\u0442\u043e \u043e\u0436\u0438\u0434\u0430\u043d\u0438\u0435 (\u043f\u0440\u0435\u0434\u0432\u043e\u0441\u0445\u0438\u0449\u0435\u043d\u0438\u0435) \u0432\u0441\u0442\u0440\u0435\u0447\u043d\u043e\u0433\u043e \u0437\u0432\u043e\u043d\u043a\u0430.<\/p>\n\n\n\n<h4>50. \u0427\u0442\u043e \u0442\u0430\u043a\u043e\u0435 \u043f\u0440\u043e\u043c\u0438\u0441\u044b (Promises)?<\/h4>\n\n\n\n<p>\u041f\u0440\u043e\u043c\u0438\u0441\u044b \u2014 \u044d\u0442\u043e \u043e\u0434\u0438\u043d \u0438\u0437 \u043f\u0440\u0438\u0435\u043c\u043e\u0432 \u0440\u0430\u0431\u043e\u0442\u044b \u0441 \u0430\u0441\u0438\u043d\u0445\u0440\u043e\u043d\u043d\u044b\u043c \u043a\u043e\u0434\u043e\u043c \u0432 JS. \u041e\u043d\u0438 \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u044e\u0442 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u0430\u0441\u0438\u043d\u0445\u0440\u043e\u043d\u043d\u043e\u0439 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438. \u041f\u0440\u043e\u043c\u0438\u0441\u044b \u0431\u044b\u043b\u0438 \u043f\u0440\u0438\u0434\u0443\u043c\u0430\u043d\u044b \u0434\u043b\u044f \u0440\u0435\u0448\u0435\u043d\u0438\u044f \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u044b \u0442\u0430\u043a \u043d\u0430\u0437\u044b\u0432\u0430\u0435\u043c\u043e\u0433\u043e \u00ab\u0430\u0434\u0430 \u0444\u0443\u043d\u043a\u0446\u0438\u0439 \u043e\u0431\u0440\u0430\u0442\u043d\u043e\u0433\u043e \u0432\u044b\u0437\u043e\u0432\u0430\u00bb.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td>123456<\/td><td>fs.readFile(&#8216;somefile.txt&#8217;, function(e, data){&nbsp;&nbsp;&nbsp;&nbsp;if(e){&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;console.log(e)&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;&nbsp;console.log(data)})<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>\u041f\u0440\u043e\u0431\u043b\u0435\u043c\u044b \u043f\u0440\u0438 \u0442\u0430\u043a\u043e\u043c \u043f\u043e\u0434\u0445\u043e\u0434\u0435 \u043d\u0430\u0447\u0438\u043d\u0430\u044e\u0442\u0441\u044f, \u043a\u043e\u0433\u0434\u0430 \u043d\u0430\u043c \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u0435\u0449\u0435 \u043e\u0434\u043d\u0443 \u0430\u0441\u0438\u043d\u0445\u0440\u043e\u043d\u043d\u0443\u044e \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u044e \u0432 \u043f\u0435\u0440\u0432\u0443\u044e (\u0432\u043d\u0443\u0442\u0440\u044c \u043f\u0435\u0440\u0432\u043e\u0439), \u0437\u0430\u0442\u0435\u043c \u0435\u0449\u0435 \u043e\u0434\u043d\u0443 \u0438 \u0442.\u0434. \u0412 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0435 \u043c\u044b \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u043c \u0431\u0435\u0441\u043f\u043e\u0440\u044f\u0434\u043e\u0447\u043d\u044b\u0439 \u0438 \u043d\u0435\u0447\u0438\u0442\u0430\u0435\u043c\u044b\u0439 \u043a\u043e\u0434:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td>123456789<\/td><td>fs.readFile(&#8216;somefile.txt&#8217;, function(e,data){&nbsp;&nbsp;&nbsp;&nbsp;\/\/ \u043a\u043e\u0434&nbsp;&nbsp;&nbsp;&nbsp;fs.readFile(&#8216;directory&#8217;, function(e, files){&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\/\/ \u043a\u043e\u0434&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;fs.mkdir(&#8216;directory&#8217;, function(e){&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\/\/ \u043a\u043e\u0434&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;})&nbsp;&nbsp;&nbsp;&nbsp;})})<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>\u0410 \u0432\u043e\u0442 \u043a\u0430\u043a \u044d\u0442\u043e \u0432\u044b\u0433\u043b\u044f\u0434\u0438\u0442 \u0441 \u043f\u0440\u043e\u043c\u0438\u0441\u0430\u043c\u0438:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td>12345678910<\/td><td>promReadFile(&#8216;file\/path&#8217;).then(data =&amp;gt; {&nbsp;&nbsp;&nbsp;&nbsp;return promReaddir(&#8216;directory&#8217;)}).then(data =&amp;gt; {&nbsp;&nbsp;&nbsp;&nbsp;return promMkdir(&#8216;directory&#8217;)}).catch(e =&amp;gt; {&nbsp;&nbsp;&nbsp;&nbsp;console.error(e)})<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>\u0423 \u043f\u0440\u043e\u043c\u0438\u0441\u0430 \u0435\u0441\u0442\u044c \u0447\u0435\u0442\u044b\u0440\u0435 \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u044f:<\/p>\n\n\n\n<ul><li>\u041e\u0436\u0438\u0434\u0430\u043d\u0438\u0435 \u2014 \u043d\u0430\u0447\u0430\u043b\u044c\u043d\u043e\u0435 \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0435 \u043f\u0440\u043e\u043c\u0438\u0441\u0430. \u0420\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0430 \u043f\u0440\u043e\u043c\u0438\u0441\u0430 \u043d\u0435\u0438\u0437\u0432\u0435\u0441\u0442\u0435\u043d, \u043f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u044f \u043d\u0435 \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043d\u0430.<\/li><li>\u0412\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u043e \u2014 \u0430\u0441\u0438\u043d\u0445\u0440\u043e\u043d\u043d\u0430\u044f \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u044f \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0430, \u0438\u043c\u0435\u0435\u0442\u0441\u044f \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442.<\/li><li>\u041e\u0442\u043a\u043b\u043e\u043d\u0435\u043d\u043e \u2014 \u0430\u0441\u0438\u043d\u0445\u0440\u043e\u043d\u043d\u0430\u044f \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u044f \u043d\u0435 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0430, \u0438\u043c\u0435\u0435\u0442\u0441\u044f \u043f\u0440\u0438\u0447\u0438\u043d\u0430.<\/li><li>\u0417\u0430\u0432\u0435\u0440\u0448\u0435\u043d\u043e \u2014 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u043e \u0438\u043b\u0438 \u043e\u0442\u043a\u043b\u043e\u043d\u0435\u043d\u043e.<\/li><\/ul>\n\n\n\n<p>\u0412 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432 \u043a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0442\u043e\u0440 \u043f\u0440\u043e\u043c\u0438\u0441\u0430 \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u0435\u0442 resolve \u0438 reject. \u0412 resolve \u0437\u0430\u043f\u0438\u0441\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438, \u0432 reject \u2014 \u043f\u0440\u0438\u0447\u0438\u043d\u0430 \u043d\u0435\u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438. \u0420\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0430\u043d \u0432 \u043c\u0435\u0442\u043e\u0434\u0435 .then, \u043e\u0448\u0438\u0431\u043a\u0430 \u2014 \u0432 \u043c\u0435\u0442\u043e\u0434\u0435 .catch. \u041c\u0435\u0442\u043e\u0434 .then \u0442\u0430\u043a\u0436\u0435 \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u043f\u0440\u043e\u043c\u0438\u0441, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u043c\u044b \u043c\u043e\u0436\u0435\u043c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0446\u0435\u043f\u043e\u0447\u043a\u0443, \u0441\u043e\u0441\u0442\u043e\u044f\u0449\u0443\u044e \u0438\u0437 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u0438\u0445 .then.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td>12345678910111213141516171819<\/td><td>const myPromiseAsync = (&#8230;args) =&amp;gt; {&nbsp;&nbsp;&nbsp;&nbsp;return new Promise((resolve, reject) =&amp;gt; {&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;doSomeAsync(&#8230;args, (error, data) =&amp;gt; {&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(error){&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;reject(error)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} else{&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;resolve(data)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;})&nbsp;&nbsp;&nbsp;&nbsp;})}&nbsp;myPromiseAsync().then(result =&amp;gt; {&nbsp;&nbsp;&nbsp;&nbsp;console.log(result)}).catch(reason =&amp;gt; {&nbsp;&nbsp;&nbsp;&nbsp;console.error(reason)})<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>\u041c\u044b \u043c\u043e\u0436\u0435\u043c \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u0432\u0441\u043f\u043e\u043c\u043e\u0433\u0430\u0442\u0435\u043b\u044c\u043d\u0443\u044e \u0444\u0443\u043d\u043a\u0446\u0438\u044e \u0434\u043b\u044f \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u0430\u0441\u0438\u043d\u0445\u0440\u043e\u043d\u043d\u043e\u0439 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438 \u0441 callback \u0432 \u043f\u0440\u043e\u043c\u0438\u0441. \u041e\u043d\u0430 \u0431\u0443\u0434\u0435\u0442 \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u043d\u0430\u043f\u043e\u0434\u043e\u0431\u0438\u0435 util \u0438\u0437 Node.js (\u00ab\u043f\u0440\u043e\u043c\u0438\u0441\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u044f\u00bb):<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td>1234567891011121314151617<\/td><td>const toPromise = (asyncFuncWithCallback) =&amp;gt; {&nbsp;&nbsp;&nbsp;&nbsp;return (&#8230;args) =&amp;gt; {&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return new Promise((res, rej) =&amp;gt; {&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;asyncFuncWithCallback(&#8230;args, (e, result) =&amp;gt; {&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return e ? rej(e) : res(result)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;})&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;})&nbsp;&nbsp;&nbsp;&nbsp;}}&nbsp;const promiseReadFile = toPromise(fs.readFile)&nbsp;promiseReadFile(&#8216;file\/path&#8217;).then((data) =&amp;gt; {&nbsp;&nbsp;&nbsp;&nbsp;console.log(data)}).catch(e =&amp;gt; console.error(e))<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>\u041f\u043e\u0434\u0440\u043e\u0431\u043d\u0435\u0435 \u043e \u043f\u0440\u043e\u043c\u0438\u0441\u0430\u0445 \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u0447\u0438\u0442\u0430\u0442\u044c&nbsp;<a href=\"https:\/\/learn.javascript.ru\/promise-basics\" target=\"_blank\" rel=\"noreferrer noopener\">\u0437\u0434\u0435\u0441\u044c<\/a>&nbsp;\u0438&nbsp;<a href=\"https:\/\/developer.mozilla.org\/ru\/docs\/Web\/JavaScript\/Reference\/Global_Objects\/Promise\" target=\"_blank\" rel=\"noreferrer noopener\">\u0437\u0434\u0435\u0441\u044c<\/a>.<\/p>\n\n\n\n<h4>51. \u0427\u0442\u043e \u0442\u0430\u043a\u043e\u0435 async\/await?<\/h4>\n\n\n\n<p>Async\/await \u2014 \u043e\u0442\u043d\u043e\u0441\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u043d\u043e\u0432\u044b\u0439 \u0441\u043f\u043e\u0441\u043e\u0431 \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u0438\u044f \u0430\u0441\u0438\u043d\u0445\u0440\u043e\u043d\u043d\u043e\u0433\u043e (\u043d\u0435\u0431\u043b\u043e\u043a\u0438\u0440\u0443\u044e\u0449\u0435\u0433\u043e) \u043a\u043e\u0434\u0430 \u0432 JS. \u0418\u043c \u043e\u0431\u043e\u0440\u0430\u0447\u0438\u0432\u0430\u044e\u0442 \u043f\u0440\u043e\u043c\u0438\u0441. \u041e\u043d \u0434\u0435\u043b\u0430\u0435\u0442 \u043a\u043e\u0434 \u0431\u043e\u043b\u0435\u0435 \u0447\u0438\u0442\u0430\u0435\u043c\u044b\u043c \u0438 \u0447\u0438\u0441\u0442\u044b\u043c, \u0447\u0435\u043c \u043f\u0440\u043e\u043c\u0438\u0441\u044b \u0438 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u043e\u0431\u0440\u0430\u0442\u043d\u043e\u0433\u043e \u0432\u044b\u0437\u043e\u0432\u0430. \u041e\u0434\u043d\u0430\u043a\u043e \u0434\u043b\u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f async\/await \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0445\u043e\u0440\u043e\u0448\u043e \u0437\u043d\u0430\u0442\u044c \u043f\u0440\u043e\u043c\u0438\u0441\u044b.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td>12345678910111213141516171819202122<\/td><td>\/\/ \u043f\u0440\u043e\u043c\u0438\u0441function callApi(){&nbsp;&nbsp;&nbsp;&nbsp;return fetch(&#8216;url\/to\/api\/endpoint&#8217;)&nbsp;&nbsp;&nbsp;&nbsp;.then(resp =&amp;gt; resp.json())&nbsp;&nbsp;&nbsp;&nbsp;.then(data =&amp;gt; {&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\/\/ \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u043c \u0441 \u0434\u0430\u043d\u043d\u044b\u043c\u0438&nbsp;&nbsp;&nbsp;&nbsp;}).catch(err =&amp;gt; {&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\/\/ \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u043c \u0441 \u043e\u0448\u0438\u0431\u043a\u043e\u0439&nbsp;&nbsp;&nbsp;&nbsp;})}&nbsp;\/\/ async\/await\/\/ \u0434\u043b\u044f \u043f\u0435\u0440\u0435\u0445\u0432\u0430\u0442\u0430 \u043e\u0448\u0438\u0431\u043e\u043a \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f try\/catchasync function callApi(){&nbsp;&nbsp;&nbsp;&nbsp;try{&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;const resp = await fetch(&#8216;url\/to\/api\/endpoint&#8217;)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;const data = await res.json()&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\/\/ \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u043c \u0441 \u0434\u0430\u043d\u043d\u044b\u043c\u0438&nbsp;&nbsp;&nbsp;&nbsp;} catch(e){&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\/\/ \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u043c \u0441 \u043e\u0448\u0438\u0431\u043a\u043e\u0439&nbsp;&nbsp;&nbsp;&nbsp;}}<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>\u0417\u0430\u043f\u043e\u043c\u043d\u0438\u0442\u0435: \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u043a\u043b\u044e\u0447\u0435\u0432\u043e\u0433\u043e \u0441\u043b\u043e\u0432\u0430 \u00abasync\u00bb \u043f\u0435\u0440\u0435\u0434 \u0444\u0443\u043d\u043a\u0446\u0438\u0435\u0439 \u0437\u0430\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u0435\u0435 \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0442\u044c \u043f\u0440\u043e\u043c\u0438\u0441:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td>123456<\/td><td>const giveMeOne = async () = 1&nbsp;giveMeOne().then((num) =&amp;gt; {&nbsp;&nbsp;&nbsp;&nbsp;console.log(num) \/\/ 1})<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>\u041a\u043b\u044e\u0447\u0435\u0432\u043e\u0435 \u0441\u043b\u043e\u0432\u043e \u00abawait\u00bb \u043c\u043e\u0436\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0442\u043e\u043b\u044c\u043a\u043e \u0432\u043d\u0443\u0442\u0440\u0438 \u0430\u0441\u0438\u043d\u0445\u0440\u043e\u043d\u043d\u043e\u0439 \u0444\u0443\u043d\u043a\u0446\u0438\u0438. \u0418\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u00abawait\u00bb \u0432\u043d\u0443\u0442\u0440\u0438 \u0434\u0440\u0443\u0433\u043e\u0439 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u043f\u0440\u0438\u0432\u0435\u0434\u0435\u0442 \u043a \u043e\u0448\u0438\u0431\u043a\u0435. Await \u043e\u0436\u0438\u0434\u0430\u0435\u0442 \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043d\u0438\u044f \u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u044f \u0441\u043f\u0440\u0430\u0432\u0430, \u0447\u0442\u043e\u0431\u044b \u0432\u0435\u0440\u043d\u0443\u0442\u044c \u0435\u0433\u043e \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u043f\u0435\u0440\u0435\u0434 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435\u043c \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0439 \u0441\u0442\u0440\u043e\u0447\u043a\u0438 \u043a\u043e\u0434\u0430.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td>1234567891011121314151617181920212223<\/td><td>const giveMeOne = async() =&amp;gt; 1&nbsp;function getOne(){&nbsp;&nbsp;&nbsp;&nbsp;try{&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;const num = await giveMeOne()&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;console.log(num)&nbsp;&nbsp;&nbsp;&nbsp;} catch(e){&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;console.log(e)&nbsp;&nbsp;&nbsp;&nbsp;}}\/\/ Uncaught SyntaxError: await is only valid in an async function&nbsp;async function getTwo(){&nbsp;&nbsp;&nbsp;&nbsp;try{&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;const num1 = await giveMeOne()&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;const nm2 = await giveMeOne()&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return num1 + num2&nbsp;&nbsp;&nbsp;&nbsp;} catch(e){&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;console.log(e)&nbsp;&nbsp;&nbsp;&nbsp;}}&nbsp;await getTwo() \/\/ 2<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>\u041f\u043e\u0434\u0440\u043e\u0431\u043d\u0435\u0435 \u043e\u0431 async\/await \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u0447\u0438\u0442\u0430\u0442\u044c&nbsp;<a href=\"https:\/\/developer.mozilla.org\/ru\/docs\/Web\/JavaScript\/Reference\/Statements\/async_function\" target=\"_blank\" rel=\"noreferrer noopener\">\u0437\u0434\u0435\u0441\u044c<\/a>&nbsp;\u0438&nbsp;<a href=\"https:\/\/learn.javascript.ru\/async-await\" target=\"_blank\" rel=\"noreferrer noopener\">\u0437\u0434\u0435\u0441\u044c<\/a>.<\/p>\n\n\n\n<h4>52. \u0412 \u0447\u0435\u043c \u0440\u0430\u0437\u043d\u0438\u0446\u0430 \u043c\u0435\u0436\u0434\u0443 spread-\u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440\u043e\u043c \u0438 rest-\u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440\u043e\u043c?<\/h4>\n\n\n\n<p>\u041e\u043f\u0435\u0440\u0430\u0442\u043e\u0440\u044b spread \u0438 rest \u0438\u043c\u0435\u044e\u0442 \u043e\u0434\u0438\u043d\u0430\u043a\u043e\u0432\u044b\u0439 \u0441\u0438\u043d\u0442\u0430\u043a\u0441\u0438\u0441 (\u00ab\u2026\u00bb). \u0420\u0430\u0437\u043d\u0438\u0446\u0430 \u0441\u043e\u0441\u0442\u043e\u0438\u0442 \u0432 \u0442\u043e\u043c, \u0447\u0442\u043e \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e spread \u043c\u044b \u043f\u0435\u0440\u0435\u0434\u0430\u0435\u043c \u0438\u043b\u0438 \u0440\u0430\u0441\u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u044f\u0435\u043c \u0434\u0430\u043d\u043d\u044b\u0435 \u043c\u0430\u0441\u0441\u0438\u0432\u0430 \u043d\u0430 \u0434\u0440\u0443\u0433\u0438\u0435 \u0434\u0430\u043d\u043d\u044b\u0435, \u0430 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e rest \u2014 \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u043c \u0432\u0441\u0435 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0438 \u043f\u043e\u043c\u0435\u0449\u0430\u0435\u043c \u0438\u0445 \u0432 \u043c\u0430\u0441\u0441\u0438\u0432 (\u0438\u043b\u0438 \u0438\u0437\u0432\u043b\u0435\u043a\u0430\u0435\u043c \u0447\u0430\u0441\u0442\u044c \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432).<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td>1234567<\/td><td>function add(a, b){&nbsp;&nbsp;&nbsp;&nbsp;return a + b}&nbsp;const nums = [5, 6]const sum = add(&#8230;nums)console.log(sum) \/\/ 11<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>\u0412 \u044d\u0442\u043e\u043c \u043f\u0440\u0438\u043c\u0435\u0440\u0435 \u043c\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c spread \u043f\u0440\u0438 \u0432\u044b\u0437\u043e\u0432\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 add \u0441 \u0434\u0430\u043d\u043d\u044b\u043c\u0438 \u043c\u0430\u0441\u0441\u0438\u0432\u0430 nums. \u0417\u043d\u0430\u0447\u0435\u043d\u0438\u0435\u043c \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439 \u00aba\u00bb \u0431\u0443\u0434\u0435\u0442 5, b = 6, sum = 11.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td>123456<\/td><td>function add(&#8230;rest){&nbsp;&nbsp;&nbsp;&nbsp;return rest.reduce((total, current) =&amp;gt; total + current)}&nbsp;console.log(add(1, 2)) \/\/ 3console.log(add(1, 2, 3, 4, 5)) \/\/ 15<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>\u0417\u0434\u0435\u0441\u044c \u043c\u044b \u0432\u044b\u0437\u044b\u0432\u0430\u0435\u043c \u0444\u0443\u043d\u043a\u0446\u0438\u044e add \u0441 \u043b\u044e\u0431\u044b\u043c \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e\u043c \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442\u043e\u0432. Add \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u0441\u0443\u043c\u043c\u0443 \u044d\u0442\u0438\u0445 \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442\u043e\u0432.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td>123<\/td><td>const [first, &#8230;others] = [1, 2, 3, 4, 5]console.log(first) \/\/ 1console.log(others) \/\/ [2, 3, 4, 5]<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>\u0412 \u044d\u0442\u043e\u043c \u043f\u0440\u0438\u043c\u0435\u0440\u0435 \u043c\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c rest \u0434\u043b\u044f \u043f\u043e\u043c\u0435\u0449\u0435\u043d\u0438\u044f \u043b\u044e\u0431\u043e\u0433\u043e \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u0430 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432, \u043a\u0440\u043e\u043c\u0435 \u043f\u0435\u0440\u0432\u043e\u0433\u043e, \u0432 \u043c\u0430\u0441\u0441\u0438\u0432 others.<\/p>\n\n\n\n<h4>53. \u0427\u0442\u043e \u0442\u0430\u043a\u043e\u0435 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e (Default Parameters)?<\/h4>\n\n\n\n<p>\u042d\u0442\u043e \u043e\u0442\u043d\u043e\u0441\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u043d\u043e\u0432\u044b\u0439 \u0441\u043f\u043e\u0441\u043e\u0431 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u044f \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445 \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td>12345678910111213<\/td><td>\/\/ ES5function add(a,b){&nbsp;&nbsp;&nbsp;&nbsp;a = a || 0&nbsp;&nbsp;&nbsp;&nbsp;b = b || 0&nbsp;&nbsp;&nbsp;&nbsp;return a + b}&nbsp;\/\/ ES6function add(a = 0, b = 0){&nbsp;&nbsp;&nbsp;&nbsp;return a + b}\/\/ \u0435\u0441\u043b\u0438 \u043c\u044b \u043d\u0435 \u043f\u0440\u0438\u0441\u0432\u043e\u0438\u043c \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u043c &#8220;a&#8221; \u0438 &#8220;b&#8221; \u043a\u0430\u043a\u0438\u0435-\u043d\u0438\u0431\u0443\u0434\u044c \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f, \u043e\u043d\u0438 \u0431\u0443\u0434\u0443\u0442 \u0440\u0430\u0432\u043d\u044f\u0442\u044c\u0441\u044f 0add(1) \/\/ 1<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>\u041c\u043e\u0436\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0434\u0435\u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0438\u0437\u0430\u0446\u0438\u044e:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td>12345678910111213<\/td><td>function getFirst([first, &#8230;rest] = [0, 1]){&nbsp;&nbsp;&nbsp;&nbsp;return first}&nbsp;getFirst() \/\/ 0getFirst([10,20,30]) \/\/ 10&nbsp;function getArr({ nums } = { nums: [1,2,3,4] }){&nbsp;&nbsp;&nbsp;&nbsp;return nums}&nbsp;getArr \/\/ [1,2,3,4]getArr({nums:[5,4,3,2,1]}) \/\/ [5,4,3,2,1]<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>\u041c\u044b \u0434\u0430\u0436\u0435 \u043c\u043e\u0436\u0435\u043c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b, \u043e\u0431\u044a\u044f\u0432\u043b\u0435\u043d\u043d\u044b\u0435 \u0432 \u0442\u043e\u043c \u0436\u0435 \u043c\u0435\u0441\u0442\u0435:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td>1234<\/td><td>function doSomethingWithValue(value = &#8216;Hello World&#8217;, callback = () =&amp;gt; { console.log(value) }){&nbsp;&nbsp;&nbsp;&nbsp;callback()}doSomethingWithValue() \/\/ Hello World<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h4>54. \u0427\u0442\u043e \u0442\u0430\u043a\u043e\u0435 \u043e\u0431\u044a\u0435\u043a\u0442\u043d\u0430\u044f \u043e\u0431\u0435\u0440\u0442\u043a\u0430 (Wrapper Objects)?<\/h4>\n\n\n\n<p>\u041f\u0440\u0438\u043c\u0438\u0442\u0438\u0432\u044b \u0441\u0442\u0440\u043e\u043a\u0430, \u0447\u0438\u0441\u043b\u043e \u0438 boolean \u0438\u043c\u0435\u044e\u0442 \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u0430 \u0438 \u043c\u0435\u0442\u043e\u0434\u044b, \u043d\u0435\u0441\u043c\u043e\u0442\u0440\u044f \u043d\u0430 \u0442\u043e, \u0447\u0442\u043e \u043e\u043d\u0438 \u043d\u0435 \u044f\u0432\u043b\u044f\u044e\u0442\u0441\u044f \u043e\u0431\u044a\u0435\u043a\u0442\u0430\u043c\u0438:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td>1234<\/td><td>let name = &#8216;marko&#8217;&nbsp;console.log(typeof name) \/\/ stringconsole.log(name.toUpperCase()) \/\/ MARKO<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>Name \u2014 \u044d\u0442\u043e \u0441\u0442\u0440\u043e\u043a\u0430 (\u043f\u0440\u0438\u043c\u0438\u0442\u0438\u0432\u043d\u044b\u0439 \u0442\u0438\u043f), \u0443 \u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e \u043d\u0435\u0442 \u0441\u0432\u043e\u0439\u0441\u0442\u0432 \u0438 \u043c\u0435\u0442\u043e\u0434\u043e\u0432, \u043d\u043e \u043a\u043e\u0433\u0434\u0430 \u043c\u044b \u0432\u044b\u0437\u044b\u0432\u0430\u0435\u043c \u043c\u0435\u0442\u043e\u0434 toUpperCase(), \u044d\u0442\u043e \u043f\u0440\u0438\u0432\u043e\u0434\u0438\u0442 \u043d\u0435 \u043a \u043e\u0448\u0438\u0431\u043a\u0435, \u0430 \u043a \u00abMARKO\u00bb.<\/p>\n\n\n\n<p>\u041f\u0440\u0438\u0447\u0438\u043d\u0430 \u0442\u0430\u043a\u043e\u0433\u043e \u043f\u043e\u0432\u0435\u0434\u0435\u043d\u0438\u044f \u0437\u0430\u043a\u043b\u044e\u0447\u0430\u0435\u0442\u0441\u044f \u0432 \u0442\u043e\u043c, \u0447\u0442\u043e name \u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u0443\u0435\u0442\u0441\u044f \u0432 \u043e\u0431\u044a\u0435\u043a\u0442. \u0423 \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u043f\u0440\u0438\u043c\u0438\u0442\u0438\u0432\u0430, \u043a\u0440\u043e\u043c\u0435 null \u0438 undefined, \u0435\u0441\u0442\u044c \u043e\u0431\u044a\u0435\u043a\u0442-\u043e\u0431\u0435\u0440\u0442\u043a\u0430. \u0422\u0430\u043a\u0438\u043c\u0438 \u043e\u0431\u044a\u0435\u043a\u0442\u0430\u043c\u0438 \u044f\u0432\u043b\u044f\u044e\u0442\u0441\u044f String, Number, Boolean, Symbol \u0438 BigInt. \u0412 \u043d\u0430\u0448\u0435\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u043a\u043e\u0434 \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u0435\u0442 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439 \u0432\u0438\u0434:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td>1<\/td><td>console.log(new String(name).toUpperCase()) \/\/ MARKO<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>\u0412\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0439 \u043e\u0431\u044a\u0435\u043a\u0442 \u043e\u0442\u0431\u0440\u0430\u0441\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u043f\u043e \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043d\u0438\u0438 \u0440\u0430\u0431\u043e\u0442\u044b \u0441\u043e \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u043e\u043c \u0438\u043b\u0438 \u043c\u0435\u0442\u043e\u0434\u043e\u043c.<\/p>\n\n\n\n<h4>55. \u0412 \u0447\u0435\u043c \u0440\u0430\u0437\u043d\u0438\u0446\u0430 \u043c\u0435\u0436\u0434\u0443 \u044f\u0432\u043d\u044b\u043c \u0438 \u043d\u0435\u044f\u0432\u043d\u044b\u043c \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u043d\u0438\u0435\u043c \u0438\u043b\u0438 \u043f\u0440\u0438\u0432\u0435\u0434\u0435\u043d\u0438\u0435\u043c \u043a \u0442\u0438\u043f\u0443 (Implicit and Explicit Coercion)?<\/h4>\n\n\n\n<p>\u041d\u0435\u044f\u0432\u043d\u043e\u0435 \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u2014 \u044d\u0442\u043e \u0441\u043f\u043e\u0441\u043e\u0431 \u043f\u0440\u0438\u0432\u0435\u0434\u0435\u043d\u0438\u044f \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u043a \u0434\u0440\u0443\u0433\u043e\u043c\u0443 \u0442\u0438\u043f\u0443 \u0431\u0435\u0437 \u043d\u0430\u0448\u0435\u0433\u043e \u0432\u0435\u0434\u043e\u043c\u0430 (\u0443\u0447\u0430\u0441\u0442\u0438\u044f).<\/p>\n\n\n\n<p>\u041f\u0440\u0435\u0434\u043f\u043e\u043b\u043e\u0436\u0438\u043c, \u0443 \u043d\u0430\u0441 \u0435\u0441\u0442\u044c \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0435:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td>123<\/td><td>console.log(1 + &#8216;6&#8217;)console.log(false + true)console.log(6 * &#8216;2&#8217;)<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>\u0420\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u043e\u043c \u043f\u0435\u0440\u0432\u043e\u0433\u043e console.log \u0431\u0443\u0434\u0435\u0442 16. \u0412 \u0434\u0440\u0443\u0433\u0438\u0445 \u044f\u0437\u044b\u043a\u0430\u0445 \u044d\u0442\u043e \u043f\u0440\u0438\u0432\u0435\u043b\u043e \u0431\u044b \u043a \u043e\u0448\u0438\u0431\u043a\u0435, \u043d\u043e \u0432 JS 1 \u043a\u043e\u043d\u0432\u0435\u0440\u0442\u0438\u0440\u0443\u0435\u0442\u0441\u044f \u0432 \u0441\u0442\u0440\u043e\u043a\u0443 \u0438 \u043a\u043e\u043d\u043a\u0430\u0442\u0435\u043d\u0438\u0440\u0443\u0435\u0442\u0441\u044f (\u043f\u0440\u0438\u0441\u043e\u0435\u0434\u0438\u043d\u044f\u0435\u0442\u0441\u044f) c 6. \u041c\u044b \u043d\u0438\u0447\u0435\u0433\u043e \u043d\u0435 \u0434\u0435\u043b\u0430\u043b\u0438, \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u043f\u0440\u043e\u0438\u0437\u043e\u0448\u043b\u043e \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438.<\/p>\n\n\n\n<p>\u0420\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u043e\u043c \u0432\u0442\u043e\u0440\u043e\u0433\u043e console.log \u0431\u0443\u0434\u0435\u0442 1. False \u0431\u044b\u043b\u043e \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u043d\u043e \u0432 0, true \u2014 \u0432 1. 0 + 1 = 1.<\/p>\n\n\n\n<p>\u0420\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u043e\u043c \u0442\u0440\u0435\u0442\u044c\u0435\u0433\u043e console.log \u0431\u0443\u0434\u0435\u0442 12. \u0421\u0442\u0440\u043e\u043a\u0430 2 \u0431\u044b\u043b\u0430 \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u043d\u0430 \u0432 \u0447\u0438\u0441\u043b\u043e \u043f\u0435\u0440\u0435\u0434 \u0443\u043c\u043d\u043e\u0436\u0435\u043d\u0438\u0435\u043c \u043d\u0430 6.<\/p>\n\n\n\n<p>\u042f\u0432\u043d\u043e\u0435 \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u043f\u0440\u0435\u0434\u043f\u043e\u043b\u0430\u0433\u0430\u0435\u0442 \u043d\u0430\u0448\u0435 \u0443\u0447\u0430\u0441\u0442\u0438\u0435 \u0432 \u043f\u0440\u0438\u0432\u0435\u0434\u0435\u043d\u0438\u0438 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u043a \u0434\u0440\u0443\u0433\u043e\u043c\u0443 \u0442\u0438\u043f\u0443:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td>1<\/td><td>console.log(1 + parseInt(&#8216;6&#8217;))<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>\u0412 \u044d\u0442\u043e\u043c \u043f\u0440\u0438\u043c\u0435\u0440\u0435 \u043c\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c parseInt \u0434\u043b\u044f \u043f\u0440\u0438\u0432\u0435\u0434\u0435\u043d\u0438\u044f \u0441\u0442\u0440\u043e\u043a\u0438 6 \u043a \u0447\u0438\u0441\u043b\u0443, \u0437\u0430\u0442\u0435\u043c \u0441\u043a\u043b\u0430\u0434\u044b\u0432\u0430\u0435\u043c \u0434\u0432\u0430 \u0447\u0438\u0441\u043b\u0430 \u0438 \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u043c 7.<\/p>\n\n\n\n<h4>56. \u0427\u0442\u043e \u0442\u0430\u043a\u043e\u0435 NaN? \u041a\u0430\u043a \u043f\u0440\u043e\u0432\u0435\u0440\u0438\u0442\u044c, \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043b\u0438 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 NaN?<\/h4>\n\n\n\n<p>NaN \u0438\u043b\u0438 Not A Number (\u043d\u0435 \u0447\u0438\u0441\u043b\u043e) \u2014 \u044d\u0442\u043e \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435, \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u043c\u043e\u0435 \u0432 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0435 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0447\u0438\u0441\u043b\u043e\u0432\u043e\u0439 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438 \u043d\u0430\u0434 \u043d\u0435\u0447\u0438\u0441\u043b\u043e\u0432\u044b\u043c \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435\u043c:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td>12345678910<\/td><td>let a&nbsp;console.log(parseInt(&#8216;abc&#8217;))console.log(parseInt(null))console.log(parseInt(undefined))console.log(parseInt(++a))console.log(parseInt({} * 10))console.log(parseInt(&#8216;abc&#8217; &#8211; 2))console.log(parseInt(0 \/ 0))console.log(parseInt(&#8217;10a&#8217; * 10))<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>\u0412 JS \u0435\u0441\u0442\u044c \u0432\u0441\u0442\u0440\u043e\u0435\u043d\u043d\u044b\u0439 \u043c\u0435\u0442\u043e\u0434 isNaN, \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0449\u0438\u0439 \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0442\u044c, \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043b\u0438 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 NaN, \u043d\u043e \u043e\u043d \u0432\u0435\u0434\u0435\u0442 \u0441\u0435\u0431\u044f \u0434\u043e\u0432\u043e\u043b\u044c\u043d\u043e \u0441\u0442\u0440\u0430\u043d\u043d\u043e:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td>12345<\/td><td>console.log(isNaN()) \/\/ trueconsole.log(isNaN(undefined)) \/\/ trueconsole.log(isNaN({})) \/\/ trueconsole.log(isNaN(String(&#8216;a&#8217;))) \/\/ trueconsole.log(isNaN(() =&amp;gt; { })) \/\/ true<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>\u0420\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u043e\u043c \u0432\u0441\u0435\u0445 console.log \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f true, \u043d\u0435\u0441\u043c\u043e\u0442\u0440\u044f \u043d\u0430 \u0442\u043e, \u0447\u0442\u043e \u043d\u0438 \u043e\u0434\u043d\u043e \u0438\u0437 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439 \u043d\u0435 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f NaN.<\/p>\n\n\n\n<p>ES6 \u0434\u043b\u044f \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0438, \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043b\u0438 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 NaN, \u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0443\u0435\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043c\u0435\u0442\u043e\u0434 Number.isNaN. \u041c\u044b \u0442\u0430\u043a\u0436\u0435 \u043c\u043e\u0436\u0435\u043c \u043d\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u0432\u0441\u043f\u043e\u043c\u043e\u0433\u0430\u0442\u0435\u043b\u044c\u043d\u0443\u044e \u0444\u0443\u043d\u043a\u0446\u0438\u044e \u0434\u043b\u044f \u0440\u0435\u0448\u0435\u043d\u0438\u044f \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u044b \u00ab\u043d\u0435\u0440\u0430\u0432\u0435\u043d\u0441\u0442\u0432\u0430 NaN \u0441\u0430\u043c\u043e\u043c\u0443 \u0441\u0435\u0431\u0435\u00bb:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td>123<\/td><td>function checkIsNan(value){&nbsp;&nbsp;&nbsp;&nbsp;return value !== value}<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h4>57. \u041a\u0430\u043a \u043f\u0440\u043e\u0432\u0435\u0440\u0438\u0442\u044c, \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043b\u0438 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u043c\u0430\u0441\u0441\u0438\u0432\u043e\u043c?<\/h4>\n\n\n\n<p>\u0414\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u0441\u043b\u0435\u0434\u0443\u0435\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043c\u0435\u0442\u043e\u0434 Array.isArray:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td>123456<\/td><td>console.log(Array.isArray(5)) \/\/ falseconsole.log(Array.isArray(&#8221;)) \/\/ falseconsole.log(Array.isArray()) \/\/ falseconsole.log(Array.isArray(null)) \/\/ falseconsole.log(Array.isArray( {length: 5 })) \/\/ falseconsole.log(Array.isArray([])) \/\/ true<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>\u0415\u0441\u043b\u0438 \u0441\u0440\u0435\u0434\u0430, \u0432 \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u0412\u044b \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442\u0435, \u043d\u0435 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442 \u0434\u0430\u043d\u043d\u044b\u0439 \u043c\u0435\u0442\u043e\u0434, \u043c\u043e\u0436\u0435\u0442\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0442\u0430\u043a\u043e\u0439 \u043f\u043e\u043b\u0438\u0444\u0438\u043b:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td>123<\/td><td>function isArray(value){&nbsp;&nbsp;&nbsp;&nbsp;return Object.prototype.toString.call(value) === &#8216;[object Array]&#8217;}<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h4>58. \u041a\u0430\u043a \u043f\u0440\u043e\u0432\u0435\u0440\u0438\u0442\u044c, \u0447\u0442\u043e \u0447\u0438\u0441\u043b\u043e \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0447\u0435\u0442\u043d\u044b\u043c, \u0431\u0435\u0437 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u0434\u0435\u043b\u0435\u043d\u0438\u044f \u043f\u043e \u043c\u043e\u0434\u0443\u043b\u044e \u0438\u043b\u0438 \u0434\u0435\u043b\u0435\u043d\u0438\u044f \u0441 \u043e\u0441\u0442\u0430\u0442\u043a\u043e\u043c (\u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440\u0430 \u00ab%\u00bb)?<\/h4>\n\n\n\n<p>\u0414\u043b\u044f \u0440\u0435\u0448\u0435\u043d\u0438\u044f \u0434\u0430\u043d\u043d\u043e\u0439 \u0437\u0430\u0434\u0430\u0447\u0438 \u043c\u043e\u0436\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440 \u00ab&amp;\u00bb (\u0431\u0438\u043d\u0430\u0440\u043d\u043e\u0435 \u0438). \u041e\u043f\u0435\u0440\u0430\u0442\u043e\u0440 \u00ab&amp;\u00bb \u0441\u0440\u0430\u0432\u043d\u0438\u0432\u0430\u0435\u0442 \u043e\u043f\u0435\u0440\u0430\u043d\u0434\u044b \u043a\u0430\u043a \u0431\u0438\u043d\u0430\u0440\u043d\u044b\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td>1234567<\/td><td>function isEven(num){&nbsp;&nbsp;&nbsp;&nbsp;if(num &amp;amp; 1){&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return false&nbsp;&nbsp;&nbsp;&nbsp;} else{&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return true&nbsp;&nbsp;&nbsp;&nbsp;}}<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>0 \u0432 \u0431\u0438\u043d\u0430\u0440\u043d\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u0435 \u0441\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u044f \u044d\u0442\u043e 000<br>1 \u2014 \u044d\u0442\u043e 001<br>2 \u2014 010<br>3 \u2014 011<br>4 \u2014 100<br>5 \u2014 101<br>6 \u2014 110<br>7 \u2014 111<br>\u0438 \u0442.\u0434.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img src=\"https:\/\/bookflow.ru\/wp-content\/uploads\/2020\/02\/y8zom220osynreetfh8fp-dkuog-min.png\" alt=\"70 \u0432\u043e\u043f\u0440\u043e\u0441\u043e\u0432 \u043f\u043e JavaScript \u0434\u043b\u044f \u043f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u043a\u0438 \u043a \u0441\u043e\u0431\u0435\u0441\u0435\u0434\u043e\u0432\u0430\u043d\u0438\u044e\" class=\"wp-image-17190\"\/><\/figure>\n\n\n\n<p>Console.log(5 &amp; 1) \u0432\u0435\u0440\u043d\u0435\u0442 1. \u0421\u043d\u0430\u0447\u0430\u043b\u0430 \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440 \u00ab&amp;\u00bb \u043a\u043e\u043d\u0432\u0435\u0440\u0442\u0438\u0440\u0443\u0435\u0442 \u043e\u0431\u0430 \u0447\u0438\u0441\u043b\u0430 \u0432 \u0431\u0438\u043d\u0430\u0440\u043d\u044b\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f, 5 \u043f\u0440\u0435\u0432\u0440\u0430\u0449\u0430\u0435\u0442\u0441\u044f \u0432 101, 1 \u2014 \u0432 001. \u0417\u0430\u0442\u0435\u043c \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0441\u044f \u043f\u043e\u0431\u0438\u0442\u043e\u0432\u043e\u0435 \u0441\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u0435:<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img src=\"https:\/\/bookflow.ru\/wp-content\/uploads\/2020\/02\/vy4kemefvzxgjlwdp3dmsh64ae8-min.png\" alt=\"70 \u0432\u043e\u043f\u0440\u043e\u0441\u043e\u0432 \u043f\u043e JavaScript \u0434\u043b\u044f \u043f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u043a\u0438 \u043a \u0441\u043e\u0431\u0435\u0441\u0435\u0434\u043e\u0432\u0430\u043d\u0438\u044e\" class=\"wp-image-17192\"\/><\/figure>\n\n\n\n<p>\u0421\u0440\u0430\u0432\u043d\u0438\u0432\u0430\u0435\u043c 1 \u0438 0, \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u043c 0.<br>\u0421\u0440\u0430\u0432\u043d\u0438\u0432\u0430\u0435\u043c 0 \u0438 0, \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u043c 0.<br>\u0421\u0440\u0430\u0432\u043d\u0438\u0432\u0430\u0435\u043c 1 \u0438 1, \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u043c 1.<br>\u041f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u0443\u0435\u043c \u0431\u0438\u043d\u0430\u0440\u043d\u043e\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0432 \u0446\u0435\u043b\u043e\u0435 \u0447\u0438\u0441\u043b\u043e, \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u043c 1.<\/p>\n\n\n\n<p>\u0415\u0441\u043b\u0438 \u044d\u0442\u0430 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044f \u043a\u0430\u0436\u0435\u0442\u0441\u044f \u0412\u0430\u043c \u0441\u043b\u0438\u0448\u043a\u043e\u043c \u0441\u043b\u043e\u0436\u043d\u043e\u0439, \u043c\u044b \u043c\u043e\u0436\u0435\u043c \u0440\u0435\u0448\u0438\u0442\u044c \u043f\u043e\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u043d\u0443\u044e \u0437\u0430\u0434\u0430\u0447\u0443 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0440\u0435\u043a\u0443\u0440\u0441\u0438\u0432\u043d\u043e\u0439 \u0444\u0443\u043d\u043a\u0446\u0438\u0438:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td>12345<\/td><td>function isEven(num){&nbsp;&nbsp;&nbsp;&nbsp;if(num &amp;lt; 0 || num === 1) return false&nbsp;&nbsp;&nbsp;&nbsp;if(num == 0) return true&nbsp;&nbsp;&nbsp;&nbsp;return isEven(num &#8211; 2)}<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h4>59. \u041a\u0430\u043a \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u0442\u044c \u043d\u0430\u043b\u0438\u0447\u0438\u0435 \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u0430 \u0432 \u043e\u0431\u044a\u0435\u043a\u0442\u0435?<\/h4>\n\n\n\n<p>\u0421\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u0435\u0442 \u0442\u0440\u0438 \u0441\u043f\u043e\u0441\u043e\u0431\u0430 \u044d\u0442\u043e \u0441\u0434\u0435\u043b\u0430\u0442\u044c.<br>\u041f\u0435\u0440\u0432\u044b\u0439 \u0441\u043f\u043e\u0441\u043e\u0431 \u0441\u043e\u0441\u0442\u043e\u0438\u0442 \u0432 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0438 \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440\u0430 \u00abin\u00bb:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td>1234567<\/td><td>const o = {&nbsp;&nbsp;&nbsp;&nbsp;&#8216;prop&#8217;: &#8216;bwahahah&#8217;,&nbsp;&nbsp;&nbsp;&nbsp;&#8216;prop2&#8217;: &#8216;hweasa&#8217;}&nbsp;console.log(&#8216;prop&#8217; in o) \/\/ trueconsole.log(&#8216;prop1&#8217; in o) \/\/ false<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>\u0412\u0442\u043e\u0440\u043e\u0439 \u2014 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043c\u0435\u0442\u043e\u0434 hasOwnProperty:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td>12<\/td><td>console.log(o.hasOwnProperty(&#8216;prop2&#8217;)) \/\/ trueconsole.log(o.hasOwnProperty(&#8216;prop1&#8217;)) \/\/ false<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>\u0422\u0440\u0435\u0442\u0438\u0439 \u2014 \u0438\u043d\u0434\u0435\u043a\u0441\u043d\u0430\u044f \u043d\u043e\u0442\u0430\u0446\u0438\u044f \u043c\u0430\u0441\u0441\u0438\u0432\u0430:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td>12<\/td><td>console.log(o[&#8216;prop&#8217;]) \/\/ bwahahahconsole.log(o[&#8216;prop1&#8217;]) \/\/ undefined<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h4>60. \u0427\u0442\u043e \u0442\u0430\u043a\u043e\u0435 AJAX?<\/h4>\n\n\n\n<p>AJAX \u0438\u043b\u0438 Asyncronous JavaScript and XML \u2014 \u044d\u0442\u043e \u043d\u0430\u0431\u043e\u0440 \u0432\u0437\u0430\u0438\u043c\u043e\u0441\u0432\u044f\u0437\u0430\u043d\u043d\u044b\u0445 \u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u0439, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0442 \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0441 \u0434\u0430\u043d\u043d\u044b\u043c\u0438 \u0432 \u0430\u0441\u0438\u043d\u0445\u0440\u043e\u043d\u043d\u043e\u043c \u0440\u0435\u0436\u0438\u043c\u0435. \u042d\u0442\u043e \u043e\u0437\u043d\u0430\u0447\u0430\u0435\u0442, \u0447\u0442\u043e \u043c\u044b \u043c\u043e\u0436\u0435\u043c \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u044f\u0442\u044c \u0434\u0430\u043d\u043d\u044b\u0435 \u043d\u0430 \u0441\u0435\u0440\u0432\u0435\u0440 \u0438 \u043f\u043e\u043b\u0443\u0447\u0430\u0442\u044c \u0434\u0430\u043d\u043d\u044b\u0435 \u0441 \u043d\u0435\u0433\u043e \u0431\u0435\u0437 \u043f\u0435\u0440\u0435\u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0438 \u0432\u0435\u0431-\u0441\u0442\u0440\u0430\u043d\u0438\u0446\u044b.<\/p>\n\n\n\n<p>AJAX \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0435 \u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u0438:<br>HTML \u2014 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430 \u0432\u0435\u0431-\u0441\u0442\u0440\u0430\u043d\u0438\u0446\u044b.<br>CSS \u2014 \u0441\u0442\u0438\u043b\u0438 \u0432\u0435\u0431-\u0441\u0442\u0440\u0430\u043d\u0438\u0446\u044b.<br>JavaScript \u2014 \u043f\u043e\u0432\u0435\u0434\u0435\u043d\u0438\u0435 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u044b \u0438 \u0440\u0430\u0431\u043e\u0442\u0430 \u0441 DOM.<br>XMLHttpRequest API \u2014 \u043e\u0442\u043f\u0440\u0430\u0432\u043a\u0430 \u0438 \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u0435 \u0434\u0430\u043d\u043d\u044b\u0445 \u0441 \u0441\u0435\u0440\u0432\u0435\u0440\u0430.<br>PHP, Python, Nodejs \u2014 \u043a\u0430\u043a\u043e\u0439-\u043d\u0438\u0431\u0443\u0434\u044c \u0441\u0435\u0440\u0432\u0435\u0440\u043d\u044b\u0439 \u044f\u0437\u044b\u043a.<\/p>\n\n\n\n<h4>61. \u041a\u0430\u043a \u0432 JS \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u043e\u0431\u044a\u0435\u043a\u0442?<\/h4>\n\n\n\n<p>\u041e\u0431\u044a\u0435\u043a\u0442\u043d\u044b\u0439 \u043b\u0438\u0442\u0435\u0440\u0430\u043b:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td>12345678<\/td><td>const o = {&nbsp;&nbsp;&nbsp;&nbsp;name: &#8216;Mark&#8217;,&nbsp;&nbsp;&nbsp;&nbsp;greeting(){&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return `Hi, I&#8217;m ${this.name}`&nbsp;&nbsp;&nbsp;&nbsp;}}&nbsp;o.greeting \/\/ Hi, I&#8217;m Mark<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>\u0424\u0443\u043d\u043a\u0446\u0438\u044f-\u043a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0442\u043e\u0440:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td>1234567891011<\/td><td>function Person(name){&nbsp;&nbsp;&nbsp;&nbsp;this.name = name}&nbsp;Person.prototype.greeting = function(){&nbsp;&nbsp;&nbsp;&nbsp;return `Hi, I&#8217;m ${this.name}`}&nbsp;const mark = new Person(&#8216;Mark&#8217;)&nbsp;mark.greeting() \/\/ Hi, I&#8217;m Mark<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>\u041c\u0435\u0442\u043e\u0434 Object.create:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td>1234567891011<\/td><td>const n = {&nbsp;&nbsp;&nbsp;&nbsp;greeting(){&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return `Hi, I&#8217;m ${this.name}`&nbsp;&nbsp;&nbsp;&nbsp;}}&nbsp;const o = Object.create(n)&nbsp;o.name = &#8216;Mark&#8217;&nbsp;console.log(o.greeting) \/\/ Hi, I&#8217;m Mark<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h4>62. \u0412 \u0447\u0435\u043c \u0440\u0430\u0437\u043d\u0438\u0446\u0430 \u043c\u0435\u0436\u0434\u0443 \u043c\u0435\u0442\u043e\u0434\u0430\u043c\u0438 Object.freeze \u0438 Object.seal?<\/h4>\n\n\n\n<p>\u0420\u0430\u0437\u043d\u0438\u0446\u0430 \u0437\u0430\u043a\u043b\u044e\u0447\u0430\u0435\u0442\u0441\u044f \u0432 \u0442\u043e\u043c, \u0447\u0442\u043e \u043f\u0440\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0438 \u043c\u0435\u0442\u043e\u0434\u0430 Object.freeze \u043c\u044b \u043d\u0435 \u043c\u043e\u0436\u0435\u043c \u043c\u0435\u043d\u044f\u0442\u044c \u0438\u043b\u0438 \u0440\u0435\u0434\u0430\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u0430 \u043e\u0431\u044a\u0435\u043a\u0442\u0430, \u0430 \u043f\u0440\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0438 Object.seal \u0443 \u043d\u0430\u0441 \u0442\u0430\u043a\u0430\u044f \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u0438\u043c\u0435\u0435\u0442\u0441\u044f.<\/p>\n\n\n\n<h4>63. \u0412 \u0447\u0435\u043c \u0440\u0430\u0437\u043d\u0438\u0446\u0430 \u043c\u0435\u0436\u0434\u0443 \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440\u043e\u043c \u00abin\u00bb \u0438 \u043c\u0435\u0442\u043e\u0434\u043e\u043c hasOwnProperty?<\/h4>\n\n\n\n<p>\u041e\u0442\u043b\u0438\u0447\u0438\u0435 \u0441\u043e\u0441\u0442\u043e\u0438\u0442 \u0432 \u0442\u043e\u043c, \u0447\u0442\u043e \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440 \u00abin\u00bb \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u0442 \u043d\u0430\u043b\u0438\u0447\u0438\u0435 \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u0430 \u043d\u0435 \u0442\u043e\u043b\u044c\u043a\u043e \u0432 \u0441\u0430\u043c\u043e\u043c \u043e\u0431\u044a\u0435\u043a\u0442\u0435, \u043d\u043e \u0438 \u0432 \u0435\u0433\u043e \u043f\u0440\u043e\u0442\u043e\u0442\u0438\u043f\u0430\u0445, \u0430 \u043c\u0435\u0442\u043e\u0434 hasOwnProperty \u2014 \u0442\u043e\u043b\u044c\u043a\u043e \u0432 \u043e\u0431\u044a\u0435\u043a\u0442\u0435.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td>12345<\/td><td>console.log(&#8216;prop&#8217; in o) \/\/ trueconsole.log(&#8216;toString&#8217; in o) \/\/ true&nbsp;console.log(o.hasOwnProperty(&#8216;prop&#8217;)) \/\/ trueconsole.log(o.hasOwnProperty(&#8216;toString&#8217;)) \/\/ false<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h4>64. \u041a\u0430\u043a\u0438\u0435 \u043f\u0440\u0438\u0435\u043c\u044b \u0440\u0430\u0431\u043e\u0442\u044b \u0441 \u0430\u0441\u0438\u043d\u0445\u0440\u043e\u043d\u043d\u044b\u043c \u043a\u043e\u0434\u043e\u043c \u0432 JS \u0412\u044b \u0437\u043d\u0430\u0435\u0442\u0435?<\/h4>\n\n\n\n<ul><li>\u0424\u0443\u043d\u043a\u0446\u0438\u0438 \u043e\u0431\u0440\u0430\u0442\u043d\u043e\u0433\u043e \u0432\u044b\u0437\u043e\u0432\u0430 (Callbacks).<\/li><li>\u041f\u0440\u043e\u043c\u0438\u0441\u044b (Promises).<\/li><li>Async\/await.<\/li><li>\u0411\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 \u0432\u0440\u043e\u0434\u0435 async.js, blueprint, q, co.<\/li><\/ul>\n\n\n\n<h4>65. \u0412 \u0447\u0435\u043c \u0440\u0430\u0437\u043d\u0438\u0446\u0430 \u043c\u0435\u0436\u0434\u0443 \u043e\u0431\u044b\u0447\u043d\u043e\u0439 \u0444\u0443\u043d\u043a\u0446\u0438\u0435\u0439 \u0438 \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u044b\u043c \u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u0435\u043c?<\/h4>\n\n\n\n<p>\u0414\u043e\u043f\u0443\u0441\u0442\u0438\u043c, \u0443 \u043d\u0430\u0441 \u0435\u0441\u0442\u044c \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0435:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td>12345678910<\/td><td>hoistedFunc()notHoistedFunc()&nbsp;function hoistedFunc(){&nbsp;&nbsp;&nbsp;&nbsp;console.log(&#8216;I am hoisted&#8217;)}&nbsp;var notHoistedFunc = function(){&nbsp;&nbsp;&nbsp;&nbsp;console.log(&#8216;I will not be hoisted!&#8217;)}<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>\u0412\u044b\u0437\u043e\u0432 notHoistedFunc \u043f\u0440\u0438\u0432\u0435\u0434\u0435\u0442 \u043a \u043e\u0448\u0438\u0431\u043a\u0435, \u0430 \u0432\u044b\u0437\u043e\u0432 hoistedFunc \u043d\u0435\u0442, \u043f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e hoistedFunc \u00ab\u0432\u0441\u043f\u043b\u044b\u0432\u0430\u0435\u0442\u00bb, \u043f\u043e\u0434\u043d\u0438\u043c\u0430\u0435\u0442\u0441\u044f \u0432 \u0433\u043b\u043e\u0431\u0430\u043b\u044c\u043d\u0443\u044e \u043e\u0431\u043b\u0430\u0441\u0442\u044c \u0432\u0438\u0434\u0438\u043c\u043e\u0441\u0442\u0438, \u0430 notHoistedFunc \u043d\u0435\u0442.<\/p>\n\n\n\n<h4>66. \u041a\u0430\u043a \u0432 JS \u0432\u044b\u0437\u0432\u0430\u0442\u044c \u0444\u0443\u043d\u043a\u0446\u0438\u044e?<\/h4>\n\n\n\n<p>\u0412 JS \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u0435\u0442 4 \u0441\u043f\u043e\u0441\u043e\u0431\u0430 \u0432\u044b\u0437\u0432\u0430\u0442\u044c \u0444\u0443\u043d\u043a\u0446\u0438\u044e. \u0412\u044b\u0437\u043e\u0432 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0435\u0442 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 this \u0438\u043b\u0438 \u00ab\u0432\u043b\u0430\u0434\u0435\u043b\u044c\u0446\u0430\u00bb \u0444\u0443\u043d\u043a\u0446\u0438\u0438.<\/p>\n\n\n\n<p>\u0412\u044b\u0437\u043e\u0432 \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438. \u0415\u0441\u043b\u0438 \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u0432\u044b\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u043a\u0430\u043a \u043c\u0435\u0442\u043e\u0434, \u043a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0442\u043e\u0440 \u0438\u043b\u0438 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u043c\u0435\u0442\u043e\u0434\u043e\u0432 apply \u0438\u043b\u0438 call, \u0437\u043d\u0430\u0447\u0438\u0442 \u043e\u043d\u0430 \u0432\u044b\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u043a\u0430\u043a \u0444\u0443\u043d\u043a\u0446\u0438\u044f. \u0412\u043b\u0430\u0434\u0435\u043b\u044c\u0446\u0435\u043c \u0442\u0430\u043a\u043e\u0439 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043e\u0431\u044a\u0435\u043a\u0442 window:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td>12345678910111213141516<\/td><td>function add(a,b){&nbsp;&nbsp;&nbsp;&nbsp;console.log(this)&nbsp;&nbsp;&nbsp;&nbsp;return a + b}&nbsp;add(1,5) \/\/ window, 6&nbsp;const o = {&nbsp;&nbsp;&nbsp;&nbsp;method(callback){&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;callback()&nbsp;&nbsp;&nbsp;&nbsp;}}&nbsp;o.method(function(){&nbsp;&nbsp;&nbsp;&nbsp;console.log(this) \/\/ window})<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>\u0412\u044b\u0437\u043e\u0432 \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u043c\u0435\u0442\u043e\u0434\u0430. \u041a\u043e\u0433\u0434\u0430 \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u043e\u043c \u043e\u0431\u044a\u0435\u043a\u0442\u0430, \u043c\u044b \u043d\u0430\u0437\u044b\u0432\u0430\u0435\u043c \u0435\u0435 \u043c\u0435\u0442\u043e\u0434\u043e\u043c. \u041a\u043e\u0433\u0434\u0430 \u0432\u044b\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u043c\u0435\u0442\u043e\u0434, \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435\u043c this \u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u0441\u044f \u043e\u0431\u044a\u0435\u043a\u0442 \u044d\u0442\u043e\u0433\u043e \u043c\u0435\u0442\u043e\u0434\u0430:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td>12345678<\/td><td>const details = {&nbsp;&nbsp;&nbsp;&nbsp;name: &#8216;Marko&#8217;,&nbsp;&nbsp;&nbsp;&nbsp;getName(){&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return this.name&nbsp;&nbsp;&nbsp;&nbsp;}}&nbsp;details.getName() \/\/ Marko, \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435\u043c this \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043e\u0431\u044a\u0435\u043a\u0442 details<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>\u0412\u044b\u0437\u043e\u0432 \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u043a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0442\u043e\u0440\u0430. \u041a\u043e\u0433\u0434\u0430 \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u0432\u044b\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u0441 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435\u043c \u043a\u043b\u044e\u0447\u0435\u0432\u043e\u0433\u043e \u0441\u043b\u043e\u0432\u0430 \u00abnew\u00bb, \u043c\u044b \u043d\u0430\u0437\u044b\u0432\u0430\u0435\u043c \u0442\u0430\u043a\u0443\u044e \u0444\u0443\u043d\u043a\u0446\u0438\u044e \u043a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0442\u043e\u0440\u043e\u043c. \u041f\u0440\u0438 \u044d\u0442\u043e\u043c \u0441\u043e\u0437\u0434\u0430\u0435\u0442\u0441\u044f \u043f\u0443\u0441\u0442\u043e\u0439 \u043e\u0431\u044a\u0435\u043a\u0442, \u044f\u0432\u043b\u044f\u044e\u0449\u0438\u0439\u0441\u044f \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435\u043c this:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td>12345678910<\/td><td>function Employee(name, position, yearHired){&nbsp;&nbsp;&nbsp;&nbsp;\/\/ \u0441\u043e\u0437\u0434\u0430\u0435\u0442\u0441\u044f \u043f\u0443\u0441\u0442\u043e\u0439 \u043e\u0431\u044a\u0435\u043a\u0442, \u044f\u0432\u043b\u044f\u044e\u0449\u0438\u0439\u0441\u044f \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435\u043c this&nbsp;&nbsp;&nbsp;&nbsp;\/\/ this = {}&nbsp;&nbsp;&nbsp;&nbsp;this.name = name&nbsp;&nbsp;&nbsp;&nbsp;this.position = position&nbsp;&nbsp;&nbsp;&nbsp;this.yearHired = yearHired&nbsp;&nbsp;&nbsp;&nbsp;\/\/ \u043d\u0430\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u043d\u0438\u0435 \u043e\u0442 Employee.prototype \u043d\u0435\u044f\u0432\u043d\u043e \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 this, \u0435\u0441\u043b\u0438 \u043d\u0435 \u0443\u043a\u0430\u0437\u0430\u043d\u043e \u0438\u043d\u043e\u0435}&nbsp;const emp = new Employee(&#8216;Marko Polo&#8217;, &#8216;Software Development&#8217;, 2017)<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>\u0412\u044b\u0437\u043e\u0432 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u043c\u0435\u0442\u043e\u0434\u043e\u0432 apply \u0438\u043b\u0438 call. \u041c\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c \u044d\u0442\u0438 \u043c\u0435\u0442\u043e\u0434\u044b, \u043a\u043e\u0433\u0434\u0430 \u0445\u043e\u0442\u0438\u043c \u044f\u0432\u043d\u043e \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u0442\u044c \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 this \u0438\u043b\u0438 \u0432\u043b\u0430\u0434\u0435\u043b\u044c\u0446\u0430 \u0444\u0443\u043d\u043a\u0446\u0438\u0438:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td>123456789101112131415161718<\/td><td>const obj1 = {&nbsp;&nbsp;&nbsp;&nbsp;result: 0}&nbsp;const obj2 = {&nbsp;&nbsp;&nbsp;&nbsp;result: 0}&nbsp;function reduceAdd(){&nbsp;&nbsp;&nbsp;&nbsp;let result = 0&nbsp;&nbsp;&nbsp;&nbsp;for(let i = 0, len = arguments.length; i &amp;lt; len; i++){&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;result += arguments[i]&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;&nbsp;this.result = result}&nbsp;reduceAdd.apply(obj1, [1,2,3,4,5]) \/\/ \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435\u043c this \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f obj1reduceAdd.call(obj2, 1,2,3,4,5) \/\/ \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435\u043c this \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f obj2<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h4>67. \u0427\u0442\u043e \u0442\u0430\u043a\u043e\u0435 \u0437\u0430\u043f\u043e\u043c\u0438\u043d\u0430\u043d\u0438\u0435 \u0438\u043b\u0438 \u043c\u0435\u043c\u043e\u0438\u0437\u0430\u0446\u0438\u044f (Memoization)?<\/h4>\n\n\n\n<p>\u041c\u0435\u043c\u043e\u0438\u0437\u0430\u0446\u0438\u044f \u2014 \u044d\u0442\u043e \u043f\u0440\u0438\u0435\u043c \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u0438, \u0441\u043f\u043e\u0441\u043e\u0431\u043d\u043e\u0439 \u0437\u0430\u043f\u043e\u043c\u0438\u043d\u0430\u0442\u044c \u0440\u0430\u043d\u0435\u0435 \u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u043d\u044b\u0435 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u044b \u0438\u043b\u0438 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f. \u041f\u0440\u0435\u0438\u043c\u0443\u0449\u0435\u0441\u0442\u0432\u043e \u043c\u0435\u043c\u043e\u0438\u0437\u0430\u0446\u0438\u0438 \u0437\u0430\u043a\u043b\u044e\u0447\u0430\u0435\u0442\u0441\u044f \u0432 \u0442\u043e\u043c, \u0447\u0442\u043e \u043c\u044b \u0438\u0437\u0431\u0435\u0433\u0430\u0435\u043c \u043f\u043e\u0432\u0442\u043e\u0440\u043d\u043e\u0433\u043e \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0441 \u043e\u0434\u0438\u043d\u0430\u043a\u043e\u0432\u044b\u043c\u0438 \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442\u0430\u043c\u0438. \u041d\u0435\u0434\u043e\u0441\u0442\u0430\u0442\u043a\u043e\u043c \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0442\u043e, \u0447\u0442\u043e \u043c\u044b \u0432\u044b\u043d\u0443\u0436\u0434\u0435\u043d\u044b \u0432\u044b\u0434\u0435\u043b\u044f\u0442\u044c \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u0443\u044e \u043f\u0430\u043c\u044f\u0442\u044c \u0434\u043b\u044f \u0441\u043e\u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u043e\u0432.<\/p>\n\n\n\n<h4>68. \u041a\u0430\u043a \u0431\u044b \u0412\u044b \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043b\u0438 \u0432\u0441\u043f\u043e\u043c\u043e\u0433\u0430\u0442\u0435\u043b\u044c\u043d\u0443\u044e \u0444\u0443\u043d\u043a\u0446\u0438\u044e \u0437\u0430\u043f\u043e\u043c\u0438\u043d\u0430\u043d\u0438\u044f?<\/h4>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td>123456789101112131415161718192021<\/td><td>function memoize(fn){&nbsp;&nbsp;&nbsp;&nbsp;const cache = {}&nbsp;&nbsp;&nbsp;&nbsp;return function(param){&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(cache[param]){&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;console.log(&#8216;cached&#8217;)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return cache[param]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} else{&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;let result = fn(param)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cache[param] = result&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;console.log(&#8216;not cached&#8217;)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return result&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;&nbsp;}}&nbsp;const toUpper = (str = &#8221;) =&amp;gt; str.toUpperCase()&nbsp;const toUpperMemoized = memoize(toUpper)&nbsp;toUpperMemoized(&#8216;abcdef&#8217;)toUpperMemoized(&#8216;abcdef&#8217;) \/\/ \u043d\u0435 \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u0442\u0441\u044f<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>\u041c\u044b \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043b\u0438 \u0444\u0443\u043d\u043a\u0446\u0438\u044e \u043c\u0435\u043c\u043e\u0438\u0437\u0430\u0446\u0438\u0438 \u0441 \u043e\u0434\u043d\u0438\u043c \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442\u043e\u043c. \u0421\u0434\u0435\u043b\u0430\u0435\u043c \u0435\u0435 \u00ab\u043c\u0443\u043b\u044c\u0442\u0438\u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442\u043d\u043e\u0439\u00bb:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td>12345678910111213141516171819202122232425262728<\/td><td>const slice = Array.prototype.slicefunction memoize(fn){&nbsp;&nbsp;&nbsp;&nbsp;const cache = {}&nbsp;&nbsp;&nbsp;&nbsp;return (&#8230;args) =&amp;gt; {&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;const params = slice.call(args)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;console.log(params)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(cache[params]){&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;console.log(&#8216;cached&#8217;)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return cache[params]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} else{&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;let result = fn(&#8230;args)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cache[params] = result&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;console.log(&#8216;not cached&#8217;)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return result&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;&nbsp;}}const makeFullName = (fName, lName) =&amp;gt; `${fName} ${lName}`const reduceAdd = (numbers, startValue = 0) =&amp;gt; numbers.reduce((total, cur) =&amp;gt; total + cur, startValue)&nbsp;const memoizedFullName = memoize(makeFullName)const memoizeReduceAdd = memoize(reduceAdd)&nbsp;memoizedFullName(&#8216;Marko&#8217;, &#8216;Polo&#8217;)memoizedFullName(&#8216;Marko&#8217;, &#8216;Polo&#8217;) \/\/ \u043d\u0435 \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u0442\u0441\u044f&nbsp;memoizeReduceAdd([1,2,3,4],5)memoizeReduceAdd([1,2,3,4],5) \/\/ \u043d\u0435 \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u0442\u0441\u044f<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h4>69. \u041f\u043e\u0447\u0435\u043c\u0443 typeof null \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 object? \u041a\u0430\u043a \u043f\u0440\u043e\u0432\u0435\u0440\u0438\u0442\u044c, \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043b\u0438 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 null?<\/h4>\n\n\n\n<p>typeof null == \u2018object\u2019 \u0432\u0441\u0435\u0433\u0434\u0430 \u0431\u0443\u0434\u0435\u0442 \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0442\u044c true \u043f\u043e \u0438\u0441\u0442\u043e\u0440\u0438\u0447\u0435\u0441\u043a\u0438\u043c \u043f\u0440\u0438\u0447\u0438\u043d\u0430\u043c. \u041f\u043e\u0441\u0442\u0443\u043f\u0430\u043b\u043e \u043f\u0440\u0435\u0434\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u0438\u0441\u043f\u0440\u0430\u0432\u0438\u0442\u044c \u044d\u0442\u0443 \u043e\u0448\u0438\u0431\u043a\u0443, \u0438\u0437\u043c\u0435\u043d\u0438\u0432 typeof null = \u2018object\u2019 \u043d\u0430 typeof null = \u2018null\u2019, \u043d\u043e \u043e\u043d\u043e \u0431\u044b\u043b\u043e \u043e\u0442\u043a\u043b\u043e\u043d\u0435\u043d\u043e \u0432 \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u0430\u0445 \u0441\u043e\u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u043e\u0431\u0440\u0430\u0442\u043d\u043e\u0439 \u0441\u043e\u0432\u043c\u0435\u0441\u0442\u0438\u043c\u043e\u0441\u0442\u0438 (\u0442\u0430\u043a\u043e\u0435 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0435 \u043f\u043e\u0432\u043b\u0435\u043a\u043b\u043e \u0431\u044b \u0437\u0430 \u0441\u043e\u0431\u043e\u0439 \u0431\u043e\u043b\u044c\u0448\u043e\u0435 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u043e\u0448\u0438\u0431\u043e\u043a).<\/p>\n\n\n\n<p>\u0414\u043b\u044f \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0438, \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043b\u0438 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 null \u043c\u043e\u0436\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440 \u0441\u0442\u0440\u043e\u0433\u043e\u0433\u043e \u0440\u0430\u0432\u0435\u043d\u0441\u0442\u0432\u0430 (===):<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td>123<\/td><td>function isNull(value){&nbsp;&nbsp;&nbsp;&nbsp;return value === null}<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h4>70. \u0414\u043b\u044f \u0447\u0435\u0433\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u043a\u043b\u044e\u0447\u0435\u0432\u043e\u0435 \u0441\u043b\u043e\u0432\u043e \u00abnew\u00bb?<\/h4>\n\n\n\n<p>\u041a\u043b\u044e\u0447\u0435\u0432\u043e\u0435 \u0441\u043b\u043e\u0432\u043e \u00abnew\u00bb \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0432 \u0444\u0443\u043d\u043a\u0446\u0438\u044f\u0445-\u043a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0442\u043e\u0440\u0430\u0445 \u0434\u043b\u044f \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u043d\u043e\u0432\u043e\u0433\u043e \u043e\u0431\u044a\u0435\u043a\u0442\u0430 (\u043d\u043e\u0432\u043e\u0433\u043e \u044d\u043a\u0437\u0435\u043c\u043f\u043b\u044f\u0440\u0430 \u043a\u043b\u0430\u0441\u0441\u0430).<\/p>\n\n\n\n<p>\u0414\u043e\u043f\u0443\u0441\u0442\u0438\u043c, \u0443 \u043d\u0430\u0441 \u0435\u0441\u0442\u044c \u0442\u0430\u043a\u043e\u0439 \u043a\u043e\u0434:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td>1234567<\/td><td>function Employee(name, position, yearHired){&nbsp;&nbsp;&nbsp;&nbsp;this.name = name&nbsp;&nbsp;&nbsp;&nbsp;this.position = position&nbsp;&nbsp;&nbsp;&nbsp;this.yearHired = yearHired}&nbsp;const emp = new Employee(&#8216;Marko Polo&#8217;, &#8216;Software Development&#8217;, 2017)<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>\u041a\u043b\u044e\u0447\u0435\u0432\u043e\u0435 \u0441\u043b\u043e\u0432\u043e \u00abnew\u00bb \u0434\u0435\u043b\u0430\u0435\u0442 4 \u0432\u0435\u0449\u0438:<\/p>\n\n\n\n<ol><li>\u0421\u043e\u0437\u0434\u0430\u0435\u0442 \u043f\u0443\u0441\u0442\u043e\u0439 \u043e\u0431\u044a\u0435\u043a\u0442.<\/li><li>\u041f\u0440\u0438\u0432\u044f\u0437\u044b\u0432\u0430\u0435\u0442 \u043a \u043d\u0435\u043c\u0443 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 this.<\/li><li>\u0424\u0443\u043d\u043a\u0446\u0438\u044f \u043d\u0430\u0441\u043b\u0435\u0434\u0443\u0435\u0442 \u043e\u0442 functionName.prototype.<\/li><li>\u0412\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 this, \u0435\u0441\u043b\u0438 \u043d\u0435 \u0443\u043a\u0430\u0437\u0430\u043d\u043e \u0438\u043d\u043e\u0435.<\/li><\/ol>\n","protected":false},"excerpt":{"rendered":"<p>\u0412\u043e\u043f\u0440\u043e\u0441\u044b: 1. \u0412 \u0447\u0435\u043c \u0440\u0430\u0437\u043d\u0438\u0446\u0430 \u043c\u0435\u0436\u0434\u0443 null \u0438 undefined?<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":true,"template":"","format":"standard","meta":[],"categories":[132],"tags":[95],"_links":{"self":[{"href":"https:\/\/lvboard.infostore.in.ua\/index.php?rest_route=\/wp\/v2\/posts\/1857"}],"collection":[{"href":"https:\/\/lvboard.infostore.in.ua\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/lvboard.infostore.in.ua\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/lvboard.infostore.in.ua\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/lvboard.infostore.in.ua\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1857"}],"version-history":[{"count":3,"href":"https:\/\/lvboard.infostore.in.ua\/index.php?rest_route=\/wp\/v2\/posts\/1857\/revisions"}],"predecessor-version":[{"id":1872,"href":"https:\/\/lvboard.infostore.in.ua\/index.php?rest_route=\/wp\/v2\/posts\/1857\/revisions\/1872"}],"wp:attachment":[{"href":"https:\/\/lvboard.infostore.in.ua\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1857"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/lvboard.infostore.in.ua\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1857"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/lvboard.infostore.in.ua\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1857"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}