ΠΡΠ»Π°Π΄ΠΊΠ° JavaScript Π² Qt CreatorβArcGIS AppStudio
ΠΡΠ²ΠΎΠ΄ Π² ΠΊΠΎΠ½ΡΠΎΠ»Ρ
ΠΡΠ΅Π΄ΠΏΠΎΡΡΠΈΡΠ΅Π»ΡΠ½ΡΠΌ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠΌ ΠΎΡΠ»Π°Π΄ΠΊΠΈ Π²Π°ΡΠΈΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ AppStudio ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ console.log Π²Π°ΡΠ΅Π³ΠΎ ΠΊΠΎΠ΄Π° QML, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΡΡΠΈ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡΡΡ Π² ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ Qt Creator ΠΈ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡ Π΄Π»Ρ Π²ΡΠ΅Ρ ΠΏΠ»Π°ΡΡΠΎΡΠΌ. ΠΠ»Ρ ΡΠ°Π±ΠΎΡΡ Π½Π΅ Π½ΡΠΆΠ½Π° ΠΈΠ½ΡΡΠ°Π»Π»ΡΡΠΈΡ Π½Π°Π±ΠΎΡΠ° Qt. ΠΠ΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌ ΡΠΎΠ»ΡΠΊΠΎ AppStudio.
ΠΠ»Ρ Π·Π°ΠΏΡΡΠΊΠ° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π² Qt Creator ΡΠ΅Π»ΠΊΠ½ΠΈΡΠ΅ ΠΠ°ΠΏΡΡΠΊ Π² ΠΌΠ΅Π½Ρ ΠΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ > ΠΠ½Π΅ΡΠ½ΠΈΠ΅ > AppStudio. ΠΡ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π½Π°ΠΆΠ°ΡΡ Alt+Shift+R Π½Π° ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡΠ΅ ΠΈΠ»ΠΈ Π½Π°ΠΆΠ°ΡΡ ΠΊΠ½ΠΎΠΏΠΊΡ ΠΠ°ΠΏΡΡΡΠΈΡΡ Π² Π»Π΅Π²ΠΎΠΌ Π½ΠΈΠΆΠ½Π΅ΠΌ ΡΠ³Π»Ρ ΠΎΠΊΠ½Π° Qt Creator.
Π Π΅ΠΆΠΈΠΌ ΠΎΡΠ»Π°Π΄ΠΊΠΈ Qt Creator
ΠΠ΅ΡΡΠΈΡ Qt Creator Π² ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡΠ΅ Ρ AppStudio Π²Π΅ΡΡΠΈΠΈ 4.0 ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ Π½Π΅ΠΌΠ΅Π΄Π»Π΅Π½Π½ΡΠΉ Π΄ΠΎΡΡΡΠΏ ΠΊ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°ΠΌ ΠΎΡΠ»Π°Π΄ΠΊΠΈ Qt Creator. Π§ΡΠΎΠ±Ρ ΠΎΡΠΊΡΡΡΡ Π²Π°ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π² ΡΠ΅ΠΆΠΈΠΌΠ΅ ΠΎΡΠ»Π°Π΄ΠΊΠΈ, Π»ΠΈΠ±ΠΎ Π½Π°ΠΆΠΌΠΈΡΠ΅ F5 Π² Qt Creator, Π»ΠΈΠ±ΠΎ Π½Π°ΠΆΠΌΠΈΡΠ΅ ΠΊΠ½ΠΎΠΏΠΊΡ ΠΠ°ΡΠ°ΡΡ ΠΎΡΠ»Π°Π΄ΠΊΡ Π·Π°ΠΏΡΡΠΊΠ° ΠΏΡΠΎΠ΅ΠΊΡΠ° Π² Π»Π΅Π²ΠΎΠΌ Π½ΠΈΠΆΠ½Π΅ΠΌ ΡΠ³Π»Ρ ΠΎΠΊΠ½Π° Qt Creator.
Π‘ΠΌ. ΡΠ°Π·Π΄Π΅Π» ΠΠ·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ Ρ ΠΎΡΠ»Π°Π΄ΡΠΈΠΊΠΎΠΌ Π² Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ ΠΏΠΎ Qt Π΄Π»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΎΠ± ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ² ΠΎΡΠ»Π°Π΄ΠΊΠΈ Π² Qt Creator.
Π₯ΠΎΡΡ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ Qt ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎΠ± ΠΎΡΠ»Π°Π΄ΠΊΠ΅ C ++, Π΄Π»Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΡΡΠΎΠ³ΠΎ ΡΠ·ΡΠΊΠ° ΡΡΠ΅Π±ΡΠ΅ΡΡΡ Π»ΠΈΡΠ΅Π½Π·ΠΈΡ Qt SDK, ΠΊΠΎΡΠΎΡΠ°Ρ Π½Π΅ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅ΡΡΡ Π² AppStudio.
Π’ΠΎΡΠΊΠΈ ΠΎΡΡΠ°Π½ΠΎΠ²Π°
Π’ΠΎΡΠΊΠΈ ΠΎΡΡΠ°Π½ΠΎΠ²Π° ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π² Qt Creator, ΡΡΠΎΠ±Ρ ΠΏΡΠ΅ΡΡΠ²Π°ΡΡ Π²Π°ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΠΊΠΎΠ³Π΄Π° ΠΎΠ½ΠΎ Π΄ΠΎΡΡΠΈΠ³Π°Π΅Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΡ ΡΡΡΠΎΠΊ ΠΊΠΎΠ΄Π°, ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°Ρ Π²Π°ΠΌ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅. ΠΠ°ΡΠ΅ΠΌ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΈ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠΈΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΏΠΎΡΡΡΠΎΡΠ½ΠΎ ΠΈΠ»ΠΈ Π½Π΅ΠΏΡΠ΅ΡΡΠ²Π½ΠΎ.
ΠΠΎΠΆΠ½ΠΎ Π²ΡΡΠ°Π²ΠΈΡΡ ΡΠΎΡΠΊΡ ΠΎΡΡΠ°Π½ΠΎΠ²Π° Π² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌΠΈ ΡΠΏΠΎΡΠΎΠ±Π°ΠΌΠΈ:
- ΠΠ°ΠΆΠΌΠΈΡΠ΅ F9 (F8 Π² macOS) Ρ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Π΅ΠΌ Π½Π° ΡΡΡΠΎΠΊΠ΅, Π³Π΄Π΅ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ Π²ΡΡΠ°Π²ΠΈΡΡ ΡΠΎΡΠΊΡ ΠΎΡΡΠ°Π½ΠΎΠ²Π°.
- Π©Π΅Π»ΠΊΠ½ΠΈΡΠ΅ ΡΠ»Π΅Π²Π° ΠΎΡ Π½ΠΎΠΌΠ΅ΡΠ° ΡΡΡΠΎΠΊΠΈ.
- ΠΠ²Π°ΠΆΠ΄Ρ ΡΠ΅Π»ΠΊΠ½ΠΈΡΠ΅ Π² ΠΏΡΡΡΠΎΠ΅ ΠΌΠ΅ΡΡΠΎ Π²ΠΈΠ΄Π° Π’ΠΎΡΠΊΠΈ ΠΎΡΡΠ°Π½ΠΎΠ²Π° ΠΈ ΠΈ ΡΠΊΠ°ΠΆΠΈΡΠ΅ Π½ΠΎΠΌΠ΅Ρ ΡΡΡΠΎΠΊΠΈ Π² ΠΏΠΎΡΠ²ΠΈΠ²ΡΠ΅ΠΌΡΡ ΠΎΠΊΠ½Π΅ ΠΠΎΠ±Π°Π²ΠΈΡΡ ΡΠΎΡΠΊΠΈ ΠΎΡΡΠ°Π½ΠΎΠ²Π°.
- ΠΡΠ±Π΅ΡΠΈΡΠ΅ Π² Π²ΠΈΠ΄Π΅ Π’ΠΎΡΠΊΠΈ ΠΎΡΡΠ°Π½ΠΎΠ²Π° ΠΠΎΠ±Π°Π²ΠΈΡΡ ΡΠΎΡΠΊΡ ΠΎΡΡΠ°Π½ΠΎΠ²Π° ΠΈ Π²Π²Π΅Π΄ΠΈΡΠ΅ Π½ΠΎΠΌΠ΅Ρ ΡΡΡΠΎΠΊΠΈ Π² ΠΏΠΎΡΠ²ΠΈΠ²ΡΠ΅ΠΌΡΡ ΠΎΠΊΠ½Π΅ ΠΠΎΠ±Π°Π²ΠΈΡΡ ΡΠΎΡΠΊΠΈ ΠΎΡΡΠ°Π½ΠΎΠ²Π°.
ΠΠ°ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΡΠ΅ΠΏΠ΅ΡΡ ΠΎΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ Π² ΡΠΎΡΠΊΠ΅, Π³Π΄Π΅ Π²Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ ΡΠΎΡΠΊΡ ΠΎΡΡΠ°Π½ΠΎΠ²Π°, Π² ΠΎΡΠ»Π°Π΄ΡΠΈΠΊΠ΅ Qt Creator, ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡΡΠΈΠΌ ΠΎΠΏΡΠΈΠΈ Π΄Π»Ρ Π²ΠΎΠ·ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ ΡΠ°Π±ΠΎΡΡ Π² ΠΎΠ±ΡΡΠ½ΠΎΠΌ ΡΠ΅ΠΆΠΈΠΌΠ΅, ΠΎΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΈΠ»ΠΈ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄Π° ΠΊ Π΄ΡΡΠ³ΠΎΠΉ ΡΡΡΠΎΠΊΠ΅ ΠΊΠΎΠ΄Π°.
Π§ΡΠΎΠ±Ρ ΠΎΡΠΊΡΡΡΡ ΠΎΠΊΠ½ΠΎ Π Π΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠΎΡΠΊΠΈ ΠΎΡΡΠ°Π½ΠΎΠ²Π°, Π΄Π²Π°ΠΆΠ΄Ρ ΡΠ΅Π»ΠΊΠ½ΠΈΡΠ΅ ΡΠΎΡΠΊΡ ΠΎΡΡΠ°Π½ΠΎΠ²Π° Π² Π²ΠΈΠ΄Π΅ Π’ΠΎΡΠΊΠΈ ΠΎΡΡΠ°Π½ΠΎΠ²Π° Π»ΠΈΠ±ΠΎ ΡΠ΅Π»ΠΊΠ½ΠΈΡΠ΅ ΠΏΡΠ°Π²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ ΡΠΎΡΠΊΡ ΠΎΡΡΠ°Π½ΠΎΠ²Π° Π² Π²ΠΈΠ΄Π΅ ΠΊΠΎΠ΄Π° ΠΈ ΡΠ΅Π»ΠΊΠ½ΠΈΡΠ΅ Π Π΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠΎΡΠΊΡ ΠΎΡΡΠ°Π½ΠΎΠ²Π°. Π ΡΡΠΎΠΌ ΠΎΠΊΠ½Π΅ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ ΡΠΈΠΏΡ ΡΠΎΡΠ΅ΠΊ ΠΎΡΡΠ°Π½ΠΎΠ²Π°, Π° ΡΠ°ΠΊΠΆΠ΅ ΡΡΠ»ΠΎΠ²ΠΈΡ Π΄ΠΎ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΎΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ Π½Π° ΡΠΎΡΠΊΠ΅ ΠΎΡΡΠ°Π½ΠΎΠ²Π°, ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠ°Π·, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΡΠΎΡΠΊΠ° ΠΎΡΡΠ°Π½ΠΎΠ²Π° Π±ΡΠ΄Π΅Ρ ΠΈΠ³Π½ΠΎΡΠΈΡΠΎΠ²Π°ΡΡΡΡ ΠΏΠ΅ΡΠ΅Π΄ ΠΎΡΡΠ°Π½ΠΎΠ²ΠΊΠΎΠΉ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π΄Π»Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΏΡΠΎΡ ΠΎΠ΄Π° ΠΏΡΠΈ Π΄ΠΎΡΡΠΈΠΆΠ΅Π½ΠΈΠΈ ΡΠΎΡΠΊΠΈ ΠΎΡΡΠ°Π½ΠΎΠ²Π°.
Π§ΡΠΎΠ±Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΡΠΈΡΡ ΡΠΎΡΠΊΡ ΠΎΡΡΠ°Π½ΠΎΠ²Π°, Π²ΡΠ±Π΅ΡΠΈΡΠ΅ Π΅Π΅ ΠΈ ΠΏΠ΅ΡΠ΅ΡΠ°ΡΠΈΡΠ΅ Π² Π½ΡΠΆΠ½ΠΎΠ΅ ΠΌΠ΅ΡΡΠΎ. Π§ΡΠΎΠ±Ρ ΡΠ΄Π°Π»ΠΈΡΡ ΡΠΎΡΠΊΡ ΠΎΡΡΠ°Π½ΠΎΠ²Π°, Π½Π°ΠΆΠΌΠΈΡΠ΅ Π΅ΡΠ΅ ΡΠ°Π· F9 (F8 Π² macOS), ΡΠ΅Π»ΠΊΠ½ΠΈΡΠ΅ Π·Π½Π°ΡΠΎΠΊ ΡΠΎΡΠΊΠΈ ΠΎΡΡΠ°Π½ΠΎΠ²Π° ΠΈΠ»ΠΈ ΡΠ΅Π»ΠΊΠ½ΠΈΡΠ΅ ΠΏΡΠ°Π²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ ΡΠΎΡΠΊΡ ΠΎΡΡΠ°Π½ΠΎΠ²Π° ΠΈ Π²ΡΠ±Π΅ΡΠΈΡΠ΅ Π£Π΄Π°Π»ΠΈΡΡ Π²ΡΠ±ΡΠ°Π½Π½ΡΠ΅ ΡΠΎΡΠΊΠΈ ΠΎΡΡΠ°Π½ΠΎΠ²Π° ΠΈΠ»ΠΈ Π£Π΄Π°Π»ΠΈΡΡ Π²ΡΠ΅ ΡΠΎΡΠΊΠΈ ΠΎΡΡΠ°Π½ΠΎΠ²Π°.
ΠΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎ ΠΎ ΡΠΎΡΠΊΠ°Ρ ΠΎΡΡΠ°Π½ΠΎΠ²Π° ΡΠΌ. Π² ΡΠ°Π·Π΄Π΅Π»Π΅ ΠΠ°Π΄Π°Π½ΠΈΠ΅ ΡΠΎΡΠ΅ΠΊ ΠΎΡΡΠ°Π½ΠΎΠ²Π° Π² Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ Qt.
ΠΡΠΎΡΠΈΠ»Ρ QML
ΠΠΎΠΌΠΈΠΌΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΠ³ΠΎ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΡ Π½Π΅ΠΏΡΠ΅Π΄Π²ΠΈΠ΄Π΅Π½Π½ΡΡ ΠΎΡΠΈΠ±ΠΎΠΊ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠ΅ΡΠ°ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π΄ΠΎΠ»ΠΆΠ½ΡΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, JavaScript ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈΠ²Π΅ΡΡΠΈ ΠΊ ΡΠ½ΠΈΠΆΠ΅Π½ΠΈΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ Π² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ QML. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠ»ΠΈΡΠΊΠΎΠΌ Π°ΠΊΡΠΈΠ²Π½Π°Ρ ΡΠ°Π±ΠΎΡΠ° JavaScript Π² Π½Π΅Π±ΠΎΠ»ΡΡΠΎΠΉ ΠΏΡΠΎΠΌΠ΅ΠΆΡΡΠΎΠΊ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΠΌΠΎΠΆΠ΅Ρ Π²ΡΠ·Π²Π°ΡΡ ΡΠΎΡΠΌΠΎΠΆΠ΅Π½ΠΈΠ΅. ΠΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ QML Profiler Π΄Π»Ρ ΠΏΠΎΠΈΡΠΊΠ° ΠΏΡΠΈΡΠΈΠ½Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌ Ρ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡΡ, ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Ρ, Π² ΡΠ°ΡΡΠ½ΠΎΡΡΠΈ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ JavaScript, ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠ°ΠΌΡΡΠΈ ΠΈ ΡΠΎΠ±ΡΡΠΈΡ Π²Π²ΠΎΠ΄Π°.
Π§ΡΠΎΠ±Ρ Π²ΠΊΠ»ΡΡΠΈΡΡ QML Profiler,ΡΠ½Π°ΡΠ°Π»Π° ΡΠ±Π΅Π΄ΠΈΡΠ΅ΡΡ, ΡΡΠΎ Π² Π²Π°ΡΠ΅ΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ Π½Π΅ Π·Π°ΠΏΡΡΠ΅Π½ Qt Creator. ΠΠ°ΡΠ΅ΠΌ, Ρ ΠΎΡΠΊΡΡΡΡΠΌ Π²ΠΈΠ΄ΠΎΠΌ ΠΡΠΎΠ΅ΠΊΡ, Π²ΡΠ±Π΅ΡΠΈΡΠ΅ ΠΠ½Π°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ > QML Profiler. ΠΡΠΊΡΠΎΠ΅ΡΡΡ Π²Π°ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Ρ ΠΎΡΠΊΡΡΡΡΠΌ ΡΠ°Π·Π΄Π΅Π»ΠΎΠΌ QML Profiler Π² Qt Creator. ΠΡΠΏΠΎΠ»Π½ΠΈΡΠ΅ Π½ΡΠΆΠ½ΡΠ΅ Π²Π°ΠΌ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ Π² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ ΠΈ ΡΠ΅Π»ΠΊΠ½ΠΈΡΠ΅ ΠΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π² ΡΠ°Π·Π΄Π΅Π»Π΅ QML Profiler. Π ΡΠ°Π·Π΄Π΅Π»Π΅ QML Profiler Π΅ΡΡΡ Π΄ΠΈΠ°Π³ΡΠ°ΠΌΠΌΠ° ΡΡΠ΅Π½Ρ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΡ Π²Π°ΡΠ΅Π³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. Π Π²Π°ΡΠ΅ΠΌ Π²ΠΈΠ΄Π΅ ΠΊΠΎΠ΄Π° ΡΠ°ΠΊΠΆΠ΅ Π±ΡΠ΄ΡΡ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡΡΡ ΠΏΡΠΎΡΠ΅Π½ΡΠ½ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π·Π° Π²ΡΠ΅ΠΌΡ, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π²Π°ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΏΠΎΡΡΠ°ΡΠΈΠ»ΠΎ Π½Π° Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΡΠ°ΡΡΠΈ ΡΠ²ΠΎΠ΅Π³ΠΎ ΠΊΠΎΠ΄Π°.
ΠΠ»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΎ QML Profiler ΡΠΌ.ΠΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ QML Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ ΠΏΠΎ Qt.
ΠΡΠ·ΡΠ² ΠΏΠΎ ΡΡΠΎΠΌΡ ΡΠ°Π·Π΄Π΅Π»Ρ?
ΠΡΠ»Π°Π΄ΠΊΠ° ΠΈ ΡΡΡΡΠ°Π½Π΅Π½ΠΈΠ΅ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½ΡΠ½Π½ΡΡ ΠΎΡΠΈΠ±ΠΎΠΊ Π² JavaScript
ΠΡΠ΅ΠΌΠ΅Π½Π°ΠΌΠΈ ΡΠ°Π±ΠΎΡΠ° Π½Π°Π΄ ΠΊΠΎΠ΄ΠΎΠΌ JavaScript Π·Π°ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΡΠ²ΡΡΠ²ΠΎΠ²Π°ΡΡ ΡΠ΅Π±Ρ Π²ΡΠ΄ΠΎΡ ΡΠΈΠΌΡΡ ΠΈ ΠΈΠ·ΠΌΠΎΠΆΠ΄ΡΠ½Π½ΡΠΌ, ΠΏΠΎΡΡΠΎΠΌΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΠ΄ΡΠΊΠ°Π·ΠΊΠΈ ΠΏΠΎ ΠΎΡΠ»Π°Π΄ΠΊΠ΅ Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ Π±ΡΠ΄ΡΡ Π»ΠΈΡΠ½ΠΈΠΌΠΈ. ΠΠ° ΠΏΡΠΈΠΌΠ΅ΡΠ°Ρ ΠΈΠ· ΠΏΠ΅ΡΠ΅Π½ ΠΌΡ ΠΏΠΎΡΡΠ°ΡΠ°Π΅ΠΌΡΡ ΡΠ°Π·ΠΎΠ±ΡΠ°ΡΡ ΡΠΈΠΏΠΈΡΠ½ΡΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ Π² ΠΊΠΎΠ΄Π΅ Π½Π° JS ΠΈ ΡΠΏΠΎΡΠΎΠ±Ρ, ΠΊΠΎΡΠΎΡΡΠΌΠΈ ΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡΠΈ ΠΈ ΡΡΡΡΠ°Π½ΠΈΡΡ.
Π‘Π²ΠΎΠΉΡΡΠ²ΠΎ Π½Π΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΎ
let girl = { name: "Lucky", location: "Hollywood", profession: "star", thingsMissingInHerLife: true, lovely: true, cry: function() { return "cry, cry, cries in her lonely heart" } } console.log(girl.named.lucky)
ΠΡΠΎΡ ΠΊΠΎΠ΄ Π²ΡΠ΄Π°ΡΡ ΠΎΡΠΈΠ±ΠΊΡ Β«Uncaught TypeError: Cannot read property βluckyβ of undefinedΒ». ΠΠ΅Π»ΠΎ Π² ΡΠΎΠΌ, ΡΡΠΎ ΠΎΠ±ΡΠ΅ΠΊΡ girl
Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ ΡΠ²ΠΎΠΉΡΡΠ²Π° named
, Ρ
ΠΎΡΡ Ρ Π½Π΅Π³ΠΎ Π΅ΡΡΡ ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ name
. ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ girl.named
Π½Π΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΎ, ΠΌΡ Π½Π΅ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΊ Π½Π΅ΠΌΡ Π΄ΠΎΡΡΡΠΏ, ΡΠΎ Π΅ΡΡΡ ΠΎΠ½ΠΎ ΠΏΡΠΎΡΡΠΎ Π½Π΅ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ. ΠΡΠ»ΠΈ ΠΌΡ Π·Π°ΠΌΠ΅Π½ΠΈΠΌ girl.named.lucky
Π½Π° girl.name
, ΡΠΎ ΠΊΠΎΠ΄ Π²Π΅ΡΠ½ΡΡ Π½Π°ΠΌ Β«LuckyΒ».
Π‘Π²ΠΎΠΉΡΡΠ²ΠΎ β Π½Π΅ΠΊΠΎΡΠΎΡΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅, ΠΏΡΠΈΠ²ΡΠ·Π°Π½Π½ΠΎΠ΅ ΠΊ ΠΎΠ±ΡΠ΅ΠΊΡΡ JavaScript. ΠΠΎΡΠΈΡΠ°ΡΡ Π±ΠΎΠ»ΡΡΠ΅ ΠΎΠ± ΠΎΠ±ΡΠ΅ΠΊΡΠ°Ρ ΠΌΠΎΠΆΠ½ΠΎ Π·Π΄Π΅ΡΡ (ΡΡΠ°ΡΡΡ Π½Π° Π°Π½Π³Π»ΠΈΠΉΡΠΊΠΎΠΌ ΡΠ·ΡΠΊΠ΅).
ΠΡΠ»Π°Π΄ΠΊΠ° ΠΎΡΠΈΠ±ΠΎΠΊ TypeError
ΠΡΠΈΠ±ΠΊΠΈ ΡΠΈΠΏΠ° TypeError ΠΏΠΎΡΠ²Π»ΡΡΡΡΡ, ΠΊΠΎΠ³Π΄Π° Π²Ρ ΠΏΡΡΠ°Π΅ΡΠ΅ΡΡ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ Ρ Π΄Π°Π½Π½ΡΠΌΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π΅ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡ Π½ΡΠΆΠ½ΠΎΠΌΡ ΡΠΈΠΏΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΠ΅ .bold()
ΠΊ ΡΠΈΡΠ»Ρ, Π·Π°ΠΏΡΠ°ΡΠΈΠ²Π°Π΅ΡΠ΅ ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ undefined
ΠΈΠ»ΠΈ ΠΏΡΡΠ°Π΅ΡΠ΅ΡΡ Π²ΡΠ·Π²Π°ΡΡ ΠΊΠ°ΠΊ ΡΡΠ½ΠΊΡΠΈΡ ΡΡΠΎ-ΡΠΎ, Π½Π΅ ΡΠ²Π»ΡΡΡΠ΅Π΅ΡΡ ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π²Ρ ΡΠ²ΠΈΠ΄ΠΈΡΠ΅ ΡΠ°ΠΊΡΡ ΠΎΡΠΈΠ±ΠΊΡ, Π΅ΡΠ»ΠΈ Π²ΡΠ·ΠΎΠ²Π΅ΡΠ΅ girl()
, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΡΡΠΎ ΠΎΠ±ΡΠ΅ΠΊΡ, Π° Π½Π΅ ΡΡΠ½ΠΊΡΠΈΡ. Π ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅ΠΌ ΡΠ»ΡΡΠ°Π΅ Π²Ρ ΠΏΠΎΠ»ΡΡΠΈΡΠ΅ Β«Uncaught TypeError: yourVariable.bold is not a functionΒ» ΠΈ Β«girl is not a functionΒ».
ΠΠ»Ρ ΠΎΡΠ»Π°Π΄ΠΊΠΈ ΡΡΠΈΡ
ΠΎΡΠΈΠ±ΠΎΠΊ Π½Π°Π΄ΠΎ ΡΠ°Π·ΠΎΠ±ΡΠ°ΡΡΡΡ Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΌΠΈ. Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ girl
? Π ΡΡΠΎ ΡΠ°ΠΊΠΎΠ΅ girl.named
? ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠΎΠ½ΡΡΡ ΡΡΠΎ ΠΈΠ·ΡΡΠ°Ρ ΠΊΠΎΠ΄, Π²ΡΠ²ΠΎΠ΄Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ Ρ ΠΏΠΎΠΌΠΎΡΡΡ
console.log
, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ debugger
ΠΈΠ»ΠΈ ΠΏΡΠΎΡΡΠΎ Π½Π°ΠΏΠ΅ΡΠ°ΡΠ°Π² ΠΈΠΌΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π² ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ. Π£Π΄ΠΎΡΡΠΎΠ²Π΅ΡΡΡΠ΅ΡΡ, ΡΡΠΎ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΌΠ°Π½ΠΈΠΏΡΠ»ΠΈΡΠΎΠ²Π°ΡΡ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΠΌΡΡ Π² ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΡΠΈΠΏΠΎΠΌ Π΄Π°Π½Π½ΡΡ
. ΠΡΠ»ΠΈ ΡΠΈΠΏ Π΄Π°Π½Π½ΡΡ
Π½Π΅ ΠΏΠΎΠ΄Ρ
ΠΎΠ΄ΠΈΡ, ΠΌΠΎΠ΄ΠΈΡΠΈΡΠΈΡΡΠΉΡΠ΅ Π΅Π³ΠΎ Π½ΡΠΆΠ½ΡΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, Π΄ΠΎΠ±Π°Π²ΡΡΠ΅ ΡΡΠ»ΠΎΠ²ΠΈΠ΅ ΠΈΠ»ΠΈ Π±Π»ΠΎΠΊ try..catch
, ΡΡΠΎΠ±Ρ ΠΊΠΎΠ½ΡΡΠΎΠ»ΠΈΡΠΎΠ²Π°ΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ, ΠΈΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΡΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ Π½Π° Π΄ΡΡΠ³ΠΎΠΌ ΠΎΠ±ΡΠ΅ΠΊΡΠ΅.ΠΠ΅ΡΠ΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΡΡΠ΅ΠΊΠ°
ΠΡΠ»ΠΈ Π²Π΅ΡΠΈΡΡ Π°Π²ΡΠΎΡΠ°ΠΌ ΠΏΠ΅ΡΠ½ΠΈ Β«Baby One More TimeΒ», ΡΠ»ΠΎΠ²ΠΎ Β«hitΒ» Π² ΡΡΡΠΎΡΠΊΠ΅ Β«Hit me baby, one more timeΒ» ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ Β«ΠΏΠΎΠ·Π²ΠΎΠ½ΠΈΒ», ΡΠΎ Π΅ΡΡΡ ΠΡΠΈΡΠ½ΠΈ Ρ ΠΎΡΠ΅Ρ, ΡΡΠΎΠ±Ρ Π΅Ρ Π±ΡΠ²ΡΠΈΠΉ ΠΏΠΎΠ·Π²ΠΎΠ½ΠΈΠ» Π΅ΠΉ Π΅ΡΡ ΡΠ°Π·. ΠΡΠΎ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΠΏΡΠΈΠ²Π΅Π΄ΡΡ ΠΊ Π΅ΡΡ Π±ΠΎΠ»ΡΡΠ΅ΠΌΡ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Ρ Π·Π²ΠΎΠ½ΠΊΠΎΠ² Π² Π±ΡΠ΄ΡΡΠ΅ΠΌ. ΠΠΎ ΡΡΡΠΈ ΡΡΠΎ ΡΠ΅ΠΊΡΡΡΠΈΡ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΌΠΎΠΆΠ΅Ρ Π²ΡΠ·Π²Π°ΡΡ ΠΎΡΠΈΠ±ΠΊΡ Π² ΡΠ»ΡΡΠ°Π΅ ΠΏΠ΅ΡΠ΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΡΠ΅ΠΊΠ° Π²ΡΠ·ΠΎΠ²ΠΎΠ².
ΠΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ ΠΎΠ± ΠΎΡΠΈΠ±ΠΊΠ΅ Π·Π°Π²ΠΈΡΡΡ ΠΎΡ Π±ΡΠ°ΡΠ·Π΅ΡΠ°, Π½ΠΎ Π²ΡΠ³Π»ΡΠ΄ΡΡ ΠΎΠ½ΠΈ ΠΏΡΠΈΠΌΠ΅ΡΠ½ΠΎ ΡΠ°ΠΊ:
Error: Out of stack space (Edge)
InternalError: too much recursion (Firefox)
RangeError: Maximum call stack size exceeded (Chrome)
ΠΠ΅ΡΠ΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΡΡΠ΅ΠΊΠ° ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΎΠΈΠ·ΠΎΠΉΡΠΈ, Π΅ΡΠ»ΠΈ Π² ΡΠ΅ΠΊΡΡΡΠΈΠΈ Π½Π΅ ΠΏΡΠ΅Π΄ΡΡΠΌΠΎΡΡΠ΅Π½ Π±Π°Π·ΠΎΠ²ΡΠΉ ΡΠ»ΡΡΠ°ΠΉ ΠΈΠ»ΠΈ Π΅ΡΠ»ΠΈ ΠΊΠΎΠ΄ Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ ΠΎΠ±ΡΠ°ΡΠ°Π΅ΡΡΡ ΠΊ ΡΡΠΎΠΌΡ ΡΠ»ΡΡΠ°Ρ.
function oneMoreTime(stillBelieve=true, loneliness=0) {
if (!stillBelieve && loneliness < 0) return
loneliness++
return oneMoreTime(stillBelieve, loneliness)
}
Π ΠΏΠΎΠΊΠ°Π·Π°Π½Π½ΠΎΠΉ Π²ΡΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ stillBelieve
oneMoreTime
, ΡΠ²Π΅Π»ΠΈΡΠΈΠ²Π°Ρ ΠΎΠ΄ΠΈΠ½ΠΎΡΠ΅ΡΡΠ²ΠΎ, ΠΈ Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ Π·Π°Π²Π΅ΡΡΠΈΠΌ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ.ΠΡΠ»ΠΈ ΠΆΠ΅ ΠΡΠΈΡΠ½ΠΈ ΡΠ΅ΡΠΈΡ ΠΏΠΎΠ»ΠΎΠΆΠΈΡΡΡΡ Π½Π° ΡΠ²ΠΎΠΈΡ Π΄ΡΡΠ·Π΅ΠΉ, ΡΡΠΎ ΡΠΌΠ΅Π½ΡΡΠΈΡ Π΅Ρ ΠΎΠ΄ΠΈΠ½ΠΎΡΠ΅ΡΡΠ²ΠΎ, ΠΎΠ½Π° ΠΏΠ΅ΡΠ΅ΡΡΠ°Π½Π΅Ρ Π²Π΅ΡΠΈΡΡ, ΡΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π²Π΅ΡΠ½ΡΡΡ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΡ, ΠΈ Π½Π΅ Π±ΡΠ΄Π΅Ρ Π±ΠΎΠ»ΡΡΠ΅ ΠΆΠ΄Π°ΡΡ Π·Π²ΠΎΠ½ΠΊΠ° ΠΎΡ Π±ΡΠ²ΡΠ΅Π³ΠΎ ΠΏΠ°ΡΡΠ½ΡΡΠ°.
function oneMoreTime(stillBelieve=true, loneliness=0) {
if (!stillBelieve && loneliness < 0) return
loneliness--
stillBelieve = false
return oneMoreTime(stillBelieve, loneliness)
}
ΠΡΡΡ ΠΏΠΎΡ
ΠΎΠΆΠΈΠ΅ ΡΠ»ΡΡΠ°ΠΈ Ρ Π±Π΅ΡΠΊΠΎΠ½Π΅ΡΠ½ΡΠΌΠΈ ΡΠΈΠΊΠ»Π°ΠΌΠΈ, ΠΊΠΎΠ³Π΄Π° ΡΠΈΡΡΠ΅ΠΌΠ° Π½Π΅ Π²ΡΠ΄Π°ΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΎΠ± ΠΎΡΠΈΠ±ΠΊΠ΅, Π½ΠΎ Π²ΠΌΠ΅ΡΡΠΎ ΡΡΠΎΠ³ΠΎ ΡΡΡΠ°Π½ΠΈΡΠ°, Π½Π° ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΠΊΠΎΠ΄, Π·Π°Π²ΠΈΡΠ°Π΅Ρ. ΠΡΠΎ ΠΏΡΠΎΠΈΡΡ
ΠΎΠ΄ΠΈΡ Π² ΡΠ»ΡΡΠ°Π΅ ΡΠΈΠΊΠ»Π°
while
Π±Π΅Π· ΡΡΠ»ΠΎΠ²ΠΈΡ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ.let worldEnded = false
while (worldEnded !== true) {
console.log("Keep on dancin' till the world ends")
}
ΠΡΠΏΡΠ°Π²ΠΈΡΡ ΡΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΈΠΌΠ΅ΡΠ½ΠΎ ΡΠ°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ ΠΈ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠΈΠΉ ΠΏΡΠΈΠΌΠ΅Ρ.
let worldEnded = false
while (worldEnded !== true) {
console.log("Keep on dancin' till the world ends")
worldEnded = true
}
ΠΡΠ»Π°Π΄ΠΊΠ° Π±Π΅ΡΠΊΠΎΠ½Π΅ΡΠ½ΡΡ ΡΠΈΠΊΠ»ΠΎΠ² ΠΈ ΡΠ΅ΠΊΡΡΡΠΈΠΉ
ΠΠ»Ρ Π½Π°ΡΠ°Π»Π°, Π΅ΡΠ»ΠΈ Π²ΠΎΠ·Π½ΠΈΠΊΠ»Π° ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° Ρ Π±Π΅ΡΠΊΠΎΠ½Π΅ΡΠ½ΡΠΌ ΡΠΈΠΊΠ»ΠΎΠΌ, Π·Π°ΠΊΡΠΎΠΉΡΠ΅ Π²ΠΊΠ»Π°Π΄ΠΊΡ, Π΅ΡΠ»ΠΈ Π²Ρ ΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ΡΡ Chrome ΠΈΠ»ΠΈ Edge, ΠΈΠ»ΠΈ ΠΎΠΊΠ½ΠΎ Π±ΡΠ°ΡΠ·Π΅ΡΠ°, Π΅ΡΠ»ΠΈ Ρ Π²Π°Ρ Firefox. ΠΠ°ΡΠ΅ΠΌ ΠΏΡΠΎΡΠΌΠΎΡΡΠΈΡΠ΅ ΠΊΠΎΠ΄: Π΅ΡΡΡ Π»ΠΈ ΡΠ°ΠΌ ΡΡΠΎ-ΡΠΎ, ΡΡΠΎ ΡΠΎΠ·Π΄Π°ΡΡ Π±Π΅ΡΠΊΠΎΠ½Π΅ΡΠ½ΡΠΉ ΡΠΈΠΊΠ» ΠΈΠ»ΠΈ ΡΠ΅ΠΊΡΡΡΠΈΡ. ΠΡΠ»ΠΈ Π½ΠΈΡΠ΅Π³ΠΎ Π½Π΅ ΠΎΠ±Π½Π°ΡΡΠΆΠΈΠ»ΠΈ β Π΄ΠΎΠ±Π°Π²ΡΡΠ΅ Π² ΡΠΈΠΊΠ» ΠΈΠ»ΠΈ ΡΡΠ½ΠΊΡΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ
debugger
ΠΈ ΠΏΡΠΎΠ²Π΅ΡΡΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ
Π½Π° Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ
Π½Π°ΡΠ°Π»ΡΠ½ΡΡ
ΠΈΡΠ΅ΡΠ°ΡΠΈΡΡ
. ΠΡΠ»ΠΈ ΠΎΠ½ΠΈ Π½Π΅ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡ ΠΎΠΆΠΈΠ΄Π°Π΅ΠΌΡΠΌ, Π²Ρ ΡΡΠΎ ΠΎΠ±Π½Π°ΡΡΠΆΠΈΡΠ΅.Π ΠΏΡΠΈΠ²Π΅Π΄ΡΠ½Π½ΠΎΠΌ Π²ΡΡΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΡΡΠΎΠΈΠ»ΠΎ Π±Ρ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ debugger
ΡΠ°ΠΌΠΎΠΉ ΠΏΠ΅ΡΠ²ΠΎΠΉ ΡΡΡΠΎΠΊΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈΠ»ΠΈ ΡΠΈΠΊΠ»Π°. ΠΠ°ΡΠ΅ΠΌ Π½ΡΠΆΠ½ΠΎ ΠΎΡΠΊΡΡΡΡ ΠΎΡΠ»Π°Π΄ΠΎΡΠ½ΡΡ Π²ΠΊΠ»Π°Π΄ΠΊΡ Π² Chrome ΠΈ ΠΈΠ·ΡΡΠΈΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ Π² Scope
. Π‘ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠ½ΠΎΠΏΠΊΠΈ Β«nextΒ» ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΎΡΠ»Π΅Π΄ΠΈΡΡ, ΠΊΠ°ΠΊ ΠΎΠ½ΠΈ ΠΌΠ΅Π½ΡΡΡΡΡ Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΡΠ΅ΡΠ°ΡΠΈΠ΅ΠΉ. ΠΠ±ΡΡΠ½ΠΎ ΡΡΠΎ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ Π½Π°ΠΉΡΠΈ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ.
ΠΠ΄Π΅ΡΡ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡΠΈ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎ Π½Π° Π°Π½Π³Π»ΠΈΠΉΡΠΊΠΎΠΌ ΡΠ·ΡΠΊΠ΅ ΠΏΠΎ ΠΎΡΠ»Π°Π΄ΠΊΠ΅ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Chromeβs DevTools, Π° Π·Π΄Π΅ΡΡ β Π΄Π»Ρ Firefox.
ΠΡΠΈΠ±ΠΊΠ° ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ°
SyntaxError
β Π²Π΅ΡΠΎΡΡΠ½ΠΎ ΡΠ°ΠΌΠ°Ρ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½ΡΠ½Π½Π°Ρ ΡΠ°Π·Π½ΠΎΠ²ΠΈΠ΄Π½ΠΎΡΡΡ ΠΎΡΠΈΠ±ΠΎΠΊ Π² JavaScript. ΠΡΠΈ ΠΎΡΠΈΠ±ΠΊΠΈ Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡΡ, Π΅ΡΠ»ΠΈ Π²Ρ Π½Π΅ ΡΠΎΠ±Π»ΡΠ΄Π°Π΅ΡΠ΅ ΠΏΡΠ°Π²ΠΈΠ»Π° ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ° ΡΠ·ΡΠΊΠ°. ΠΠΎΠΏΠΈΡΡΡ ΠΏΠΎΡΡΠ» ΠΏΠ΅ΡΠ½ΠΈ ΠΡΠΈΡΠ½ΠΈ Β«EverytimeΒ», JavaScript Π³ΠΎΠ²ΠΎΡΠΈΡ ΠΎΡΡΡΡΡΡΠ²ΡΡΡΠΈΠΌ ΡΠΊΠΎΠ±ΠΊΠ°ΠΌ ΠΈ ΠΊΠ°Π²ΡΡΠΊΠ°ΠΌ: Β«ΠΡ Π½ΡΠΆΠ½Ρ ΠΌΠ½Π΅, ΠΊΡΠΎΡΠΊΠΈΒ».
Π‘ΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠ΅ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ ΡΠ΅ΠΊΡΡΠΎΠ²ΠΎΠ³ΠΎ ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ° ΠΏΠΎΠΌΠΎΠ³ΡΡ ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ ΠΎΡΠΈΠ±ΠΎΠΊ. Bracket Pair Colorizer ΡΠ°Π·ΠΌΠ΅ΡΠ°Π΅Ρ ΡΠΊΠΎΠ±ΠΊΠΈ Π² ΠΊΠΎΠ΄Π΅ ΡΠ°Π·Π½ΡΠΌΠΈ ΡΠ²Π΅ΡΠ°ΠΌΠΈ, Π° Prettier ΠΈΠ»ΠΈ Π΄ΡΡΠ³ΠΎΠΉ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ Π°Π½Π°Π»ΠΈΠ·Π° ΠΊΠΎΠ΄Π° ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡΡΠΎ Π½Π°ΠΉΡΠΈ ΠΎΡΠΈΠ±ΠΊΠΈ. ΠΠΎΡΡΠ°ΡΠ°ΠΉΡΠ΅ΡΡ ΠΏΡΠΈΠ΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΡΡ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΠΉ ΡΠ°Π·ΠΌΠ΅ΡΠΊΠΈ ΠΈ Π΄Π΅Π»Π°ΠΉΡΠ΅ Π±Π»ΠΎΠΊΠΈ ΠΊΠΎΠ΄Π° ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ ΠΊΠΎΡΠΎΡΠ΅ ΠΈ Ρ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΠΎΠΉ Π²Π»ΠΎΠΆΠ΅Π½Π½ΠΎΡΡΡΡ. Π’Π°ΠΊΠΎΠΉ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ ΡΠΈΠ»ΡΠ½ΠΎ ΠΎΠ±Π»Π΅Π³ΡΠ°Π΅Ρ ΠΎΡΠ»Π°Π΄ΠΊΡ.
Π’Π΅ΠΏΠ΅ΡΡ, Π²ΠΎΠΎΡΡΠΆΠΈΠ²ΡΠΈΡΡ Π½ΠΎΠ²ΡΠΌΠΈ Π½Π°Π²ΡΠΊΠ°ΠΌΠΈ ΠΎΡΠ»Π°Π΄ΠΊΠΈ, Π²Ρ ΡΡΠ°Π½Π΅ΡΠ΅ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΡΠΈΠ»ΡΠ½Π΅Π΅ Π² JavaScript, ΡΠ΅ΠΌ Π±ΡΠ»ΠΈ Π²ΡΠ΅ΡΠ°.
ΠΠ΅ΡΠ΅Π²ΠΎΠ΄ ΡΡΠ°ΡΡΠΈ Oops, I did it again: A guide to debugging common JavaScript errors
ΠΡΠ»Π°Π΄ΠΊΠ° Node.js Ρ ΠΏΠΎΠΌΠΎΡΡΡ Google Chrome
ΠΡΠ»Π°Π΄ΠΊΠ° (debugging)βββΡΡΠΎ ΠΏΡΠΎΡΠ΅ΡΡ Π²ΡΡΠ²Π»Π΅Π½ΠΈΡ ΠΈ ΡΡΡΡΠ°Π½Π΅Π½ΠΈΡ ΠΎΡΠΈΠ±ΠΎΠΊ Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΡ , ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ Π½Π΅ΡΡΠΎ Π±ΠΎΠ»ΡΡΠ΅Π΅, ΡΠ΅ΠΌ ΠΏΡΠΎΡΡΠΎ ΠΏΡΠΎΡΡΠΎ Π²ΡΠ²ΠΎΠ΄ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ . ΠΠ°Π΄Π°ΡΠ° ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠΈ ΡΠΎΡΡΠΎΠΈΡ Π² ΡΠΎΠΌ, ΡΡΠΎΠ±Ρ ΠΏΠΎΠΊΠ°Π·Π°ΡΡ ΡΠΏΠΎΡΠΎΠ± ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΠΉ ΠΎΡΠ»Π°Π΄ΠΊΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π½Π° Node.js ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅ΠΉ Π²Π΅ΡΡΠΈΠΈ Google Chrome DevTools.
ΠΠΎΡΠ΅ΠΌΡ console.log Π½Π΅ ΡΠ°ΠΌΡΠΉ Π»ΡΡΡΠΈΠΉ Π²Π°ΡΠΈΠ°Π½Ρ?
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ console.log Π΄Π»Ρ ΠΎΡΠ»Π°Π΄ΠΊΠΈ ΠΊΠΎΠ΄Π° ΠΎΠ±ΡΡΠ½ΠΎ ΠΏΠΎΠ³ΡΡΠΆΠ°Π΅Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ° Π² Π±Π΅ΡΠΊΠΎΠ½Π΅ΡΠ½ΡΠΉ ΡΠΈΠΊΠ» Β«ΠΎΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅βββΠ΄ΠΎΠ±Π°Π²ΠΈΡΡ console.logβββΠΏΠ΅ΡΠ΅Π·Π°ΠΏΡΡΡΠΈΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅Β». Π’Π°ΠΊΠΎΠΉ ΡΠΏΠΎΡΠΎΠ± ΠΎΡΠ»Π°Π΄ΠΊΠΈ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ Π·Π°ΠΌΠ΅Π΄Π»ΡΠ΅Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, Π½ΠΎ ΡΠ°ΠΊΠΆΠ΅ Π·Π°Π³ΡΡΠ·Π½ΡΠ΅Ρ ΠΊΠΎΠ΄ Π·Π° ΡΡΠ΅Ρ Π½Π°Π³ΡΠΎΠΌΠΎΠΆΠ΄Π΅Π½ΠΈΡ Π»ΠΈΡΠ½ΠΈΡ ΡΠ°ΡΡΠ΅ΠΉ. ΠΠ°ΠΊΠΎΠ½Π΅Ρ, ΠΏΠΎΠΏΡΡΠΊΠ° Π²ΡΠ²Π΅ΡΡΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ Π½Π°ΡΡΠ΄Ρ Ρ Π»ΠΎΠ³ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π΄ΡΡΠ³ΠΈΡ ΠΏΠΎΡΠ΅Π½ΡΠΈΠ°Π»ΡΠ½ΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ ΠΌΠΎΠΆΠ΅Ρ Π·Π°ΡΡΡΠ΄Π½ΠΈΡΡ ΠΎΡΠ»Π°Π΄ΠΊΡ Π² ΡΠ΅Ρ ΡΠ»ΡΡΠ°ΡΡ , ΠΊΠΎΠ³Π΄Π° Π²Ρ Π·Π°Ρ ΠΎΡΠΈΡΠ΅ Π½Π°ΠΉΡΠΈ ΠΏΡΠΎΠ²Π΅ΡΡΠ΅ΠΌΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ.
ΠΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ ΠΎΡΠ»Π°Π΄ΠΊΠΈ
ΠΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ ΠΎΡΠ»Π°Π΄ΠΊΠΈ ΠΎΠ±Π»Π°Π΄Π°ΡΡ ΡΡΠ΄ΠΎΠΌ ΠΏΠΎΠ»Π΅Π·Π½ΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ, ΠΊΠΎΡΠΎΡΡΡ Π½Π΅Ρ Ρ console.log. Π ΡΠ°ΡΡΠ½ΠΎΡΡΠΈ, ΠΎΠ½ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ ΠΏΡΠΈΠΎΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π² ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΡ ΡΠΎΡΠΊΠ°Ρ ΠΊΠΎΠ΄Π°, Π° ΡΠ°ΠΊΠΆΠ΅ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΡΠ°Π±ΠΎΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ.
ΠΠ°ΡΡΡΠΎΠΉΠΊΠ° Google Chrome Π΄Π»Ρ ΠΎΡΠ»Π°Π΄ΠΊΠΈ Node.js
Π Π±ΡΠ°ΡΠ·Π΅ΡΠ΅ Chrome 57+ ΡΡΠ½ΠΊΡΠΈΡ ΠΎΡΠ»Π°Π΄ΠΊΠΈ Node.js Π²ΠΊΠ»ΡΡΠ΅Π½Π° ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ, ΠΏΠΎΡΡΠΎΠΌΡ Π½Π΅Ρ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ Π²ΡΡΡΠ½ΡΡ Π°ΠΊΡΠΈΠ²ΠΈΡΠΎΠ²Π°ΡΡ Π΅Π΅ Π² ΠΏΠ°Π½Π΅Π»ΠΈ Experimental Feature, ΠΊΠ°ΠΊ ΡΡΠΎ ΡΡΠ΅Π±ΠΎΠ²Π°Π»ΠΎΡΡ Π² ΡΡΠ°ΡΡΡ Π²Π΅ΡΡΠΈΡΡ .
ΠΠ±Π½ΠΎΠ²ΠΈΡΠ΅ Google Chrome Π΄ΠΎ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅ΠΉ Π²Π΅ΡΡΠΈΠΈ (Π΅ΡΠ»ΠΈ Π²Ρ ΡΡΠΎΠ³ΠΎ Π΅ΡΠ΅ Π½Π΅ ΡΠ΄Π΅Π»Π°Π»ΠΈ) ΠΈ ΡΠ±Π΅Π΄ΠΈΡΠ΅ΡΡ, ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ Node.js 6.4+.
Π§ΡΠΎΠ±Ρ Π½Π°ΡΠ°ΡΡ ΠΎΡΠ»Π°Π΄ΠΊΡ, Π·Π°ΠΏΡΡΡΠΈΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Node.js Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠ»Π°Π³Π°βββinspect.
$ node --inspect <your_file>.js
ΠΠ°ΠΏΡΡΠΊ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π½Π° Node.js Π² ΡΠ΅ΠΆΠΈΠΌΠ΅ ΠΎΡΠ»Π°Π΄ΠΊΠΈβββDebugging Mode.
ΠΠ°ΡΠ΅ΠΌ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΡΠΎΠΈΠ³Π½ΠΎΡΠΈΡΠΎΠ²Π°ΡΡ URL-Π°Π΄ΡΠ΅Ρ, Π½Π°ΡΠΈΠ½Π°ΡΡΠΈΠΉΡΡ Ρ Β«chrome-devtools: //Β», ΠΊΠΎΡΠΎΡΡΠΉ ΠΎΡΠΎΠ±ΡΠ°Π·ΠΈΡΡΡ Π² ΡΠ΅ΡΠΌΠΈΠ½Π°Π»Π΅, Π° Π²ΠΌΠ΅ΡΡΠΎ Π½Π΅Π³ΠΎ ΠΏΠ΅ΡΠ΅ΠΉΠ΄ΠΈΡΠ΅ ΠΏΠΎ Π°Π΄ΡΠ΅ΡΡ Β«about: inspectΒ» Π² Google Chrome.
Π€ΡΠ½ΠΊΡΠΈΡ βInspectβ Π² ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°βββChrome DevTools.
ΠΠ°ΠΊΠΎΠ½Π΅Ρ, Π½Π°ΠΆΠΌΠΈΡΠ΅ Β«Open dedicated DevTools for NodeΒ» (Β«ΠΡΠΊΡΡΡΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠΉ Π½Π°Π±ΠΎΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ² DevTools Π΄Π»Ρ ΠΎΡΠ»Π°Π΄ΠΊΠΈ NodeΒ»), ΡΡΠΎΠ±Ρ Π½Π°ΡΠ°ΡΡ ΠΎΡΠ»Π°Π΄ΠΊΡ ΠΊΠΎΠ΄Π° ΡΠ²ΠΎΠ΅Π³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ.
ΠΠ½ΡΡΡΡΠΌΠ΅Π½Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Π½Π° Node
ΠΡΠ»ΠΈ ΡΡΠΈΡ ΡΡΠ΅Π΄ΡΡΠ² Π²Π°ΠΌ ΠΌΠ°Π»ΠΎ, ΠΏΠΎΡΠΌΠΎΡΡΠΈΡΠ΅, ΠΎΡΠΈΡΠΈΠ°Π»ΡΠ½ΡΡ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ ΠΏΠΎ ΠΎΡΠ»Π°Π΄ΠΊΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π½Π° Node.js , Π² ΠΊΠΎΡΠΎΡΠΎΠΉ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡΡΡ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΡΠΉ ΡΠΏΠΈΡΠΎΠΊ Π²ΡΠ΅Ρ ΡΡΠ½ΠΊΡΠΈΠΉ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ² ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ° ΠΈ Π΅Π³ΠΎ Π±ΡΠ°ΡΠ·Π΅ΡΠ½ΡΡ Π°Π»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ².
Chrome DevTools Π² Π΄Π΅ΠΉΡΡΠ²ΠΈΠΈ
ΠΠΎ Π²ΡΠΎΡΠΎΠΉ ΡΠ°ΡΡΠΈ ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠΈ Ρ Ρ ΠΎΡΡ ΠΏΡΠΎΠ΄Π΅ΠΌΠΎΠ½ΡΡΡΠΈΡΠΎΠ²Π°ΡΡ Chrome DevTools Π² Π΄Π΅ΠΉΡΡΠ²ΠΈΠΈ Π½Π° ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΎΡΠ»Π°Π΄ΠΊΠΈ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π½Π° Express.
'use strict' const express = require('express') const app = express() const PORT = process.env.PORT || 3000 function capitalize (str) { const firstLetter = str.charAt(0) // we can check what's inside here return `${firstLetter.toUpperCase()}${str.slice(1)}` } app.get('/:name?', (req, res) => { const name = req.params.name ? capitalize(req.params.name) : 'World' res.send(`Hello ${name}!`) }) app.listen(PORT, () => console.log(`App listening on *:${PORT}`))
ΠΡΠΎ ΠΊΠΎΠ΄ ΠΏΡΠΎΡΡΠ΅ΠΉΡΠ΅Π³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π½Π° Express, ΠΎΡΠΈΠ³ΠΈΠ½Π°Π» ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ Π½Π° github.
ΠΠ°Π²Π°ΠΉΡΠ΅ Π·Π°ΠΏΡΡΡΠΈΠΌ Π΅Π³ΠΎ Ρ ΡΠ»Π°Π³ΠΎΠΌβββinspect ΠΈ ΠΎΡΠΊΡΠΎΠ΅ΠΌ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠΉ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ Π±ΡΠ°ΡΠ·Π΅ΡΠ° Chrome ΠΎΡΠ»Π°Π΄ΠΊΠΈ Node ΠΏΠΎ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ, ΠΎΠΏΠΈΡΠ°Π½Π½ΠΎΠΉ Π²ΡΡΠ΅.
ΠΠ° ΡΡΠΎΠΌ ΡΡΠ°ΠΏΠ΅ Ρ Π²Π°Ρ Π±ΡΠ΄Π΅Ρ Π΄ΠΎΡΡΡΠΏ ΠΊΠΎ Π²ΡΠ΅ΠΌ ΡΡΠ½ΠΊΡΠΈΡΠΌ, Ρ ΠΊΠΎΡΠΎΡΡΠΌΠΈ Π²Ρ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΡΠΆΠ΅ Π·Π½Π°ΠΊΠΎΠΌΡ: ΠΊΠΎΠ½ΡΡΠΎΠ»ΡΠ½ΡΠ΅ ΡΠΎΡΠΊΠΈ (breakpoints), ΠΊΠ°ΡΡΠ° ΠΏΡΠΈΠ²ΡΠ·ΠΊΠΈ ΠΊ ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠΌΡ ΠΊΠΎΠ΄Ρ (source map), ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° ΡΠ½ΠΈΠΌΠΊΠ° ΠΊΡΡΠΈ (heap snapshot), ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅, Π³ΠΎΡΡΡΠ°Ρ Π·Π°ΠΌΠ΅Π½Π° ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ JavaScript (hot-swapping) ΠΈ ΡΠ°ΠΊ Π΄Π°Π»Π΅Π΅.
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Breakpoints Π΄Π»Ρ ΠΎΡΠ»Π°Π΄ΠΊΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π½Π° Express.
ΠΠ»Ρ ΠΈΠ»Π»ΡΡΡΡΠ°ΡΠΈΠΈ ΠΎΠ±ΡΠ°ΡΠΈΠΌΡΡ ΠΊ ΠΊΠ°ΡΡΠΈΠ½ΠΊΠ΅ Π½ΠΈΠΆΠ΅, Π½Π° ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΏΠΎΠΊΠ°Π·Π°Π½Ρ ΠΊΠΎΠ½ΡΡΠΎΠ»ΡΠ½ΡΠ΅ ΡΠΎΡΠΊΠΈ (breakpoints) Π΄Π»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ ΠΎΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΈ ΠΏΡΠΎΠΈΠ·Π²Π΅ΡΡΠΈ Β«Π³ΠΎΡΡΡΡΡ Π·Π°ΠΌΠ΅Π½ΡΒ» Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ .
ΠΠΎΠ΄ΠΌΠ΅Π½Π° JavaScript-Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ Π½Π° Π»Π΅ΡΡ (1). ΠΠΎΠ΄ΠΌΠ΅Π½Π° JavaScript-Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ Π½Π° Π»Π΅ΡΡ (2).
Π§Π΅ΠΌ Π΅ΡΠ΅ ΡΠ΄ΠΎΠ±Π΅Π½ Chrome Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ° Π΄Π»Ρ ΠΎΡΠ»Π°Π΄ΠΊΠΈ, ΡΠ°ΠΊ ΡΡΠΎ ΡΠ΅ΠΌ, ΡΡΠΎ ΠΎΠ½ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΡ ΠΎΡΠ»Π°Π΄ΠΊΡ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠΎΠΉ, Π½ΠΎ ΠΈ ΡΠ΅ΡΠ²Π΅ΡΠ½ΠΎΠΉ ΡΠ°ΡΡΠΈ JavaScript-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΠΈ Π²ΡΡ ΡΡΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈ ΡΠΎΠ³ΠΎ ΠΆΠ΅ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° ?.
ΠΠ΅ΡΠ΅Π²ΠΎΠ΄ ΡΡΠ°ΡΡΠΈ Jacopo Daeli: βDebugging Node.js with Google Chromeβ
Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°ΡΠΈΠΈ ΠΏΠΎ ΠΎΡΠ»Π°Π΄ΠΊΠ΅ | Flexberry PLATFORM Documentation
ΠΡΠ»Π°Π΄ΠΊΠ°
ΠΡΠ»Π°Π΄ΠΊΠ° JavaScript ΠΈ Ember.js Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Chrome Web Tools
ΠΡΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅ ΠΌΠ°ΡΡΠΈΠ²Π½ΡΡ SPA Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡΠ΄ΠΎΠ±Π½ΠΎ ΠΎΡΠ»Π°ΠΆΠΈΠ²Π°ΡΡ ΠΊΠΎΠ΄ JavaScript Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠΉ ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ Π±ΡΠ°ΡΠ·Π΅ΡΠ° Google Chrome (Chrome Web Tools).
ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π½Π° Ember.js ΡΠ°ΠΊΠΆΠ΅ ΡΠ΄ΠΎΠ±Π½ΠΎ ΠΎΡΠ»Π°ΠΆΠΈΠ²Π°ΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π°Π΄Π΄ΠΎΠ½Π° Ember Inspector
ΠΠ°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡΠ°ΡΡΠΎΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠ΅ Π²ΠΊΠ»Π°Π΄ΠΊΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°:
Elements
β HTML-ΠΊΠΎΠ΄ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅ΠΌΠΎΠΉ ΡΡΡΠ°Π½ΠΈΡΡ.Console
β JavaScript-ΠΊΠΎΠ½ΡΠΎΠ»Ρ. ΠΠΎΠ½ΡΠ΅ΠΊΡΡΠΎΠΌ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ΅ΠΊΡΡΠΈΠΉ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡ Π²ΡΠ΅Π³ΠΎ Π²Π΅Π±-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. Π’ΠΎ Π΅ΡΡΡ, Π΅ΡΠ»ΠΈ ΠΊΠΎΠ΄ ΠΎΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠΎΡΠΊΠΎΠΉ ΠΎΡΡΠ°Π½ΠΎΠ²Π°), ΡΠΎ ΡΠ΅ΠΊΡΡΠΈΠΌ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠΎΠΌ Π±ΡΠ΄Π΅Ρ ΡΠ²Π»ΡΡΡΡΡ ΠΌΠ΅ΡΡΠΎ, Π³Π΄Π΅ ΠΎΡΡΠ°Π½ΠΎΠ²ΠΈΠ»ΠΎΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ. ΠΡΠΎ ΠΎΡΠ΅Π½Ρ ΡΠ΄ΠΎΠ±Π½ΠΎ.Sources
β ΠΏΡΠΎΠ²ΠΎΠ΄Π½ΠΈΠΊ ΡΠ°ΠΉΠ»ΠΎΠ² Π²Π΅Π± ΡΡΡΠ°Π½ΠΈΡΡ. ΠΠ΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ Π² ΡΡΠΎΠΉ Π²ΠΊΠ»Π°Π΄ΠΊΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡΠ»Π°ΠΆΠΈΠ²Π°ΡΡ JavaScript-ΠΊΠΎΠ΄.Network
β ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΡΠ°Π±ΠΎΡΡ Ρ ΡΠ΅ΡΡΡ. Π‘ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠΎΠΉ Π²ΠΊΠ»Π°Π΄ΠΊΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄ΠΎΠ±Π½ΠΎ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°ΡΡ ΠΎΠ±ΠΌΠ΅Π½ Π΄Π°Π½Π½ΡΠΌΠΈ ΠΌΠ΅ΠΆΠ΄Ρ ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠΈΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ ΠΈ Π±Π΅ΠΊΠ΅Π½Π΄ΠΎΠΌ.Ember
β Π΅ΡΠ»ΠΈ Π²Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ Π°Π΄Π΄ΠΎΠ½ Ember Inspector, ΡΠΎ Π² ΡΡΠΎΠΉ Π²ΠΊΠ»Π°Π΄ΠΊΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π±ΠΎΠ»Π΅Π΅ Π΄Π΅ΡΠ°Π»ΡΠ½ΠΎ, Π½ΠΎ Π² ΡΠΎ ΠΆΠ΅ Π²ΡΠ΅ΠΌΡ ΠΏΡΠΎΡΡΠΎ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ βΠΏΠΎΠ΄ ΠΊΠ°ΠΏΠΎΡβ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠ°: ΠΏΡΠΎΡΠΌΠΎΡΡΠ΅ΡΡ Π²ΡΠ΅ Routes ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΡΠ΅Π½Π΄Π΅ΡΠ΅, ΡΠ΅ΠΏΠΎΡΠΊΠΈ Promises ΠΈ ΡΠ°ΠΊ Π΄Π°Π»Π΅Π΅.
ΠΡΠ»Π°Π΄ΠΊΠ° ΠΊΠΎΠ΄Π°
ΠΠ»Ρ ΠΎΡΠ»Π°Π΄ΠΊΠΈ JavaScript ΠΏΡΠΎΡΠ΅ Π²ΡΠ΅Π³ΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΡΠΎΡΠΊΠ°ΠΌΠΈ ΠΎΡΡΠ°Π½ΠΎΠ²Π° (breakpoints). Π’ΠΎΡΠΊΡ ΠΎΡΡΠ°Π½ΠΎΠ²Π° ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΡΠ°Π²ΠΈΡΡ Π½Π° ΡΡΡΠΎΡΠΊΡ ΠΊΠΎΠ΄Π° JavaScript, Π»ΠΈΠ±ΠΎ, ΠΏΡΠΈ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ, ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ JS ΠΏΡΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΠΎΠΌ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ DOM. ΠΡΠΎ Π΄Π΅Π»Π°Π΅ΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ Π²ΠΎ Π²ΠΊΠ»Π°Π΄ΠΊΠ΅ Elements
:
ΠΡΠΊΡΡΡΡ JS-ΡΠ°ΠΉΠ» ΡΠ΅ΡΠ΅Π· DevTools ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΆΠ°Π² Ctrl+P
ΠΈ Π²Π²Π΅Π΄Ρ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΈΡΠΊΠΎΠΌΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π°, Π»ΠΈΠ±ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΡΡΠ½ΡΡ Π½Π°ΠΉΡΠΈ Π΅Π³ΠΎ Π²ΠΎ Π²ΠΊΠ»Π°Π΄ΠΊΠ΅ Sources
. ΠΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΡΠΎΡΠΊΡ ΠΎΡΡΠ°Π½ΠΎΠ²Π° Π½Π°ΠΆΠ°ΡΠΈΠ΅ΠΌ Π½Π° Π½ΠΎΠΌΠ΅Ρ ΡΡΡΠΎΠΊΠΈ. ΠΡΠΈ Π½Π°ΠΆΠ°ΡΠΈΠΈ Π½Π° ΠΠΠ ΡΠΎΡΠΊΡ ΠΎΡΡΠ°Π½ΠΎΠ²Π° ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΡΡΡΠΎΠΈΡΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π·Π°Π΄Π°ΡΡ ΡΡΠ»ΠΎΠ²ΠΈΠ΅ ΠΎΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ.
ΠΡΠΏΠΎΠ»ΡΠ·ΡΡ ΠΏΡΠ°Π²ΡΠΉ ΡΠ°ΠΉΠ΄Π±Π°Ρ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ ΡΡΠ΅ΠΊ Π²ΡΠ·ΠΎΠ²ΠΎΠ² (Call Stack
) [3], Π½Π°ΡΡΡΠΎΠΈΡΡ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ Π΄Π»Ρ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π½ΠΈΡ (Watch
) [2]. Π ΡΠ°Π·Π΄Π΅Π»Π΅ Scope
ΠΏΠΎΠΊΠ°Π·Π°Π½Ρ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΡ, Π² ΡΠ°Π·Π΄Π΅Π»Π΅ Breakpoints
Π½Π°Ρ
ΠΎΠ΄ΠΈΡΡΡ ΡΠΏΠΈΡΠΎΠΊ ΡΠΎΡΠ΅ΠΊ ΠΎΡΡΠ°Π½ΠΎΠ²Π°, ΡΡΠ°Π±ΠΎΡΠ°Π²ΡΠ°Ρ Π²ΡΠ΄Π΅Π»Π΅Π½Π° ΡΠ²Π΅ΡΠΎΠΏ. Π Π²Π΅ΡΡ
Π½Π΅ΠΉ ΡΠ°ΡΡΠΈ ΡΠ°ΠΉΠ΄Π±Π°ΡΠ° Π½Π°Ρ
ΠΎΠ΄ΡΡΡΡ ΠΊΠ½ΠΎΠΏΠΊΠΈ ΠΏΠΎΡΠ°Π³ΠΎΠ²ΠΎΠ³ΠΎ ΠΈΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ [1], ΠΊΠ½ΠΎΠΏΠΊΠ° ΠΈΠ³Π½ΠΎΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠΎΡΠ΅ΠΊ ΠΎΡΡΠ°Π½ΠΎΠ²Π° ΠΈ ΠΊΠ½ΠΎΠΏΠΊΠ°, Π²ΠΊΠ»ΡΡΠ°ΡΡΠ°Ρ ΠΎΡΡΠ°Π½ΠΎΠ²ΠΊΡ ΠΈΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΏΡΠΈ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΠΈ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ [6].
ΠΠ½Π°ΡΠ΅Π½ΠΈΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ
ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΠΊΠΎΠ½ΡΠΎΠ»Ρ (Π²ΠΊΠ»Π°Π΄ΠΊΠ° Console
), ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΠ°Π·Π΄Π΅Π» Watch
ΠΏΡΠ°Π²ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ΄Π±Π°ΡΠ° ΠΈΠ»ΠΈ ΠΏΡΠΎΡΡΠΎ Π½Π°Π²ΠΎΠ΄Ρ ΠΌΡΡΡ Π½Π° ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ.
ΠΡΠΎΡΠΌΠΎΡΡ Π·Π°ΠΏΡΠΎΡΠΎΠ²
ΠΡΠΎΡΠΌΠΎΡΡΠ΅ΡΡ Π·Π°ΠΏΡΠΎΡΡ ΠΊ Π±Π΅ΠΊΠ΅Π½Π΄Ρ ΠΌΠΎΠΆΠ½ΠΎ Π½Π° Π²ΠΊΠ»Π°Π΄ΠΊΠ΅ Network
. ΠΠΎ Π²ΠΊΠ»Π°Π΄ΠΊΠ΅ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅ΡΡΡ ΡΠ°ΠΉΠΌΠ»Π°ΠΉΠ½ ΠΈΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π·Π°ΠΏΡΠΎΡΠΎΠ², ΠΈ ΠΈΡ
ΡΠΏΠΈΡΠΎΠΊ [1]. ΠΠΎΡΠ»Π΅ Π²ΡΠ±ΠΎΡΠ° Π·Π°ΠΏΡΠΎΡΠ° Π² ΡΠΏΠΈΡΠΊΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π΄Π΅ΡΠ°Π»ΡΠ½ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ Π·Π°ΠΏΡΠΎΡΠ΅ [2], Π° ΡΠ°ΠΊ ΠΆΠ΅ ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΡΠΉ ΠΎΡΠ²Π΅Ρ [3] ΠΈ ΠΏΠΎΠ»ΡΡΠ΅Π½ΡΠΉ JSON [4].
ΠΡΠ»Π°Π΄ΠΊΠ° C# Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Visual Studio
ΠΡΠ»Π°Π΄ΠΊΠ° C# ΠΊΠΎΠ΄Π° ΠΏΡΠΎΠ²ΠΎΠ΄ΠΈΡΡΡ Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ½ΠΎ ΠΎΡΠ»Π°Π΄ΠΊΠ΅ JS-ΠΊΠΎΠ΄Π°, ΠΎ Π½Π΅ΠΉ Π½Π°ΠΏΠΈΡΠ°Π½ΠΎ Π²ΡΡΠ΅. Π‘ΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠ΅ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ ΡΡΠ΅Π΄Ρ Visual Studio (Π½Π° ΠΌΠΎΠΌΠ΅Π½Ρ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½Π° VS2017) ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ ΠΊΠΎΠΌΡΠΎΡΡΠ½ΠΎ ΠΎΡΠ»Π°ΠΆΠΈΠ²Π°ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ. ΠΠΎΠΏΠ°ΡΡΡ Π² ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ΠΎΡΠ»Π°Π΄ΠΊΠΈ ΠΏΡΠΎΡΠ΅ Π²ΡΠ΅Π³ΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΡΠΎΡΠΊΠΈ ΠΎΡΡΠ°Π½ΠΎΠ²Π°.
Π ΠΌΠ΅Π½Ρ ΠΌΠΎΠΆΠ½ΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΡΡΠ°Π±Π°ΡΡΠ²Π°Π½ΠΈΡ ΡΠΎΡΠΊΠΈ ΠΎΡΡΠ°Π½ΠΎΠ²Π°. ΠΡΠΎ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΊΠ°ΠΊ ΠΊΠ°ΠΊΠΎΠ΅-ΡΠΎ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΡΡΠ»ΠΎΠ²ΠΈΠ΅, ΡΠ°ΠΊ ΠΈ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΏΠΎΠΏΠ°Π΄Π°Π½ΠΈΠΉ Π² ΡΡΡΠΎΠΊΡ. ΠΡΠΎΠΌΠ΅ ΡΡΠΎΠ³ΠΎ, ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΡΡΡΠΎΠΈΡΡ Π²ΡΠ²ΠΎΠ΄ ΠΊΠ°ΠΊΠΎΠΉ-ΡΠΎ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ Π² Output window, Π° Π½Π΅ ΠΏΡΠΎΡΡΠΎ ΠΎΡΡΠ°Π½ΠΎΠ²ΠΊΡ.
Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΎΠΊΠ½ΠΎ Visual Studio Π² ΡΠ΅ΠΆΠΈΠΌΠ΅ ΠΎΡΠ»Π°Π΄ΠΊΠΈ.
- ΠΠΊΠ»Π°Π΄ΠΊΠΈ Locals, Watch. Π‘ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠΈΡ Π²ΠΊΠ»Π°Π΄ΠΎΠΊ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΌΠΎΡΡΠ΅ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ Π² ΡΠ΅ΠΊΡΡΠ΅ΠΌ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ΅ (Locals) ΠΈΠ»ΠΈ Π·Π°Π΄Π°Π½Π½ΡΠ΅ Π²ΡΡΡΠ½ΡΡ (Watch). ΠΡΠΎΠΌΠ΅ ΡΡΠΎΠ³ΠΎ, ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ ΡΠ΅ΠΊΡΡΠ΅Π΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΎΡΡΠΎ Π½Π°Π²ΠΎΠ΄Ρ Π½Π° Π½Π΅Ρ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ ΠΌΡΡΠΈ.
- ΠΠΊΠ»Π°Π΄ΠΊΠ° Call Stack ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΡΡΠ΅ΠΊ Π²ΡΠ·ΠΎΠ²ΠΎΠ², Π²ΠΎ Π²ΠΊΠ»Π°Π΄ΠΊΠ΅ Exception Settings ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΡΡΡΠΎΠΈΡΡ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΏΡΠΈ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡΡ .
- Π ΡΠ°Π·Π΄Π΅Π»Π΅ Diagnostic Tools Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎΠ± ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ ΠΏΠ°ΠΌΡΡΠΈ ΠΈ ΡΠ΅ΡΡΡΡΠΎΠ² ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ°, Π΄Π°Π½Π½ΡΠ΅ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½Ρ Π½Π° ΡΠ°ΠΉΠΌΠ»Π°ΠΉΠ½Π΅. ΠΡΠΎΠΌΠ΅ ΡΡΠΎΠ³ΠΎ, Π½Π° ΡΠ°ΠΉΠΌΠ»Π°ΠΉΠ½ Π½Π°Π½ΠΎΡΡΡΡΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ ΡΠΎΠ±ΡΡΠΈΡ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΡΠΈ ΡΠ°Π±ΠΎΡΠ΅ Ρ ASP.NET Π½Π° ΡΠ°ΠΉΠΌΠ»Π°ΠΉΠ½ Π½Π°Π½ΠΎΡΡΡΡΡ Π·Π°ΠΏΡΠΎΡΡ ΠΊ ΡΠ΅ΡΠ²Π΅ΡΡ) ΠΈ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ. ΠΠ°ΠΆΠ°ΡΠΈΠ΅ Π½Π° ΡΠΎΠ±ΡΡΠΈΠ΅ Π½Π° ΡΠ°ΠΉΠΌΠ»Π°ΠΉΠ½Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΠ΅ΡΠ΅ΠΉΡΠΈ Π² ΡΠ΅ΠΆΠΈΠΌ Historical Debugging.
ΠΡΠ»Π°Π΄ΠΊΠ° Mono-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ
1.ΠΡΠΏΠΎΠ»Π½ΠΈΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ
1.ΠΡΠΏΠΎΠ»Π½ΠΈΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ docker pull flexberry/monodevelop:latest
2.Π£ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ XServer Π΄Π»Ρ Windows, Π·Π°ΠΏΡΡΡΠΈΡΡ XServer
3.ΠΡΠΏΠΎΠ»Π½ΠΈΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ docker run -dti --network host -e "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/root/projects/scripts" -e "DISPLAY=XX.XX.XX.XX:0.0" -v d:/projects:/root/projects flexberry/monodevelop:latest /usr/bin/mate-terminal --disable-factory
2.Π£ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ XServer ΠΏΠΎΠ΄ windows.
4.Π ΠΎΡΠΊΡΡΠ²ΡΠΈΠΌΡΡ ΠΎΠΊΠ½Π΅ ΡΠ΅ΡΠΌΠΈΠ½Π°Π»Π° Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ: monodevelop&
5.ΠΡΠΊΡΡΡΡ Π½ΡΠΆΠ½ΡΠΉ ΠΏΡΠΎΠ΅ΠΊΡ, Π² ΡΠ²ΠΎΠΉΡΡΠ²Π°Ρ ΡΠΊΠ°Π·Π°ΡΡ: 0.0.0.0
4.ΠΡΠΏΠΎΠ»Π½ΠΈΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ
ΠΡΠΎΠΌΠ΅ ΡΡΠΎΠ³ΠΎ Π² ΡΠ²ΠΎΠΉΡΡΠ²Π°Ρ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΡΠΊΠ»ΡΡΠΈΡΡ ΡΠ±ΠΎΡΠΊΡ. Π‘Π±ΠΎΡΠΊΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΡΡ Π² Visual Studio, Π½ΠΎ ΠΎΡΠ»Π°ΠΆΠΈΠ²Π°ΡΡ Π² Mono.
6.Π‘ΠΊΠ°ΡΠ°ΡΡ ΠΈ ΡΠΎΠ±ΡΠ°ΡΡ MdbConverter.exe.
Π Visual Studio ΡΠΊΠ°Π·Π°ΡΡ: MdbConverter\pdb2mdb\bin\Debug\MdbConverter.exe . d:\projects /root/projects
5.Π ΠΎΡΠΊΡΡΠ²ΡΠΈΠΌΡΡ ΠΎΠΊΠ½Π΅ ΡΠ΅ΡΠΌΠΈΠ½Π°Π» Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
6.ΠΡΠΊΡΡΡΡ Π½ΡΠΆΠ½ΡΠΉ ΠΏΡΠΎΠ΅ΠΊΡ ΠΈ Π² ΡΠ²ΠΎΠΉΡΡΠ²Π°Ρ ΡΠΊΠ°Π·Π°ΡΡ:
7.Π Visual Studio ΡΠΊΠ°Π·Π°ΡΡ:
MdbConverter.exe. Ρ:/catalog:/childrencatalog
Π§ΡΠΎΠ±Ρ ΡΠΎΠ±ΡΠ°ΡΡ MdbConverter
Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ:
- ΠΡΠΏΠΎΠ»Π½ΠΈΡΡ git clone https://github.com/Flexberry/mono
- git checkout MdbConverter
- ΠΡΠΊΡΡΡΡ Π² Visual Studio ΠΏΡΠΎΠ΅ΠΊΡ mono\mcs\tools\pdb2mdb\MdbConverter.csproj
- ΠΡΠΏΠΎΠ»Π½ΠΈΡΡ Build.
8.Π ΠΈΡΠΎΠ³Π΅ ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΠΎΡΠ»Π°Π΄ΠΊΡ:
ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ΅ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΠ΅
ΠΠΊΠ½ΠΎ ΠΎΡΠ»Π°Π΄ΠΊΠΈ Π² MonoDevelop Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ: Π Π°Π±ΠΎΡΠ° Ρ Π½ΠΈΠΌ Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ½Π° Ρ ΡΠ°Π±ΠΎΡΠΎΠΉ Ρ Visual Studio Π² ΡΠ΅ΠΆΠΈΠΌΠ΅ ΠΎΡΠ»Π°Π΄ΠΊΠΈ.
ΠΠ΅ΡΠ΅ΠΉΡΠΈ
ΠΡΠ»Π°Π΄ΠΊΠ° JavaScript Π² PhpStorm | Π ΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎ ΠΏΠΎ PhpStorm
ΠΠΎΡΠ»Π΅Π΄Π½Π΅Π΅ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅: 10.07.2017 Π³.
ΠΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΡ: 07.07.2017 Π³.
ΠΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ
Π ΡΡΠΎΠΌ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²Π΅ ΠΎΠΏΠΈΡΡΠ²Π°Π΅ΡΡΡ ΠΎΡΠ»Π°Π΄ΠΊΠ° JavaScript-ΠΊΠΎΠ΄Π° Π² PhpStorm. ΠΡΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ, ΠΎΠΏΠΈΡΠ°Π½Π½ΡΠ΅ Π·Π΄Π΅ΡΡ, Π±ΡΠ»ΠΈ Π²ΠΎΡΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½Ρ Ρ ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΡΠΌΠΈ ΠΎΠΆΠΈΠ΄Π°Π΅ΠΌΡΠΌΠΈ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ°ΠΌΠΈ Π½Π° PhpStorm 2016.1.2.
Π’Ρ ΠΊΠΎΠ³Π΄Π°-Π½ΠΈΠ±ΡΠ΄Ρ Π·Π°Π΄ΡΠΌΡΠ²Π°Π»ΡΡ, ΡΡΠΎ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ Π² ΠΏΠ°ΠΌΡΡΠΈ Π±ΡΠ°ΡΠ·Π΅ΡΠ° ΠΈ DOM ΠΏΡΠΈ ΡΠ°Π±ΠΎΡΠ΅ Ρ JavaScript? Π‘ ΠΏΠΎΠΌΠΎΡΡΡ PhpStorm ΠΌΠΎΠΆΠ½ΠΎ Π·Π°Π½ΠΈΠΌΠ°ΡΡΡΡ ΠΎΡΠ»Π°Π΄ΠΊΠΎΠΉ JavaScript-ΠΊΠΎΠ΄Π° ΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ Π΅Π³ΠΎ ΠΏΠΎΡΡΠ°ΠΏΠ½ΠΎ, ΠΏΡΠΎΠ²Π΅ΡΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ (ΠΈ Π΄Π°ΠΆΠ΅ ΠΈΠ·ΠΌΠ΅Π½ΡΡ ΠΈΡ ) Π²ΠΎ Π²ΡΠ΅ΠΌΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΠΊΡΠΈΠΏΡΠ°. ΠΠ°Π²Π°ΠΉ ΠΏΠΎΡΠΌΠΎΡΡΠΈΠΌ, ΠΊΠ°ΠΊ ΡΡΠΎ Π΄Π΅Π»Π°Π΅ΡΡΡ.
ΠΠ°ΠΌΠ΅ΡΠΊΠ°
ΠΠΎΠΌΠΈΠΌΠΎ ΠΎΡΠ»Π°Π΄ΠΊΠΈ JavaScript-ΠΊΠΎΠ΄Π°, c ΠΏΠΎΠΌΠΎΡΡΡ PhpStorm ΠΌΠΎΠΆΠ½ΠΎ Π·Π°Π½ΠΈΠΌΠ°ΡΡΡΡ ΠΈ ΠΎΡΠ»Π°Π΄ΠΊΠΎΠΉ PHP-ΠΊΠΎΠ΄Π°.
1. Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ Π΄Π»Ρ Π±ΡΠ°ΡΠ·Π΅ΡΠ° Google Chrome
ΠΠ»Ρ ΠΎΡΠ»Π°Π΄ΠΊΠΈ JavaScript-ΠΊΠΎΠ΄Π° Π² PhpStorm ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ JetBrains IDE Support Π΄Π»Ρ Π±ΡΠ°ΡΠ·Π΅ΡΠ° Google Chrome. ΠΡΠΎ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ ΡΠ²ΡΠ·Ρ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ΅ΠΌ, ΡΡΠΎ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ Π² IDE, ΠΈ ΡΠ΅ΠΌ, ΡΡΠΎ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ Π² Π±ΡΠ°ΡΠ·Π΅ΡΠ΅, ΠΈ Π½Π°ΠΎΠ±ΠΎΡΠΎΡ. ΠΡΠ»ΠΈ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ Π½Π΅ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΠΏΡΠΈ ΠΏΠ΅ΡΠ²ΠΎΠΌ Π·Π°ΠΏΡΡΠΊΠ΅ ΡΠ΅Π°Π½ΡΠ° ΠΎΡΠ»Π°Π΄ΠΊΠΈ, ΡΠΎ ΡΠ΅Π±Π΅ ΠΏΡΠΈΠ΄ΡΡΡΡ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π΅Π³ΠΎ Π²ΡΡΡΠ½ΡΡ.
ΠΠ°ΠΌΠ΅ΡΠΊΠ°
Π’Π°ΠΊΠΆΠ΅ ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠ΅ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ ΠΈΠΌΠ΅Π΅Ρ ΡΡΠ½ΠΊΡΠΈΡ Live Edit. ΠΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠ΅Π±Π΅ Π² ΡΠ΅ΠΆΠΈΠΌΠ΅ ΡΠ΅Π°Π»ΡΠ½ΠΎΠ³ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ, Π±Π΅Π· ΠΏΠ΅ΡΠ΅Π·Π°Π³ΡΡΠ·ΠΊΠΈ ΡΡΡΠ°Π½ΠΈΡΡ, Π²ΠΈΠ΄Π΅ΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΏΡΠΈ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ ΠΊΠΎΠ΄Π° Π½Π° PHP, JS, HTML, CSS. Π’Ρ ΠΏΡΠ°Π²ΠΈΡΡ ΡΡΠΎ-ΡΠΎ Π² IDE β ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ ΠΌΠΎΠΌΠ΅Π½ΡΠ°Π»ΡΠ½ΠΎ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅ΡΡΡ Π² Π±ΡΠ°ΡΠ·Π΅ΡΠ΅.
ΠΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅
ΠΡΠ»ΠΈ Π±ΡΠ°ΡΠ·Π΅Ρ Π·Π°ΠΊΡΡΡ ΠΏΡΠΈ Π·Π°ΠΏΡΡΠΊΠ΅ ΡΠ΅Π°Π½ΡΠ° ΠΎΡΠ»Π°Π΄ΠΊΠΈ Π² IDE, ΡΠΎ PhpStorm Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ Π·Π°ΠΏΡΡΡΠΈΡ Π΅Π³ΠΎ. ΠΡΠ»ΠΈ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ Π½Π΅ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΎ ΠΏΡΠΈ Π·Π°ΠΏΡΡΠΊΠ΅ ΡΠ΅Π°Π½ΡΠ° ΠΎΡΠ»Π°Π΄ΠΊΠΈ, ΡΠΎ PhpStorm ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅Π΄ΠΈΡ ΠΎΠ± ΡΡΠΎΠΌ.
Π£ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ Π±ΡΠ°ΡΠ·Π΅ΡΠ° Google Chrome ΠΌΠΎΠΆΠ½ΠΎ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
- ΠΡΠΊΡΠΎΠΉ Chrome, ΠΏΠ΅ΡΠ΅ΠΉΠ΄ΠΈ ΠΊ Π½Π°ΡΡΡΠΎΠΉΠΊΠ°ΠΌ ΠΈ Π²ΡΠ±Π΅ΡΠΈ ΡΠ°Π·Π΄Π΅Π»
Extensions ΠΈΠ»ΠΈ Π² Π°Π΄ΡΠ΅ΡΠ½ΠΎΠΉ ΡΡΡΠΎΠΊΠ΅ Π±ΡΠ°ΡΠ·Π΅ΡΠ° Π½Π°Π±Π΅ΡΠΈ:
chrome://extensions
- ΠΠ°ΠΉΠ΄ΠΈ ΠΈ ΡΡΡΠ°Π½ΠΎΠ²ΠΈ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ JetBrains IDE Support Π² ΠΈΠ½ΡΠ΅ΡΠ½Π΅Ρ-ΠΌΠ°Π³Π°Π·ΠΈΠ½Π΅ Chrome.
- ΠΠΎΠ΄ΡΠ²Π΅ΡΠ΄ΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ Π² Π±ΡΠ°ΡΠ·Π΅Ρ Chrome.
ΠΠΎΡΠ»Π΅ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ, ΠΌΠΎΠΆΠ½ΠΎ Π·Π°Π½ΡΡΡΡΡ ΠΎΡΠ»Π°Π΄ΠΊΠΎΠΉ JavaScript-ΠΊΠΎΠ΄Π° Π² PhpStorm.
2. Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΡΠΎΡΠ΅ΠΊ ΠΎΡΡΠ°Π½ΠΎΠ²Π°
Π ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ΅ PhpStorm ΠΌΠΎΠΆΠ½ΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΡΠΎΡΠΊΠΈ ΠΎΡΡΠ°Π½ΠΎΠ²Π°. Π’ΠΎΡΠΊΠΈ ΠΎΡΡΠ°Π½ΠΎΠ²Π° β ΡΡΠΎ ΡΡΡΠΎΠΊΠΈ ΠΊΠΎΠ΄Π°, Π² ΠΊΠΎΡΠΎΡΡΡ ΠΎΡΠ»Π°Π΄ΡΠΈΠΊ ΠΏΡΠΈΠΎΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠ²ΠΈΠ΄Π΅ΡΡ, ΡΡΠΎ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ Π²Π½ΡΡΡΠΈ JavaScript-ΠΊΠΎΠ΄Π°. Π’Ρ ΠΌΠΎΠΆΠ΅ΡΡ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΠΈΠ»ΠΈ ΡΠ΄Π°Π»ΠΈΡΡ ΡΠΎΡΠΊΠΈ ΠΎΡΡΠ°Π½ΠΎΠ²Π°, ΡΡΠ»ΠΊΠ½ΡΠ² Π² Π»ΡΠ±ΠΎΠΉ ΡΡΡΠΎΠΊΠ΅ ΠΊΠΎΠ΄Π° c Π»Π΅Π²ΠΎΠΉ ΡΡΠΎΡΠΎΠ½Ρ ΠΎΡ ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ° ΠΈΠ»ΠΈ ΠΏΠΎΠΌΠ΅ΡΡΠΈΠ² ΠΊΡΡΡΠΎΡ Π½Π° ΡΡΡΠΎΠΊΡ ΠΊΠΎΠ΄Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π³ΠΎΡΡΡΠΈΠ΅ ΠΊΠ»Π°Π²ΠΈΡΠΈ Ctrl + F8 (Cmd + F8 Π½Π° Mac OS X). IDE ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΡΠΎΡΠΊΡ ΠΎΡΡΠ°Π½ΠΎΠ²Π°, ΠΊΠ°ΠΊ Π±ΠΎΠ»ΡΡΡΡ ΠΊΡΠ°ΡΠ½ΡΡ ΡΠΎΡΠΊΡ Ρ Π»Π΅Π²ΠΎΠΉ ΡΡΠΎΡΠΎΠ½Ρ ΠΎΡ ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ°.
ΠΠ°ΠΌΠ΅ΡΠΊΠ°
ΠΠ°ΠΆΠΌΠΈ Π·Π΄Π΅ΡΡ, ΡΡΠΎΠ±Ρ Π·Π°Π³ΡΡΠ·ΠΈΡΡ ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡ ΡΠ°ΠΉΠ»ΠΎΠ² ΠΏΡΠΎΠ΅ΠΊΡΠ° Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²Π°.
3. ΠΠ°ΠΏΡΡΠΊ ΡΠ΅Π°Π½ΡΠ° ΠΎΡΠ»Π°Π΄ΠΊΠΈ
ΠΠΎΡΠ»Π΅ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ ΡΠΎΡΠ΅ΠΊ ΠΎΡΡΠ°Π½ΠΎΠ²Π°, ΡΡ ΠΌΠΎΠΆΠ΅ΡΡ Π½Π°ΡΠ°ΡΡ ΡΠ΅Π°Π½Ρ ΠΎΡΠ»Π°Π΄ΠΊΠΈ. ΠΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ, Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΏΠ°Π½Π΅Π»ΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ² ΠΈΠ»ΠΈ ΡΠΎΠ·Π΄Π°Π² ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ ΠΎΡΠ»Π°Π΄ΠΊΠΈ JavaScript-ΠΊΠΎΠ΄Π°, Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π³Π»Π°Π²Π½ΠΎΠ³ΠΎ ΠΌΠ΅Π½Ρ PhpStorm [Run β Edit Configurationsβ¦]. Π’Π°ΠΊΠΆΠ΅ ΡΡ ΠΌΠΎΠΆΠ΅ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ½ΠΎΠ΅ ΠΌΠ΅Π½Ρ ΡΠ°ΠΉΠ»Π°, ΠΊΠΎΡΠΎΡΡΠΉ Π½ΡΠΆΠ΄Π°Π΅ΡΡΡ Π² ΠΎΡΠ»Π°Π΄ΠΊΠ΅, Π²ΡΠ±ΡΠ°Π² ΠΏΡΠ½ΠΊΡ Debug <filename>.
ΠΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ ΡΠΏΠΎΡΠΎΠ± ΡΠΎΠ·Π΄Π°ΡΡ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ ΠΎΡΠ»Π°Π΄ΠΊΠΈ Π·Π° ΡΠ΅Π±Ρ, Π° ΡΠ°ΠΊΠΆΠ΅ Π·Π°ΠΏΡΡΡΠΈΡ Π±ΡΠ°ΡΠ·Π΅Ρ.
4. ΠΡΠ»Π°Π΄ΠΊΠ°
ΠΠΎΡΠ»Π΅ Π·Π°ΠΏΡΡΠΊΠ° ΡΠ΅Π°Π½ΡΠ° ΠΎΡΠ»Π°Π΄ΠΊΠΈ, PhpStorm ΠΏΡΠΈΠΎΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π² ΡΠΎΡΠΊΠ΅ ΠΎΡΡΠ°Π½ΠΎΠ²Π° ΠΈ Π²ΡΠ΄Π΅Π»ΡΠ΅Ρ ΡΡΡΠΎΠΊΡ ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°, ΠΊΠΎΡΠΎΡΠ°Ρ Π΅ΡΡ Π½Π΅ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°Π½Π° ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡΠΎΠΌ.
ΠΠ°ΡΠ΅ΠΌ Π² IDE ΠΎΡΠΊΡΡΠ²Π°Π΅ΡΡΡ ΠΎΠΊΠ½ΠΎ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ° Debug, Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π½Π΅Π³ΠΎ ΡΡ ΠΌΠΎΠΆΠ΅ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ°ΡΡΡΡ ΠΏΠΎ ΡΠ°Π±ΠΎΡΠ°ΡΡΠ΅ΠΌΡ ΠΊΠΎΠ΄Ρ ΠΈ ΠΏΡΠΎΠ²Π΅ΡΡΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ .
4.1. ΠΠΎΡΠ°Π³ΠΎΠ²ΠΎΠ΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π°
Π‘ ΠΏΠΎΠΌΠΎΡΡΡ ΠΈΠΊΠΎΠ½ΠΎΠΊ Π½Π° ΠΏΠ°Π½Π΅Π»ΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ² ΠΈΠ»ΠΈ Π³ΠΎΡΡΡΠΈΡ ΠΊΠ»Π°Π²ΠΈΡ ΡΡ ΠΌΠΎΠΆΠ΅ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ°ΡΡΡΡ ΠΏΠΎ ΠΊΠΎΠ΄Ρ:
- Step Into (F7) β Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π³ΠΎ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ, ΡΠ°ΠΊΠΈΠΌ ΡΠΏΠΎΡΠΎΠ±ΠΎΠΌ ΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΎΠ²Π΅ΡΡΡΡ ΠΎΠ΄Π½ΠΎ Π·Π° Π΄ΡΡΠ³ΠΈΠΌ.
- Step Over (F8) β Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π³ΠΎ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ Π² ΡΠ΅Π»ΠΎΠΌ, Π±Π΅Π· ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄Π° Π²Π³Π»ΡΠ±Ρ ΡΡΠ΅ΠΊΠ° Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ.
- F9 β Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠΉ Π΄ΠΎ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ ΡΠΎΡΠΊΠΈ ΠΎΡΡΠ°Π½ΠΎΠ²Π°.
4.2. ΠΠ°Π±Π»ΡΠ΄Π΅Π½ΠΈΠ΅
ΠΡΠ»ΠΈ Π½ΡΠΆΠ½ΠΎ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΠΎΠΉ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π² ΡΠ°Π·Π½ΡΡ ΡΠ°ΡΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΡΠΎ ΡΡ ΠΌΠΎΠΆΠ΅ΡΡ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΡΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ Π² ΡΠΏΠΈΡΠΎΠΊ Π½Π°Π±Π»ΡΠ΄Π΅Π½ΠΈΠΉ, Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΏΠ°Π½Π΅Π»ΠΈ Watches. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, Π·Π°ΠΏΡΡΡΠΈΠ² ΡΠ΅Π°Π½Ρ ΠΎΡΠ»Π°Π΄ΠΊΠΈ ΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΡ ΠΊΠΎΠ΄ ΠΏΠΎΡΠ°Π³ΠΎΠ²ΠΎ, ΡΡ ΡΠΌΠΎΠΆΠ΅ΡΡ Π²ΠΈΠ΄Π΅ΡΡ, ΠΊΠ°ΠΊΠΈΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΈΠΌΠ΅Π΅Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ Π² ΡΠ°Π·Π½ΡΡ ΡΠ°ΡΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ. ΠΡΠ° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ ΡΠΎΠΊΡΡΠΈΡΠΎΠ²Π°ΡΡΡΡ ΠΈ Π°Π½Π°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π½ΡΠΆΠ½ΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅.
4.3. ΠΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΡΠΎΡΠ΅ΠΊ ΠΎΡΡΠ°Π½ΠΎΠ²Π° ΠΈ ΡΡΠ»ΠΎΠ²Π½ΡΠ΅ ΡΠΎΡΠΊΠΈ ΠΎΡΡΠ°Π½ΠΎΠ²Π°
ΠΡΠ΅Π΄ΡΡΠ°Π²Ρ, ΡΡΠΎ ΡΡ Π·Π°Π½ΠΈΠΌΠ°Π΅ΡΡΡΡ ΠΎΡΠ»Π°Π΄ΠΊΠΎΠΉ ΡΠΈΠΊΠ»Π°. ΠΡΠ»ΠΈ ΠΏΠΎΠΌΠ΅ΡΡΠΈΡΡ ΡΠΎΡΠΊΡ ΠΎΡΡΠ°Π½ΠΎΠ²Π° Π²Π½ΡΡΡΠΈ ΡΠ΅Π»Π° ΡΠΈΠΊΠ»Π°, ΡΠΎ ΠΎΠ½Π° Π±ΡΠ΄Π΅Ρ ΡΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΡΠ΅ΡΠ°ΡΠΈΠΈ. Π ΡΠ΅Π±Ρ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΈΠ½ΡΠ΅ΡΠ΅ΡΡΠ΅Ρ ΡΠΎΠ»ΡΠΊΠΎ ΡΠΎ, ΡΡΠΎ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ Π² ΠΊΠΎΠ΄Π΅ Π΄Π»Ρ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠΉ ΠΈΡΠ΅ΡΠ°ΡΠΈΠΈ, ΡΠΎΠ³Π΄Π° ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ ΡΠΎΡΠΊΡ ΠΎΡΡΠ°Π½ΠΎΠ²Π° ΡΡΠ»ΠΎΠ²Π½ΠΎΠΉ ΡΠΎΡΠΊΠΎΠΉ ΠΎΡΡΠ°Π½ΠΎΠ²Π°.
ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π³Π»Π°Π²Π½ΠΎΠ³ΠΎ ΠΌΠ΅Π½Ρ IDE [Run β View Breakpoints] ΠΈΠ»ΠΈ Π³ΠΎΡΡΡΠΈΡ ΠΊΠ»Π°Π²ΠΈΡ Ctrl + Shift + F8 (Cmd + Shift + F8 Π½Π° Mac OS X) ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡΠΊΡΡΡΡ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ Breakpoints ΠΈ Π½Π°ΡΡΡΠΎΠΈΡΡ ΡΠΎΡΠΊΠΈ ΠΎΡΡΠ°Π½ΠΎΠ²Π°. ΠΠΎΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ ΡΡΠ»ΠΎΠ²ΠΈΠ΅, ΠΏΡΠΈ ΠΊΠΎΡΠΎΡΠΎΠΌ ΡΠΎΡΠΊΠ° ΠΎΡΡΠ°Π½ΠΎΠ²Π° ΡΠ²Π»ΡΠ΅ΡΡΡ Π΄ΠΎΠΏΡΡΡΠΈΠΌΠΎΠΉ, Π³Π΄Π΅ ΠΎΡΠ»Π°Π΄ΡΠΈΠΊ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΡΠΈΠΎΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΊΠΎΠ³Π΄Π° ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ ΠΈΡΠ΅ΡΠ°ΡΠΎΡΠ° i ΡΠ°Π²Π½Π° 3, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½ΠΈΠΆΠ΅:
ΠΠ°ΠΌΠ΅ΡΠΊΠ°
Π’ΠΎΡΠΊΠΈ ΠΎΡΡΠ°Π½ΠΎΠ²Π° ΠΈΠΌΠ΅ΡΡ ΠΎΡΠ΅Π½Ρ Π±ΠΎΠ³Π°ΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΡ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΡ ΠΌΠΎΠΆΠ΅ΡΡ Π²ΡΠ²Π΅ΡΡΠΈ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ Π½Π° ΠΊΠΎΠ½ΡΠΎΠ»Ρ ΠΏΡΠΈ Π΄ΠΎΡΡΠΈΠΆΠ΅Π½ΠΈΠΈ ΡΠΎΡΠΊΠΈ ΠΎΡΡΠ°Π½ΠΎΠ²Π°, ΠΏΡΠΈ ΡΡΠΎΠΌ, Π½Π΅ ΠΎΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅, Π° ΠΏΡΠΎΡΡΠΎ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Ρ ΡΡΠ°ΡΡΠΈΡΠΎΠ²ΠΊΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΊΠΎΠ΄Π°. Π’Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π°Π»ΠΈΡΡ ΡΠΎΡΠΊΡ ΠΎΡΡΠ°Π½ΠΎΠ²Π° ΠΏΠΎΡΠ»Π΅ Π΅Ρ ΡΡΠ°Π±Π°ΡΡΠ²Π°Π½ΠΈΡ ΠΈΠ»ΠΈ Π²ΠΊΠ»ΡΡΠΈΡΡ Π΅Ρ ΡΠΎΠ»ΡΠΊΠΎ Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΡΡΠ°Π±Π°ΡΡΠ²Π°Π½ΠΈΡ Π΄ΡΡΠ³ΠΎΠΉ ΡΠΎΡΠΊΠΈ ΠΎΡΡΠ°Π½ΠΎΠ²Π°.
4.4. ΠΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΏΡΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΊΠΎΠ΄Π°
ΠΡΠΈ ΠΎΡΠ»Π°Π΄ΠΊΠ΅ ΡΠ°ΠΊΠΆΠ΅ ΠΏΠΎΠ»Π΅Π·Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΈΠ·ΠΌΠ΅Π½ΡΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΠΏΡΡΠΌΠΎ Π²ΠΎ Π²ΡΠ΅ΠΌΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΊΠΎΠ΄Π°. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΡ ΠΌΠΎΠΆΠ΅ΡΡ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ Π΄Π»Ρ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠ³ΠΎ ΡΡΠ»ΠΎΠ²ΠΈΡ. ΠΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ Π²ΠΎ Π²ΡΠ΅ΠΌΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΏΡΠ½ΠΊΡΠ° ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ½ΠΎΠ³ΠΎ ΠΌΠ΅Π½Ρ Set valueβ¦ (F2) Π½Π° ΠΏΠ°Π½Π΅Π»ΠΈ Variables ΠΎΠΊΠ½Π° ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ° Debug.
ΠΠΎΡΠ»Π΅ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ Π½ΠΎΠ²ΠΎΠ³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π»ΡΠ±ΠΎΠΉ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ, ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠΈΡΡ ΠΎΡΠ»Π°Π΄ΠΊΡ ΠΊΠΎΠ΄Π°.
ΠΠ°ΠΌΠ΅ΡΠΊΠ°
ΠΡΠΏΠΎΠ»ΡΠ·ΡΡ ΠΏΡΠ½ΠΊΡ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ½ΠΎΠ³ΠΎ ΠΌΠ΅Π½Ρ Evaluate Expressionβ¦, ΡΡ ΠΌΠΎΠΆΠ΅ΡΡ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ Π»ΡΠ±ΠΎΠ΅ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΡΠ΅Π°Π½ΡΠ° ΠΎΡΠ»Π°Π΄ΠΊΠΈ. ΠΡΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄Π»Ρ Π±ΡΡΡΡΠΎΠΉ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΡΡΠ»ΠΎΠ²ΠΈΡ, Π²ΡΠ·ΠΎΠ²Π° Π΄ΡΡΠ³ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈ ΡΠ°ΠΊ Π΄Π°Π»Π΅Π΅.
5. ΠΠ°ΡΡΡ ΠΊΠΎΠ΄Π°
*ΠΡΠ»Π°Π΄ΡΠΈΠΊ JavaScript ΡΠ°ΠΊΠΆΠ΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠ΅Π±Π΅ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ ΠΊΠ°ΡΡΠ°ΠΌΠΈ ΠΊΠΎΠ΄Π°. ΠΡΠΎ ΠΎΡΠ΅Π½Ρ ΡΠ΄ΠΎΠ±Π½ΠΎ ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΠΌΠΈΠ½ΠΈΡΠΈΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ JavaScript-ΠΊΠΎΠ΄Π° ΠΈΠ»ΠΈ ΡΠ°ΠΊΠΈΡ ΡΠ·ΡΠΊΠΎΠ², ΠΊΠ°ΠΊ CoffeeScript ΠΈΠ»ΠΈ TypeScript, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΡΡΡΡΡ Π² JavaScript.
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΠΌΠΈΠ½ΠΈΡΠΈΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ jQuery ΡΡ ΠΌΠΎΠΆΠ΅ΡΡ Π½Π°ΡΠ°ΡΡ ΠΎΡΠ»Π°Π΄ΠΊΡ ΠΈ ΠΏΠ΅ΡΠ΅ΠΉΡΠΈ ΠΊ Π΅Π³ΠΎ ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠΌΡ ΠΊΠΎΠ΄Ρ. PhpStorm ΠΏΡΠΈ Π½Π°Π»ΠΈΡΠΈΠΈ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅ΠΉ ΠΊΠ°ΡΡΡ ΠΊΠΎΠ΄Π° ΡΠ°ΡΠΏΠΎΠ·Π½Π°Π΅Ρ ΠΈ ΠΏΠΎΠΊΠ°ΠΆΠ΅Ρ ΡΠ΅Π±Π΅ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄ jQuery, Π° Π½Π΅ ΠΌΠΈΠ½ΠΈΡΠΈΡΠΈΡΠΎΠ²Π°Π½Π½ΡΡ Π²Π΅ΡΡΠΈΡ.
ΠΡΠΈ ΡΠ°Π±ΠΎΡΠ΅ Ρ ΡΠ·ΡΠΊΠ°ΠΌΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΡΡΡΡΡ Π² JavaScript, ΡΠ°ΠΊΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΈΠ΄Π΅Ρ ΠΊΠ°ΡΡ ΠΊΠΎΠ΄Π°. Π’Ρ ΠΌΠΎΠΆΠ΅ΡΡ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΡΠΎΡΠΊΠΈ ΠΎΡΡΠ°Π½ΠΎΠ²Π° Π² ΠΊΠΎΠ΄Π΅ CoffeeScript ΠΈΠ»ΠΈ TypeScript ΠΈ Π·Π°ΠΏΡΡΡΠΈΡΡ ΡΠ΅Π°Π½Ρ ΠΎΡΠ»Π°Π΄ΠΊΠΈ. ΠΡΠ»Π°Π΄ΡΠΈΠΊ Π±ΡΠ΄Π΅Ρ Π·Π½Π°ΡΡ, ΠΊΠ°ΠΊ ΡΠΎΠΏΠΎΡΡΠ°Π²ΠΈΡΡ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠΉ JavaScript-ΠΊΠΎΠ΄ Ρ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΌ ΡΠ°ΠΉΠ»ΠΎΠΌ. ΠΠ½ ΠΎΡΠΎΠ±ΡΠ°Π·ΠΈΡ ΡΠΎΡΠΊΠΈ ΠΎΡΡΠ°Π½ΠΎΠ²Π° Π² CoffeeScript ΠΈΠ»ΠΈ TypeScript, Π΄Π°ΠΆΠ΅ Π΅ΡΠ»ΠΈ Π±ΡΠ°ΡΠ·Π΅Ρ ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΠΊΠΎΠ΄ Π½Π° JavaScript.
6. ΠΠ»Π°Π³ΠΈΠ½ Spy-js
*Π’Π°ΠΊΠΆΠ΅ Π² PhpStorm Π΄Π»Ρ ΠΎΡΠ»Π°Π΄ΠΊΠΈ JavaScript-ΠΊΠΎΠ΄Π° ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΠ»Π°Π³ΠΈΠ½ Spy-js. ΠΠ½ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π·Π°Π½ΠΈΠΌΠ°ΡΡΡΡ ΠΎΡΠ»Π°Π΄ΠΊΠΎΠΉ Π±Π΅Π· ΡΠΎΡΠ΅ΠΊ ΠΎΡΡΠ°Π½ΠΎΠ²Π° ΠΈ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π±Π΅Π· ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ². Spy-js ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΠΈΡΡΠΎΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ Π΄Π°Π½Π½ΡΠ΅ ΠΈΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ, ΡΡΠΎΠ±Ρ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΠΈΡΡ ΠΎΡΠ»Π°Π΄ΠΎΡΠ½ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΏΠΎΡΠ»Π΅ Π·Π°ΠΏΡΡΠΊΠ° ΠΊΠΎΠ΄Π°. ΠΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΠΏΠ»Π°Π³ΠΈΠ½Π΅ Spy-js ΡΡ ΠΌΠΎΠΆΠ΅ΡΡ Π½Π°ΠΉΡΠΈ Π² Π±Π»ΠΎΠ³Π΅ PhpStorm.
ΠΡΠ½ΠΊΡ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΠΏΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠΌ ΠΏΡΠΈ ΠΈΠ·ΡΡΠ΅Π½ΠΈΠΈ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²Π°: ΠΡΠ»Π°Π΄ΠΊΠ° JavaScript Π² PhpStorm.
ΠΠΎΠ½ΡΡΠΎΠ»ΡΠ½ΡΠ΅ Π²ΠΎΠΏΡΠΎΡΡ
ΠΡΡΠΎΡΠ½ΠΈΠΊΠΈ ΠΈ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»Ρ
ΠΡΠ»Π°Π΄ΠΊΠ° JavaScript Π² Firefox Ρ ΠΏΠΎΠΌΠΎΡΡΡ Debugger. ΠΠΎΠ΄ΡΠΎΠ±Π½Π°Ρ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡ
Π Π²Ρ Π·Π½Π°Π»ΠΈ, ΡΡΠΎ Π² Π½ΠΎΠ²ΡΡ Π²Π΅ΡΡΠΈΡ Firefox Π²ΡΡΡΠΎΠ΅Π½ ΠΎΠ±Π°Π»Π΄Π΅Π½Π½ΡΠΉ ΠΎΡΠ»Π°Π΄ΡΠΈΠΊ Debugger Π΄Π»Ρ ΡΠ·ΡΠΊΠ° JavaScript. ΠΠ°Π½Π½ΡΠΉ ΠΎΡΠ»Π°Π΄ΡΠΈΠΊ Π±ΡΠ» Π²ΡΡΡΠΎΠ΅Π½ Π² Β«ΠΠΈΡΡΒ» Π² Π½ΠΎΠ²ΡΡ Π²Π΅ΡΡΠΈΡ Π±ΡΠ°ΡΠ·Π΅ΡΠ° Quantum. ΠΠ° ΡΠΎΡ ΠΌΠΎΠΌΠ΅Π½Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ ΡΠ΅ΡΠΈΠ»ΠΈ ΠΊΠ°ΡΠ΄ΠΈΠ½Π°Π»ΡΠ½ΠΎ ΠΏΠ΅ΡΠ΅ΡΠΌΠΎΡΡΠ΅ΡΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ Π΄Π»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Π² ΡΠ²ΠΎΠ΅ΠΌ ΠΏΡΠΎΠ΄ΡΠΊΡΠ΅, ΡΡΠΎΠ±Ρ ΠΎΠ½ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΎΠ²Π°Π» ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΌ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈΠΌ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡΠΌ ΠΊ Π²Π΅Π±-ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅.
ΠΠ΅Π΄Ρ, ΠΊΠ°ΠΊ ΠΌΡ Π·Π½Π°Π΅ΠΌ, Π»ΡΠ±ΠΎΠ΅ ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠ΅, ΠΏΡΠΎΠ΄Π²ΠΈΠ½ΡΡΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΡΠ°ΠΊ ΠΈΠ»ΠΈ ΠΈΠ½Π°ΡΠ΅ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΊΠΎΠ΄ JavaScript, ΠΏΠΎΡΡΠΎΠΌΡ ΠΎΡΠ»ΠΈΡΠ½ΡΠΉ ΠΎΡΠ»Π°Π΄ΡΠΈΠΊ Π² Firefox β ΡΡΠΎ ΠΊΠ°ΠΊ ΡΠ°Π· ΡΠΎ, ΡΡΠΎ Π½Π°Π΄ΠΎ.
ΠΡΠ»Π°Π΄ΡΠΈΠΊ Debugger Π² Firefox
Π‘Π°ΠΌ ΠΠ΅Π±Π°Π³Π³Π΅Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π½ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ React, Redux ΠΈ Babel. ΠΠΌΠ΅Π½Π½ΠΎ ΠΏΠΎΡΡΠΎΠΌΡ ΠΏΠΎΠ»ΡΡΠΈΠ»ΡΡ Π½Π°Π΄Π΅ΠΆΠ½ΡΠΉ, ΡΡΡΡΡΡΠΉ, Π°Π΄Π°ΠΏΡΠΈΠ²Π½ΡΠΉ ΠΈ Π»Π΅Π³ΠΊΠΈΠΉ ΠΎΡΠ»Π°Π΄ΡΠΈΠΊ. ΠΠ»ΡΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΡ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΠ»ΠΎ Π²ΠΎΠΉΡΠΈ Π² Π±ΠΎΠ»Π΅Π΅ ΡΠ΅ΡΠ½ΡΠΉ ΠΊΠΎΠ½ΡΠ°ΠΊΡ Ρ ΡΠΎΠΎΠ±ΡΠ΅ΡΡΠ²ΠΎΠΌ ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ². ΠΡΠ΅ Π½Π° ΠΎΠ΄Π½ΠΎΠΉ Π²ΠΎΠ»Π½Π΅.
ΠΡΠ±ΠΎΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ React β Π»Π΅Π³ΠΊΠΎΠ²Π΅ΡΠ½ΡΠΉ, Π»Π΅Π³ΠΊΠΎΡΠ΅ΡΡΠΈΡΡΠ΅ΠΌΡΠΉ ΠΈ ΠΏΡΠΎΡΡ Π² ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅. Π Debugger ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΡΡ React Storybook, ΠΏΠΎΡΡΠΎΠΌΡ ΡΠ΄Π°Π»ΠΎΡΡ Π΄ΠΎΡΡΠΈΡΡ ΡΠΊΠΎΡΠΎΡΡΠ½ΠΎΠ³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΈ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ².
ΠΠ΅ΡΡ Β«FrontΒ» Π½Π°ΠΏΠΈΡΠ°Π½ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Babel. ΠΠΎΡΡΠΎΠΌΡ Π΅ΡΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π² Π»Π΅Π²ΠΎΠΉ ΠΏΠ°Π½Π΅Π»ΠΈ Π²ΡΠ²ΠΎΠ΄ΠΈΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈ ΠΊΠ»Π°ΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ² ΠΎΡΠ»Π°Π΄ΠΊΠΈ. Π ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΡ ΠΏΠΎΡΡΡΠΎΠ΅Π½Π° ΡΠ°ΠΊ, ΡΡΠΎΠ±Ρ Π½Π΅ Π±ΡΠ»ΠΎ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ΅Π½ΠΈΠΉ ΡΡΠ½ΠΊΡΠΈΠΉ, ΠΊΠΎΠ³Π΄Π° Π²Ρ Π±ΡΠ΄Π΅ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½ΡΡΡ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄.
Redux ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ Ρ API ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ, Π½ΠΎ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΠΏΡΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ ΠΎΡΠ»Π°Π΄ΡΠΈΠΊΠ° Π΄Π»Ρ CLI JS. ΠΠ°Π»ΠΈΡΠΈΠ΅ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΡ ΡΠ΅Π»Π΅ΠΊΡΠΎΡΠΎΠ² Π² Redux ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π² Π»ΡΠ±ΠΎΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ ΠΏΡΠΎΡΠΌΠΎΡΡΠ΅ΡΡ ΡΠ΅ΠΊΡΡΠ΅Π΅ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ ΠΎΡΠ»Π°Π΄ΠΊΠΈ.
Π‘Π°ΠΌ ΠΏΡΠΎΠ΅ΠΊΡ Debugger-ΠΎΡΠ»Π°Π΄ΡΠΈΠΊ Π² Firefox Π±ΡΠ» Π²ΡΠ»ΠΎΠΆΠ΅Π½ Π² ΠΎΡΠΊΡΡΡΡΠΉ Π΄ΠΎΡΡΡΠΏ Π½Π° GitHub. ΠΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΠ»ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠ°ΠΌ ΡΠΎ Π²ΡΠ΅Π³ΠΎ ΠΌΠΈΡΠ° ΡΡΠ°ΡΡΠ²ΠΎΠ²Π°ΡΡ ΠΈ Π΄Π°Π²Π°ΡΡ ΠΎΠ±ΡΠ°ΡΠ½ΡΡ ΡΠ²ΡΠ·Ρ ΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅ ΠΎΡΠ»Π°Π΄ΡΠΈΠΊΠ°. ΠΡΠΎ Π΄Π°Π»ΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π΄ΠΎΠ±ΠΈΡΡΡΡ ΠΊΠΎΠ»ΠΎΡΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ°, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΠΏΡΠΎΠ΄ΡΠΊΡ Π±ΡΠ» ΠΏΡΠΎΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ ΡΠ΅ΠΌΠΈ, Π΄Π»Ρ ΠΊΠΎΠ³ΠΎ ΠΎΠ½ ΡΠΎΠ·Π΄Π°Π²Π°Π»ΡΡ Π΅ΡΠ΅ Π½Π° ΡΡΠ°Π΄ΠΈΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ. ΠΠΎΡΡΠΎΠΌΡ Π² Π½Π΅ΠΌ Π² ΠΏΡΠΎΡΠ΅ΡΡΠ΅ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π΄ΠΎΠ±Π°Π²ΠΈΠ»ΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠΉ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π», ΠΊΠΎΡΠΎΡΡΠΉ Π½Π΅ ΠΏΠ»Π°Π½ΠΈΡΠΎΠ²Π°Π»ΡΡ ΠΈΠ·Π½Π°ΡΠ°Π»ΡΠ½ΠΎ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ Π² ΠΏΡΠΎΡΠ΅ΡΡΠ΅ ΠΎΠ±ΡΠ΅ΠΉ Β«ΡΠ°Π±ΠΎΡΡΒ» Π½Π°Π΄ ΠΎΡΠ»Π°Π΄ΡΠΈΠΊΠΎΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΡ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ»ΠΈ ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅Π½Π½ΡΡ ΠΎΠ±ΡΠ°ΡΠ½ΡΡ ΡΠ²ΡΠ·Ρ ΠΎ Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡΡΠΈΡ ΡΡΡΠ΄Π½ΠΎΡΡΡΡ Π² ΠΎΡΠ»Π°Π΄ΠΊΠ΅ ΠΊΠΎΠ΄Π° ΠΈ ΠΎ ΠΆΠ΅Π»Π°Π΅ΠΌΡΡ ΡΡΠ½ΠΊΡΠΈΡΡ Debugger.
ΠΠΎΡΡΠΎΠΌΡ ΠΏΡΠΎΠ΄ΡΠΊΡ ΠΏΠΎΠ»ΡΡΠΈΠ»ΡΡ ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅Π½Π½ΡΠΌ. Π ΠΊΠΎΠΌΠ°Π½Π΄Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ² Firefox ΠΈ Π΄Π°Π»ΡΡΠ΅ ΠΏΠ»Π°Π½ΠΈΡΡΠ΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π² ΡΠ°ΠΊΠΎΠΉ ΠΆΠ΅ ΡΠΈΡΡΠ΅ΠΌΠ΅ β ΠΎΡΠΊΡΡΡΠΎ Π½Π° ΠΠΈΡΠ₯Π°Π±Π΅, ΡΡΠΎΠ±Ρ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ Π±ΡΠ°ΡΠ·Π΅ΡΠ° ΡΠΌΠΎΠ³Π»ΠΈ ΡΠ»ΡΡΡΠ°ΡΡΡΡ Π΅Π³ΠΎ ΠΆΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΠΌΠΈ ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎ.
ΠΡΠ»Π°Π΄ΠΊΠ° JavaScript Π² Firefox ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ Debugger
ΠΠΎ ΡΡΠ°ΡΠΈΠ½ΠΊΠ΅ ΡΠ°ΡΡΠΎ Π΄Π»Ρ ΠΎΡΠ»Π°Π΄ΠΊΠΈ ΠΊΠΎΠ΄Π° ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΡΡ console.log. ΠΠ°, ΡΡΠΎ, Π±Π΅Π·ΡΡΠ»ΠΎΠ²Π½ΠΎ, ΡΠ°ΡΡΠΈΡΠ½ΠΎ ΡΠΏΠ°ΡΠ°Π»ΠΎ ΡΠΈΡΡΠ°ΡΠΈΡ, Π½ΠΎ Β«ΠΊΠΎΠ½ΡΠΎΠ»ΡΒ» Π½Π΅ ΡΠΏΠΎΡΠΎΠ±Π½Π° ΠΏΠΎ-Π½Π°ΡΡΠΎΡΡΠ΅ΠΌΡ ΠΎΡΡΡΠ΅ΡΡΠ²ΠΈΡΡ ΠΎΡΠ»Π°Π΄ΠΊΡ. ΠΡΠ΅, ΡΡΠΎ Π΄Π΅Π»Π°Π΅Ρ console, ΡΠ°ΠΊ ΡΡΠΎ Β«ΡΠ°ΡΡΠΊΠ°Π·ΡΠ²Π°Π΅ΡΒ» Π²Π°ΠΌ ΠΎ Π²Π°ΡΠ΅ΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ ΠΈ Π½Π΅ Π±ΠΎΠ»Π΅Π΅ ΡΠΎΠ³ΠΎ.
ΠΠΎΡΡΠΎΠΌΡ Π² Firefox ΡΠ΅ΡΠΈΠ»ΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π½Π°ΡΡΠΎΡΡΠΈΠΉ ΠΎΡΠ»Π°Π΄ΡΠΈΠΊ JavaScript.
Π§ΡΠΎΠ±Ρ ΠΈΠΌ Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ, Π½ΡΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π΅:
- ΠΎΡΠΊΡΡΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ ΠΎΡΠ»Π°Π΄ΠΊΠΈ;
- Π·Π°ΠΏΡΡΡΠΈΡΡ debugger.html.
ΠΠΎΡΠ»Π΅ Π·Π°ΠΏΡΡΠΊΠ° ΠΎΡΠ»Π°Π΄ΡΠΈΠΊΠ° Π²Ρ ΡΠ²ΠΈΠ΄ΠΈΡΠ΅, ΡΡΠΎ ΠΎΠ½ ΡΠ°Π·Π΄Π΅Π»Π΅Π½ Π½Π° ΡΡΠΈ ΡΠ°ΡΡΠΈ:
- Π±Π»ΠΎΠΊ ΡΠΎ ΡΠΏΠΈΡΠΊΠΎΠΌ ΡΠ°ΠΉΠ»ΠΎΠ² ΡΠ»Π΅Π²Π°;
- Π±Π»ΠΎΠΊ Ρ ΡΠ°ΠΌΠΈΠΌ ΠΊΠΎΠ΄ΠΎΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π² ΡΠ΅Π½ΡΡΠ΅;
- ΠΏΠ°Π½Π΅Π»Ρ Ρ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°ΠΌΠΈ ΡΠΏΡΠ°Π²Π°.
ΠΠ°ΠΌ Π΄Π»Ρ ΠΎΡΠ»Π°Π΄ΠΊΠΈ Π±ΠΎΠ»ΡΡΠ΅ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½Π° ΡΠ°ΠΌΠ° ΠΏΠ°Π½Π΅Π»Ρ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ². ΠΠ° Π½Π΅ΠΉ Π²Ρ Π½Π°ΠΉΠ΄Π΅ΡΠ΅:
- toolbar;
- ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠΉ Π΄Π»Ρ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π½ΠΈΡ;
- ΡΠΎΡΠΊΡ ΠΎΡΡΠ°Π½ΠΎΠ²Π°;
- ΡΡΡΠΊ Π²ΡΠ·ΠΎΠ²ΠΎΠ²;
- Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ.
ΠΡΠΆΠ½ΠΎ ΠΏΠΎΠΌΠ½ΠΈΡΡ, ΡΡΠΎ ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· Π³Π»Π°Π²Π½ΡΡ ΠΎΡΠ»ΠΈΡΠΈΠΉ ΠΎΡΠ»Π°Π΄ΡΠΈΠΊΠ° JavaScript Π² Firefox ΠΎΡ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠΉ Β«ΠΠΎΠ½ΡΠΎΠ»ΠΈΒ» ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠΎ, ΡΡΠΎ ΠΎΡΠ»Π°Π΄ΡΠΈΠΊ ΡΠΏΠΎΡΠΎΠ±Π΅Π½ Π³Π»ΡΠ±ΠΎΠΊΠΎ Β«ΠΏΡΠΎΠ³ΡΡΠΆΠ°ΡΡΡΡΒ» Π² ΠΈΡΡ ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄. ΠΠΎΡΡΠΎΠΌΡ Π½Π΅ Π½ΡΠΆΠ½ΠΎ Π·Π°Π±ΡΠ²Π°ΡΡ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡ ΡΠΎΡΠΊΠΈ ΠΎΡΡΠ°Π½ΠΎΠ²Π° Π½Π° ΠΊΠ°ΠΊΠΎΠΉ-Π½ΠΈΠ±ΡΠ΄Ρ ΡΡΡΠΎΠΊΠ΅, Π΄Π»Ρ ΡΠΎΠ³ΠΎ ΡΡΠΎΠ±Ρ ΠΠ΅Π±Π°Π³Π³Π΅Ρ ΡΠΌΠΎΠ³ Π²ΡΡΠ°ΡΡ Π½Π° ΠΏΠ°ΡΠ·Ρ, Π° Π²Ρ ΡΠΌΠΎΠ³Π»ΠΈ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ ΠΈ ΠΈΠ·ΡΡΠΈΡΡ ΠΊΠΎΠ΄.
ΠΠΎΠ±Π°Π²Π»ΡΠΉΡΠ΅ ΡΠΎΡΠΊΠΈ ΠΎΡΡΠ°Π½ΠΎΠ²Π°, Π΄ΠΎΠ±Π°Π²Π»ΡΠΉΡΠ΅ ΡΠΏΠΈΡΠΊΠΈ Π·Π°Π΄Π°Ρ ΠΈ ΠΆΠ΄ΠΈΡΠ΅, ΠΏΠΎΠΊΠ° ΠΠ΅Π±Π°Π³Π³Π΅Ρ ΡΡΠ°Π½Π΅Ρ Π½Π° ΠΏΠ°ΡΠ·Ρ Π² Β«ΡΠΎΡΠΊΠ΅Β». ΠΠΎΡΠ»Π΅ ΡΡΠ°ΡΡΠ° ΠΎΡΠ»Π°Π΄ΠΊΠΈ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΡΠΎΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΉ ΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ , Π½Π°Π²ΠΎΠ΄Ρ Π½Π° Π½ΠΈΡ ΠΊΡΡΡΠΎΡΠΎΠΌ. ΠΠΎΠΌΠΈΠΌΠΎ ΡΡΠΎΠ³ΠΎ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΎΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡ Π½Π°Π»ΠΈΡΠΈΠ΅ ΡΠΊΠΎΡΠ΅ΠΉ, Π°ΠΏΠΏΠ»Π΅ΡΠΎΠ², Π΄ΠΎΡΠ΅ΡΠ½ΠΈΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΠΈ Ρ.Π΄.
Π’Π°ΠΊΠΆΠ΅, ΠΏΠΎΠΊΠ° ΠΎΡΠ»Π°Π΄ΡΠΈΠΊ Firefox ΡΡΠΎΠΈΡ Π² Β«ΠΏΠ°ΡΠ·Π΅Β» Π² ΡΠΎΡΠΊΠ΅ ΠΎΡΡΠ°Π½ΠΎΠ²Π°, ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΠ»Π±Π°Ρ. ΠΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ Π½Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΎΡΠΌΠΎΡΡΠ΅ΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΡΠΊΡΠΈΠΏΡΠ° ΠΏΠΎΡΡΡΠΎΡΠ½ΠΎ.
ΠΠ΄ΠΎΠ±Π°Π²ΠΎΠΊ ΠΊΠΎ Π²ΡΠ΅ΠΌΡ, Π² Debugger Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°ΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π½ΠΈΡ. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ Π½ΡΠΆΠ½ΠΎ Π²ΡΠ΅Π³ΠΎ Π»ΠΈΡΡ Π²ΠΏΠΈΡΠ°ΡΡ Π½ΡΠΆΠ½ΠΎΠ΅ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Π² ΠΏΠ°Π½Π΅Π»ΠΈ Β«ΠΡΡΠ°ΠΆΠ΅Π½ΠΈΡ Π΄Π»Ρ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π½ΠΈΡΒ». ΠΡΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ, ΠΊΠΎΠ³Π΄Π° Π²Ρ Ρ ΠΎΡΠΈΡΠ΅:
- ΠΏΠΎΡΠ°Π³ΠΎΠ²ΠΎ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΠΊΠΎΠ΄ ΠΈ ΡΠ»Π΅Π΄ΠΈΡΡ Π·Π° ΡΠ΅ΠΌ, ΠΊΠ°ΠΊ ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅ΡΡΡ Π²ΡΠ±ΡΠ°Π½Π½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅;
- ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°ΡΡ ΠΎΠ΄ΠΈΠ½ Β«ΠΊΡΡΠΎΠΊΒ» ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ°Π·, ΡΡΠΎΠ±Ρ ΠΎΡΡΠ»Π΅Π΄ΠΈΡΡ ΠΎΠ±ΡΠ΅Π΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ;
- ΠΏΡΠΎΡΡΠΎ ΠΏΠΎΠ½ΡΡΡ, ΠΊΠ°ΠΊ ΡΠ°ΠΊ ΡΠ»ΡΡΠΈΠ»ΠΎΡΡ, ΡΡΠΎ Π½Π΅ ΡΡΠ½ΠΊΡΠΈΠΎΠ½ΠΈΡΡΠ΅Ρ Π²Π°ΡΠ° ΠΊΠ½ΠΎΠΏΠΊΠ°.
ΠΡΠ»Π°Π΄ΡΠΈΠΊ Π² Firefox ΡΠΏΠΎΡΠΎΠ±Π΅Π½ ΠΎΡΠ»Π°ΠΆΠΈΠ²Π°ΡΡ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ ΠΊΠΎΠ΄ JavaScript, Π½ΠΎ ΠΎΠ½ ΡΠ°ΠΊΠΆΠ΅ ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ ΠΎΡΠ»Π°Π΄ΠΈΡΡ ΠΊΠΎΠ΄ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π½Π½ΠΎΠ³ΠΎ Π½Π° React/Redux. Π ΡΠ΅Π»ΠΎΠΌ ΠΠ΅Π±Π°Π³Π³Π΅Ρ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΡΠΎΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡ ΠΈ ΠΎΡΠ»Π°ΠΆΠΈΠ²Π°ΡΡ ΡΠΏΡΡΠ°Π½Π½ΡΠΉ ΠΈ ΠΌΠΈΠ½ΠΈΡΠΈΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΠΊΠΎΠ΄ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, Π²ΡΠ·ΡΠ²Π°ΡΡΠΈΠΉ ΠΎΡΠΈΠ±ΠΊΡ. Π’ΠΎ Π΅ΡΡΡ ΡΠΈΠΏΠΈΡΠ½ΡΠΉ ΠΊΠΎΠ΄ ΠΌΠΎΠ»ΠΎΠ΄ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠΎΠ².
ΠΡΠ»Π°Π΄ΠΊΠ° JavaScript Π² Firefox, Π² ΡΠ°ΡΡΠ½ΠΎΡΡΠΈ ΡΠ°ΠΌ Debugger, Π½ΡΠΆΠ½ΠΎ ΠΈΠ·ΡΡΠ°ΡΡ, ΡΡΠΎΠ±Ρ ΠΈΠΌΠ΅ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ ΠΈΠΌ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Π° Firefox ΠΎΠΏΡΠ±Π»ΠΈΠΊΠΎΠ²Π°Π»Π° ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΡΠΉ ΡΠΏΠΈΡΠΎΠΊ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΉ, ΠΊΠ°ΠΊ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ Π·Π°ΠΏΡΡΡΠΈΡΡ ΠΈΡ ΠΎΡΠ»Π°Π΄ΡΠΈΠΊ Π½Π° ΡΠ²ΠΎΠ΅ΠΌ ΠΠ. ΠΡΠ΅, ΡΡΠΎ ΠΎΡΡΠ°Π΅ΡΡΡ, β ΡΡΠΎ Π½Π°ΠΉΡΠΈ ΠΈΡ ΡΡΡΠ°Π½ΠΈΡΡ Π½Π° GitHub ΠΈ ΠΈΠ·ΡΡΠΈΡΡ ΠΈΠΌΠ΅Π½Π½ΠΎ ΡΠΎΡ ΠΌΠΎΠΌΠ΅Π½Ρ ΠΎΡΠ»Π°Π΄ΠΊΠΈ, ΠΊΠΎΡΠΎΡΡΠΉ Π²Π°Ρ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΡΠ΅Ρ.
ΠΡΠ»Π°Π΄ΠΊΠ° Express
Π Express ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π²Π½ΡΡΡΠ΅Π½Π½ΠΈΠΉ ΠΌΠΎΠ΄ΡΠ»Ρ debug Π΄Π»Ρ ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΈ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΎ ΡΠΎΠΏΠΎΡΡΠ°Π²Π»Π΅Π½ΠΈΡΡ ΠΌΠ°ΡΡΡΡΡΠΎΠ², ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΡ ΡΡΠ½ΠΊΡΠΈΡΡ ΠΏΡΠΎΠΌΠ΅ΠΆΡΡΠΎΡΠ½ΠΎΠΉ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ, ΡΠ΅ΠΆΠΈΠΌΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΡΠΈΠΊΠ»Π° βΠ·Π°ΠΏΡΠΎΡ-ΠΎΡΠ²Π΅Ρβ.
debug
ΠΌΠΎΠΆΠ½ΠΎ ΡΡΠ°Π²Π½ΠΈΡΡ Ρ ΡΠ°ΡΡΠΈΡΠ΅Π½Π½ΠΎΠΉ Π²Π΅ΡΡΠΈΠ΅ΠΉ console.log
, Π½ΠΎ, Π² ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΠΎΡ console.log
, Π² ΡΠ°Π±ΠΎΡΠ΅ΠΌ ΠΊΠΎΠ΄Π΅ Π½Π΅ Π½ΡΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡ ΡΠΈΠΌΠ²ΠΎΠ»Ρ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΡ ΠΊ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π°ΠΌ debug
. ΠΠ΅Π΄Π΅Π½ΠΈΠ΅ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π° ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π²ΡΠΊΠ»ΡΡΠ΅Π½ΠΎ, Π½ΠΎ Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΡΠ»ΠΎΠ²Π½ΠΎ Π°ΠΊΡΠΈΠ²ΠΈΡΠΎΠ²Π°ΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠ΅Π΄Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ DEBUG
.
ΠΠ»Ρ ΠΏΡΠΎΡΠΌΠΎΡΡΠ° Π²ΡΠ΅Ρ
Π²Π½ΡΡΡΠ΅Π½Π½ΠΈΡ
ΠΏΡΠΎΡΠΎΠΊΠΎΠ»ΠΎΠ², ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΡ
Π² Express, ΠΏΡΠΈ Π·Π°ΠΏΡΡΠΊΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π·Π°Π΄Π°ΠΉΡΠ΅ Π΄Π»Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΡΡΠ΅Π΄Ρ DEBUG
Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ express:*
.
$ DEBUG=express:* node index.js
Π Windows ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ°Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π°.
> set DEBUG=express:* & node index.js
ΠΡΠΈ Π·Π°ΠΏΡΡΠΊΠ΅ ΡΡΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π² ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ, ΡΠΎΠ·Π΄Π°Π½Π½ΠΎΠΌ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΠ° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Express, Π±ΡΠ΄Π΅Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ Π²ΡΠ²ΠΎΠ΄:
$ DEBUG=express:* node ./bin/www
express:router:route new / +0ms
express:router:layer new / +1ms
express:router:route get / +1ms
express:router:layer new / +0ms
express:router:route new / +1ms
express:router:layer new / +0ms
express:router:route get / +0ms
express:router:layer new / +0ms
express:application compile etag weak +1ms
express:application compile query parser extended +0ms
express:application compile trust proxy false +0ms
express:application booting in development mode +1ms
express:router use / query +0ms
express:router:layer new / +0ms
express:router use / expressInit +0ms
express:router:layer new / +0ms
express:router use / favicon +1ms
express:router:layer new / +0ms
express:router use / logger +0ms
express:router:layer new / +0ms
express:router use / jsonParser +0ms
express:router:layer new / +1ms
express:router use / urlencodedParser +0ms
express:router:layer new / +0ms
express:router use / cookieParser +0ms
express:router:layer new / +0ms
express:router use / stylus +90ms
express:router:layer new / +0ms
express:router use / serveStatic +0ms
express:router:layer new / +0ms
express:router use / router +0ms
express:router:layer new / +1ms
express:router use /users router +0ms
express:router:layer new /users +0ms
express:router use / <anonymous> +0ms
express:router:layer new / +0ms
express:router use / <anonymous> +0ms
express:router:layer new / +0ms
express:router use / <anonymous> +0ms
express:router:layer new / +0ms
ΠΡΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ Π·Π°ΠΏΡΠΎΡΠ΅, Π°Π΄ΡΠ΅ΡΠΎΠ²Π°Π½Π½ΠΎΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, Π²Ρ ΡΠ²ΠΈΠ΄ΠΈΡΠ΅ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Ρ, Π·Π°Π΄Π°Π½Π½ΡΠ΅ Π² ΠΊΠΎΠ΄Π΅ Express:
express:router dispatching GET / +4h
express:router query : / +2ms
express:router expressInit : / +0ms
express:router favicon : / +0ms
express:router logger : / +1ms
express:router jsonParser : / +0ms
express:router urlencodedParser : / +1ms
express:router cookieParser : / +0ms
express:router stylus : / +0ms
express:router serveStatic : / +2ms
express:router router : / +2ms
express:router dispatching GET / +1ms
express:view lookup "index.pug" +338ms
express:view stat "/projects/example/views/index.pug" +0ms
express:view render "/projects/example/views/index.pug" +1ms
ΠΠ»Ρ ΠΏΡΠΎΡΠΌΠΎΡΡΠ° ΠΏΡΠΎΡΠΎΠΊΠΎΠ»ΠΎΠ² ΡΠΎΠ»ΡΠΊΠΎ ΠΈΠ· ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΌΠ°ΡΡΡΡΡΠΈΠ·Π°ΡΠΎΡΠ°, Π·Π°Π΄Π°ΠΉΡΠ΅ Π΄Π»Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ DEBUG
Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ express:router
. ΠΠ½Π°Π»Π³ΠΈΡΠ½ΡΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, Π΄Π»Ρ ΠΏΡΠΎΡΠΌΠΎΡΡΠ° ΠΏΡΠΎΡΠΎΠΊΠΎΠ»ΠΎΠ² ΡΠΎΠ»ΡΠΊΠΎ ΠΈΠ· ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, Π·Π°Π΄Π°ΠΉΡΠ΅ Π΄Π»Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ DEBUG
Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ express:application
ΠΈ Ρ.Π΄.
ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, Π³Π΅Π½Π΅ΡΠΈΡΡΠ΅ΠΌΡΠ΅ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ
express
ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, Π³Π΅Π½Π΅ΡΠΈΡΡΠ΅ΠΌΠΎΠ΅ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ express
, ΡΠ°ΠΊΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΠΌΠΎΠ΄ΡΠ»Ρ debug
, ΠΈ ΠΎΠ±Π»Π°ΡΡΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π° ΠΈΠΌΠ΅Π½ ΠΎΡΠ»Π°Π΄ΠΊΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΡΡΡ ΠΈΠΌΠ΅Π½Π΅ΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ.
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΅ΡΠ»ΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΡΠ³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°Π½ΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ $ express sample-app
, ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΡ ΠΎΡΠ»Π°Π΄ΠΊΠΈ (ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΡ debug) ΠΌΠΎΠΆΠ½ΠΎ Π°ΠΊΡΠΈΠ²ΠΈΡΠΎΠ²Π°ΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
$ DEBUG=sample-app:* node ./bin/www
ΠΠΎΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ² ΠΈΠΌΠ΅Π½ Π΄Π»Ρ ΠΎΡΠ»Π°Π΄ΠΊΠΈ, ΠΏΡΡΠ΅ΠΌ Π²Π²ΠΎΠ΄Π° ΡΠΏΠΈΡΠΊΠ° ΠΈΠΌΠ΅Π½ ΡΠ΅ΡΠ΅Π· Π·Π°ΠΏΡΡΡΡ:
$ DEBUG=http,mail,express:* node index.js
ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½Π°Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΠΌΠΎΠ΄ΡΠ»Π΅ debug
ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π° Π½Π° ΡΡΡΠ°Π½ΠΈΡΠ΅ debug.
ΠΡΠ»Π°Π΄ΠΊΠ° JavaScript β ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ Chrome
ΠΠ· ΡΡΠΎΠ³ΠΎ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²Π° Π²Ρ ΡΠ·Π½Π°Π΅ΡΠ΅, ΠΊΠ°ΠΊ ΠΎΡΠ»Π°Π΄ΠΈΡΡ Π»ΡΠ±ΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Ρ JavaScript Π² DevTools. ΠΡΠΎΡΡΠΈΡΠ΅ ΠΈΠ»ΠΈ ΠΏΠΎΡΠΌΠΎΡΡΠΈΡΠ΅ Π²ΠΈΠ΄Π΅ΠΎΠ²Π΅ΡΡΠΈΡ ΡΡΠΎΠ³ΠΎ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²Π° Π½ΠΈΠΆΠ΅.
Π¨Π°Π³ 1. ΠΠΎΡΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ #
ΠΠΎΠΈΡΠΊ ΡΠ΅ΡΠΈΠΈ Π΄Π΅ΠΉΡΡΠ²ΠΈΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ Π²ΠΎΡΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡ ΠΎΡΠΈΠ±ΠΊΡ, Π²ΡΠ΅Π³Π΄Π° ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΠ΅ΡΠ²ΡΠΌ ΡΠ°Π³ΠΎΠΌ ΠΊ ΠΎΡΠ»Π°Π΄ΠΊΠ΅.
Π©Π΅Π»ΠΊΠ½ΠΈΡΠ΅ ΠΡΠΊΡΡΡΡ Π΄Π΅ΠΌΠΎΠ½ΡΡΡΠ°ΡΠΈΡ . ΠΠ΅ΠΌΠΎ ΠΎΡΠΊΡΠΎΠ΅ΡΡΡ Π² Π½ΠΎΠ²ΠΎΠΉ Π²ΠΊΠ»Π°Π΄ΠΊΠ΅.
Open Demo
ΠΠ²Π΅Π΄ΠΈΡΠ΅
5
Π² ΡΠ΅ΠΊΡΡΠΎΠ²ΠΎΠ΅ ΠΏΠΎΠ»Π΅ Number 1 .ΠΠ²Π΅Π΄ΠΈΡΠ΅
1
Π² ΡΠ΅ΠΊΡΡΠΎΠ²ΠΎΠ΅ ΠΏΠΎΠ»Π΅ ΠΠΎΠΌΠ΅Ρ 2 .Π©Π΅Π»ΠΊΠ½ΠΈΡΠ΅ ΠΠΎΠ±Π°Π²ΠΈΡΡ Π½ΠΎΠΌΠ΅Ρ 1 ΠΈ Π½ΠΎΠΌΠ΅Ρ 2 . ΠΠ΅ΡΠΊΠ° ΠΏΠΎΠ΄ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ Π³Π»Π°ΡΠΈΡ:
5 + 1 = 51
. Π Π΅Π·ΡΠ»ΡΡΠ°Ρ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ6
. ΠΡΠΎ ΠΎΡΠΈΠ±ΠΊΠ°, ΠΊΠΎΡΠΎΡΡΡ Π²Ρ ΡΠΎΠ±ΠΈΡΠ°Π΅ΡΠ΅ΡΡ ΠΈΡΠΏΡΠ°Π²ΠΈΡΡ.Π ΠΈΡΡΠ½ΠΎΠΊ 1 . Π Π΅Π·ΡΠ»ΡΡΠ°Ρ 5 + 1 β 51. ΠΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΡΡ 6.
Π¨Π°Π³ 2. ΠΠ·Π½Π°ΠΊΠΎΠΌΡΡΠ΅ΡΡ Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠΌ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠΌ ΠΏΠ°Π½Π΅Π»ΠΈ Β«ΠΡΡΠΎΡΠ½ΠΈΠΊΠΈΒ» #
DevTools ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ² Π΄Π»Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ Π·Π°Π΄Π°Ρ, ΡΠ°ΠΊΠΈΡ ΠΊΠ°ΠΊ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ CSS, Π·Π°Π³ΡΡΠ·ΠΊΠ° ΡΡΡΠ°Π½ΠΈΡΡ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ. ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΠΈ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³ ΡΠ΅ΡΠ΅Π²ΡΡ Π·Π°ΠΏΡΠΎΡΠΎΠ².ΠΠ°Π½Π΅Π»Ρ Sources β ΡΡΠΎ ΡΠΎ ΠΌΠ΅ΡΡΠΎ, Π³Π΄Π΅ Π²Ρ ΠΎΡΠ»Π°ΠΆΠΈΠ²Π°Π΅ΡΠ΅ JavaScript.
ΠΡΠΊΡΠΎΠΉΡΠ΅ DevTools, Π½Π°ΠΆΠ°Π² Command + Option + I (Mac) ΠΈΠ»ΠΈ Control + Shift + I (Windows, Linux). ΠΡΠΎΡ ΡΡΠ»ΡΠΊ ΠΎΡΠΊΡΡΠ²Π°Π΅Ρ ΠΏΠ°Π½Π΅Π»Ρ ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ .
Π ΠΈΡΡΠ½ΠΎΠΊ 2 . ΠΠΎΠ½ΡΠΎΠ»Ρ ΠΠ°Π½Π΅Π»Ρ
Π©Π΅Π»ΠΊΠ½ΠΈΡΠ΅ Π²ΠΊΠ»Π°Π΄ΠΊΡ ΠΡΡΠΎΡΠ½ΠΈΠΊΠΈ .
Π ΠΈΡΡΠ½ΠΎΠΊ 3 . ΠΠ°Π½Π΅Π»Ρ Sources
ΠΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ΠΏΠ°Π½Π΅Π»ΠΈ Sources ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· 3 ΡΠ°ΡΡΠ΅ΠΉ:
Π ΠΈΡΡΠ½ΠΎΠΊ 4 .3 ΡΠ°ΡΡΠΈ ΠΏΠ°Π½Π΅Π»ΠΈ Sources UI
- ΠΠ°Π½Π΅Π»Ρ File Navigator . ΠΠ΄Π΅ΡΡ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½Ρ Π²ΡΠ΅ ΡΠ°ΠΉΠ»Ρ, Π·Π°ΠΏΡΠ°ΡΠΈΠ²Π°Π΅ΠΌΡΠ΅ ΡΡΡΠ°Π½ΠΈΡΠ΅ΠΉ.
- ΠΠ°Π½Π΅Π»Ρ ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ° ΠΊΠΎΠ΄Π° . ΠΠΎΡΠ»Π΅ Π²ΡΠ±ΠΎΡΠ° ΡΠ°ΠΉΠ»Π° Π½Π° ΠΏΠ°Π½Π΅Π»ΠΈ File Navigator ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ ΡΡΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π° ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅ΡΡΡ Π·Π΄Π΅ΡΡ.
- ΠΠ°Π½Π΅Π»Ρ ΠΡΠ»Π°Π΄ΠΊΠ° JavaScript . Π Π°Π·Π»ΠΈΡΠ½ΡΠ΅ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ Π΄Π»Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ JavaScript ΡΡΡΠ°Π½ΠΈΡΡ. ΠΡΠ»ΠΈ Π²Π°ΡΠ΅ ΠΎΠΊΠ½ΠΎ DevTools ΡΠΈΡΠΎΠΊΠΎΠ΅, ΡΡΠ° ΠΏΠ°Π½Π΅Π»Ρ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅ΡΡΡ ΡΠΏΡΠ°Π²Π° ΠΎΡ ΠΏΠ°Π½Π΅Π»ΠΈ ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ° ΠΊΠΎΠ΄Π° .
Π¨Π°Π³ 3. ΠΡΠΈΠΎΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π° Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠΎΡΠΊΠΈ ΠΎΡΡΠ°Π½ΠΎΠ²Π° #
Π Π°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½Π½ΡΠΉ ΠΌΠ΅ΡΠΎΠ΄ ΠΎΡΠ»Π°Π΄ΠΊΠΈ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠΉ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ β Π²ΡΡΠ°Π²ΠΈΡΡ Π² ΠΊΠΎΠ΄ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΎΠ² console.log ()
, ΡΡΠΎΠ±Ρ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΡΡΠ΅Π½Π°ΡΠΈΡ. Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ:
function updateLabel () {
var addend1 = getNumber1 ();
console.log ('Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅1:', Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅1);
var addend2 = getNumber2 ();
console.log ('Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅2:', Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅2);
var sum = addend1 + addend2;
ΠΊΠΎΠ½ΡΠΎΠ»Ρ.ΠΆΡΡΠ½Π°Π» ('ΡΡΠΌΠΌΠ°:', ΡΡΠΌΠΌΠ°);
label.textContent = addend1 + '+' + addend2 + '=' + ΡΡΠΌΠΌΠ°;
}
ΠΠ΅ΡΠΎΠ΄ console.log ()
ΠΌΠΎΠΆΠ΅Ρ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΡΠ°Π±ΠΎΡΡ, Π½ΠΎ ΡΠΎΡΠΊΠΈ ΠΎΡΡΠ°Π½ΠΎΠ²Π° , ΠΌΠΎΠ³ΡΡ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ Π΅Π΅ Π±ΡΡΡΡΠ΅Π΅. Π’ΠΎΡΠΊΠ° ΠΎΡΡΠ°Π½ΠΎΠ²Π° ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π²Π°ΠΌ ΠΏΡΠΈΠΎΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π²Π°Ρ ΠΊΠΎΠ΄ Π² ΡΠ΅ΡΠ΅Π΄ΠΈΠ½Π΅ Π΅Π³ΠΎ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΈ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ Π²ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π² ΡΡΠΎΡ ΠΌΠΎΠΌΠ΅Π½Ρ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ. Π’ΠΎΡΠΊΠΈ ΠΎΡΡΠ°Π½ΠΎΠ²Π° ΠΈΠΌΠ΅ΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ² ΠΏΠΎ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ Ρ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠΌ console.log ()
:
- ΠΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ
console.log ()
Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ Π²ΡΡΡΠ½ΡΡ ΠΎΡΠΊΡΡΡΡ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄, Π½Π°ΠΉΡΠΈ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠΉ ΠΊΠΎΠ΄, Π²ΡΡΠ°Π²ΠΈΡΡ ΠΊΠΎΠ½ΡΠΎΠ»Ρ.log ()
, Π° Π·Π°ΡΠ΅ΠΌ ΠΏΠ΅ΡΠ΅Π·Π°Π³ΡΡΠ·ΠΈΡΠ΅ ΡΡΡΠ°Π½ΠΈΡΡ, ΡΡΠΎΠ±Ρ ΡΠ²ΠΈΠ΄Π΅ΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ Π² ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ. Π‘ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠΎΡΠ΅ΠΊ ΠΎΡΡΠ°Π½ΠΎΠ²Π° Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΡΠΈΠΎΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅Π³ΠΎ ΠΊΠΎΠ΄Π°, Π΄Π°ΠΆΠ΅ Π½Π΅ Π·Π½Π°Ρ, ΠΊΠ°ΠΊ ΠΎΠ½ ΡΡΡΡΠΊΡΡΡΠΈΡΠΎΠ²Π°Π½. - Π ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ°Ρ
console.log ()
Π²Π°ΠΌ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΠ²Π½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ. Π‘ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠΎΡΠ΅ΠΊ ΠΎΡΡΠ°Π½ΠΎΠ²Π° DevTools ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ Π²Π°ΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π²ΡΠ΅Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ Π½Π° Π΄Π°Π½Π½ΡΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ. ΠΠ½ΠΎΠ³Π΄Π° Π½Π° Π²Π°Ρ ΠΊΠΎΠ΄ Π²Π»ΠΈΡΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅, ΠΎ ΠΊΠΎΡΠΎΡΡΡ Π²Ρ Π΄Π°ΠΆΠ΅ Π½Π΅ ΠΏΠΎΠ΄ΠΎΠ·ΡΠ΅Π²Π°Π΅ΡΠ΅.
ΠΠΎΡΠΎΡΠ΅ Π³ΠΎΠ²ΠΎΡΡ, ΡΠΎΡΠΊΠΈ ΠΎΡΡΠ°Π½ΠΎΠ²Π° ΠΌΠΎΠ³ΡΡ ΠΏΠΎΠΌΠΎΡΡ Π²Π°ΠΌ Π½Π°Ρ
ΠΎΠ΄ΠΈΡΡ ΠΈ ΠΈΡΠΏΡΠ°Π²Π»ΡΡΡ ΠΎΡΠΈΠ±ΠΊΠΈ Π±ΡΡΡΡΠ΅Π΅, ΡΠ΅ΠΌ ΠΊΠΎΠ½ΡΠΎΠ»Ρ .log ()
ΠΌΠ΅ΡΠΎΠ΄.
ΠΡΠ»ΠΈ Π²Ρ ΡΠ΄Π΅Π»Π°Π΅ΡΠ΅ ΡΠ°Π³ Π½Π°Π·Π°Π΄ ΠΈ ΠΏΠΎΠ΄ΡΠΌΠ°Π΅ΡΠ΅ ΠΎ ΡΠΎΠΌ, ΠΊΠ°ΠΊ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, Π²Ρ ΡΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ΄Π΅Π»Π°ΡΡ ΠΎΠ±ΠΎΡΠ½ΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΠΏΡΠ΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΡΡΠΎ Π½Π΅Π²Π΅ΡΠ½Π°Ρ ΡΡΠΌΠΌΠ° ( 5 + 1 = 51
) Π²ΡΡΠΈΡΠ»ΡΠ΅ΡΡΡ Π² ΠΏΡΠΎΡΠ»ΡΡΠΈΠ²Π°ΡΠ΅Π»Π΅ ΡΠΎΠ±ΡΡΠΈΠΉ click
, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠ²ΡΠ·Π°Π½ Ρ Add ΠΠΎΠΌΠ΅Ρ 1 ΠΈ Π½ΠΎΠΌΠ΅Ρ 2 ΠΊΠ½ΠΎΠΏΠΊΠΈ. Π‘Π»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ, Π²Ρ, Π²Π΅ΡΠΎΡΡΠ½ΠΎ, Π·Π°Ρ
ΠΎΡΠΈΡΠ΅ ΠΏΡΠΈΠΎΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΠΊΠΎΠ΄ ΠΏΡΠΈΠΌΠ΅ΡΠ½ΠΎ Π² ΡΠΎ Π²ΡΠ΅ΠΌΡ, ΠΊΠΎΠ³Π΄Π° click
Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΠΏΡΠΎΡΠ»ΡΡΠΈΠ²Π°ΡΠ΅Π»Ρ. Π’ΠΎΡΠΊΠΈ ΠΎΡΡΠ°Π½ΠΎΠ²Π° ΠΏΡΠΎΡΠ»ΡΡΠΈΠ²Π°ΡΠ΅Π»Ρ ΡΠΎΠ±ΡΡΠΈΠΉ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ ΡΠ΄Π΅Π»Π°ΡΡ ΠΈΠΌΠ΅Π½Π½ΠΎ ΡΡΠΎ:
ΠΠ° ΠΏΠ°Π½Π΅Π»ΠΈ ΠΡΠ»Π°Π΄ΠΊΠ° JavaScript ΡΠ΅Π»ΠΊΠ½ΠΈΡΠ΅ Π’ΠΎΡΠΊΠΈ ΠΎΡΡΠ°Π½ΠΎΠ²Π° ΠΏΡΠΎΡΠ»ΡΡΠΈΠ²Π°ΡΠ΅Π»Ρ ΡΠΎΠ±ΡΡΠΈΠΉ , ΡΡΠΎΠ±Ρ ΡΠ°Π·Π²Π΅ΡΠ½ΡΡΡ ΡΠ°Π·Π΄Π΅Π».DevTools ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΡΠΏΠΈΡΠΎΠΊ ΡΠ°ΡΡΠΈΡΡΠ΅ΠΌΡΡ ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΉ ΡΠΎΠ±ΡΡΠΈΠΉ, ΡΠ°ΠΊΠΈΡ ΠΊΠ°ΠΊ Animation ΠΈ Clipboard .
Π ΡΠ΄ΠΎΠΌ Ρ ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠ΅ΠΉ ΡΠΎΠ±ΡΡΠΈΠΉ ΠΡΡΡ ΡΠ΅Π»ΠΊΠ½ΠΈΡΠ΅ Π Π°Π·Π²Π΅ΡΠ½ΡΡΡ . DevTools ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΡΠΏΠΈΡΠΎΠΊ ΡΠΎΠ±ΡΡΠΈΠΉ ΠΌΡΡΠΈ, ΡΠ°ΠΊΠΈΡ ΠΊΠ°ΠΊ click ΠΈ mousedown . Π ΡΠ΄ΠΎΠΌ Ρ ΠΊΠ°ΠΆΠ΄ΡΠΌ ΡΠΎΠ±ΡΡΠΈΠ΅ΠΌ Π΅ΡΡΡ ΡΠ»Π°ΠΆΠΎΠΊ.
Π£ΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ ΡΠ»Π°ΠΆΠΎΠΊ ΡΠ΅Π»ΠΊΠ½ΠΈΡΠ΅ . DevTools ΡΠ΅ΠΏΠ΅ΡΡ Π½Π°ΡΡΡΠΎΠ΅Π½ Π½Π° Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΡΡ ΠΏΠ°ΡΠ·Ρ ΠΏΡΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ Π»ΡΠ±ΠΎΠ³ΠΎ
ΡΠ΅Π»ΡΠΊΠ°
ΠΏΡΠΎΡΠ»ΡΡΠΈΠ²Π°ΡΠ΅Π»Ρ ΡΠΎΠ±ΡΡΠΈΠΉ.Π ΠΈΡΡΠ½ΠΎΠΊ 5 . Π€Π»Π°ΠΆΠΎΠΊ ΡΠ΅Π»ΠΊΠ½ΠΈΡΠ΅ Π²ΠΊΠ»ΡΡΠ΅Π½
ΠΠ΅ΡΠ½ΡΠ²ΡΠΈΡΡ ΠΊ Π΄Π΅ΠΌΠΎΠ½ΡΡΡΠ°ΡΠΈΠΈ, ΡΠ½ΠΎΠ²Π° ΡΠ΅Π»ΠΊΠ½ΠΈΡΠ΅ ΠΠΎΠ±Π°Π²ΠΈΡΡ Π½ΠΎΠΌΠ΅Ρ 1 ΠΈ Π½ΠΎΠΌΠ΅Ρ 2 . DevTools ΠΏΡΠΈΠΎΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ Π΄Π΅ΠΌΠΎΠ½ΡΡΡΠ°ΡΠΈΡ ΠΈ Π²ΡΠ΄Π΅Π»ΡΠ΅Ρ ΡΡΡΠΎΠΊΡ ΠΊΠΎΠ΄Π° Π½Π° ΠΏΠ°Π½Π΅Π»ΠΈ Sources . DevTools ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΏΡΠΈΠΎΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π½Π° ΡΡΠΎΠΉ ΡΡΡΠΎΠΊΠ΅ ΠΊΠΎΠ΄Π°:
function onClick () {
ΠΡΠ»ΠΈ Π²Ρ ΠΎΡΡΠ°Π½ΠΎΠ²ΠΈΠ»ΠΈΡΡ Π½Π° Π΄ΡΡΠ³ΠΎΠΉ ΡΡΡΠΎΠΊΠ΅ ΠΊΠΎΠ΄Π°, Π½Π°ΠΆΠΈΠΌΠ°ΠΉΡΠ΅ ΠΠΎΠ·ΠΎΠ±Π½ΠΎΠ²ΠΈΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΡΡΠ΅Π½Π°ΡΠΈΡ , ΠΏΠΎΠΊΠ° Π½Π΅ ΠΎΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ΡΡ Π½Π° ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΠΉ ΡΡΡΠΎΠΊΠ΅.
ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅ : ΠΡΠ»ΠΈ Π²Ρ ΠΎΡΡΠ°Π½ΠΎΠ²ΠΈΠ»ΠΈΡΡ Π½Π° Π΄ΡΡΠ³ΠΎΠΉ ΡΡΡΠΎΠΊΠ΅, Ρ Π²Π°Ρ Π΅ΡΡΡ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ Π±ΡΠ°ΡΠ·Π΅ΡΠ°, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΡΠ΅Π³ΠΈΡΡΡΠΈΡΡΠ΅Ρ ΠΏΡΠΎΡΠ»ΡΡΠΈΠ²Π°ΡΠ΅Π»Ρ ΡΠΎΠ±ΡΡΠΈΠΉ
click
Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΡΡΡΠ°Π½ΠΈΡΠ΅, ΠΊΠΎΡΠΎΡΡΡ Π²Ρ ΠΏΠΎΡΠ΅ΡΠ°Π΅ΡΠ΅. ΠΡ Π±ΡΠ»ΠΈ ΠΏΡΠΈΠΎΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Ρ Π² ΠΏΡΠΎΡΠ»ΡΡΠΈΠ²Π°ΡΠ΅Π»Π΅click
ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ. ΠΡΠ»ΠΈ Π²Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ ΡΠ΅ΠΆΠΈΠΌ ΠΈΠ½ΠΊΠΎΠ³Π½ΠΈΡΠΎ Π΄Π»Ρ ΠΏΡΠΈΠ²Π°ΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΡΠΌΠΎΡΡΠ°, ΠΊΠΎΡΠΎΡΡΠΉ ΠΎΡΠΊΠ»ΡΡΠ°Π΅Ρ Π²ΡΠ΅ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²ΠΈΠ΄Π΅ΡΡ, ΡΡΠΎ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ°Π· ΠΎΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΡΠ΅ΡΡ Π½Π° ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΠΉ ΡΡΡΠΎΠΊΠ΅ ΠΊΠΎΠ΄Π°.
Π’ΠΎΡΠΊΠΈ ΠΎΡΡΠ°Π½ΠΎΠ²Π° ΠΏΡΠΎΡΠ»ΡΡΠΈΠ²Π°ΡΠ΅Π»Ρ ΡΠΎΠ±ΡΡΠΈΠΉ β ΡΡΠΎ Π»ΠΈΡΡ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΠΌΠ½ΠΎΠ³ΠΈΡ ΡΠΈΠΏΠΎΠ² ΡΠΎΡΠ΅ΠΊ ΠΎΡΡΠ°Π½ΠΎΠ²Π°, Π΄ΠΎΡΡΡΠΏΠ½ΡΡ Π² DevTools.Π‘ΡΠΎΠΈΡ Π·Π°ΠΏΠΎΠΌΠ½ΠΈΡΡ Π²ΡΠ΅ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ ΡΠΈΠΏΡ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠΈΠΏ Π² ΠΊΠΎΠ½Π΅ΡΠ½ΠΎΠΌ ΠΈΡΠΎΠ³Π΅ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ Π²Π°ΠΌ ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΡΡΡΠ΅Π΅ ΠΎΡΠ»Π°ΠΆΠΈΠ²Π°ΡΡ ΡΠ°Π·Π½ΡΠ΅ ΡΡΠ΅Π½Π°ΡΠΈΠΈ. Π‘ΠΌ. Π Π°Π·Π΄Π΅Π» ΠΡΠΈΠΎΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΠΊΠΎΠ΄Π° Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠΎΡΠ΅ΠΊ ΠΎΡΡΠ°Π½ΠΎΠ²Π°, ΡΡΠΎΠ±Ρ ΡΠ·Π½Π°ΡΡ, ΠΊΠΎΠ³Π΄Π° ΠΈ ΠΊΠ°ΠΊ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠΈΠΏ.
Π¨Π°Π³ 4. ΠΡΠΏΠΎΠ»Π½ΠΈΡΠ΅ ΠΊΠΎΠ΄ #
ΠΠ΄Π½Π° ΠΈΠ· ΡΠ°ΡΡΡΡ ΠΏΡΠΈΡΠΈΠ½ ΠΎΡΠΈΠ±ΠΎΠΊ β Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΡΡΠ΅Π½Π°ΡΠΈΡ Π² Π½Π΅ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΠΌ ΠΏΠΎΡΡΠ΄ΠΊΠ΅. ΠΠΎΡΠ°Π³ΠΎΠ²ΠΎΠ΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π° ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π²Π°ΠΌ ΠΏΡΠΎΠΉΡΠΈ ΡΠ΅ΡΠ΅Π· Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π°, ΠΏΠΎ ΠΎΠ΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠ΅ Π·Π° ΡΠ°Π·, ΠΈ ΡΠΎΡΠ½ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ, Π³Π΄Π΅ ΠΎΠ½ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ, Π² Π΄ΡΡΠ³ΠΎΠΌ ΠΏΠΎΡΡΠ΄ΠΊΠ΅, ΡΠ΅ΠΌ Π²Ρ ΠΎΠΆΠΈΠ΄Π°Π»ΠΈ.ΠΠΎΠΏΡΠΎΠ±ΡΠΉΡΠ΅ ΠΏΡΡΠΌΠΎ ΡΠ΅ΠΉΡΠ°Ρ:
ΠΠ° ΠΏΠ°Π½Π΅Π»ΠΈ Β«ΠΡΡΠΎΡΠ½ΠΈΠΊΠΈ Β» DevTools ΡΠ΅Π»ΠΊΠ½ΠΈΡΠ΅ ΠΠ΅ΡΠ΅ΠΉΡΠΈ ΠΊ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌΡ Π²ΡΠ·ΠΎΠ²Ρ ΡΡΠ½ΠΊΡΠΈΠΈ Π΄Π»Ρ ΠΏΠΎΡΠ°Π³ΠΎΠ²ΠΎΠ³ΠΎ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΈ
onClick ()
, ΠΏΠΎ ΠΎΠ΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠ΅ Π·Π° ΡΠ°Π·. DevTools Π²ΡΠ΄Π΅Π»ΡΠ΅Ρ ΡΠ»Π΅Π΄ΡΡΡΡΡ ΡΡΡΠΎΠΊΡ ΠΊΠΎΠ΄Π°:if (inputsAreEmpty ()) {
Π©Π΅Π»ΠΊΠ½ΠΈΡΠ΅ ΠΠ΅ΡΠ΅ΠΉΡΠΈ ΠΊ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌΡ Π²ΡΠ·ΠΎΠ²Ρ ΡΡΠ½ΠΊΡΠΈΠΈ . DevTools Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ
inputsAreEmpty ()
, Π½Π΅ Π·Π°Ρ ΠΎΠ΄Ρ Π² Π½Π΅Π³ΠΎ. ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΠΊΠ°ΠΊ DevTools ΠΏΡΠΎΠΏΡΡΠΊΠ°Π΅Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΡΡΠΎΠΊ ΠΊΠΎΠ΄Π°.ΠΡΠΎ ΡΠ²ΡΠ·Π°Π½ΠΎ Ρ ΡΠ΅ΠΌ, ΡΡΠΎinputsAreEmpty ()
ΠΈΠΌΠ΅Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ false, ΠΏΠΎΡΡΠΎΠΌΡ Π±Π»ΠΎΠΊ ΠΊΠΎΠ΄Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ°if
Π½Π΅ Π±ΡΠ» Π²ΡΠΏΠΎΠ»Π½Π΅Π½.
ΠΡΠΎ ΠΎΡΠ½ΠΎΠ²Π½Π°Ρ ΠΈΠ΄Π΅Ρ ΠΏΠΎΡΠ°Π³ΠΎΠ²ΠΎΠ³ΠΎ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΊΠΎΠ΄Π°. ΠΡΠ»ΠΈ Π²Ρ ΠΏΠΎΡΠΌΠΎΡΡΠΈΡΠ΅ Π½Π° ΠΊΠΎΠ΄ Π² get-start.js
, Π²Ρ ΡΠ²ΠΈΠ΄ΠΈΡΠ΅, ΡΡΠΎ ΠΎΡΠΈΠ±ΠΊΠ°, Π²Π΅ΡΠΎΡΡΠ½ΠΎ, Π½Π°Ρ
ΠΎΠ΄ΠΈΡΡΡ Π³Π΄Π΅-ΡΠΎ Π² ΡΡΠ½ΠΊΡΠΈΠΈ updateLabel ()
. ΠΠΌΠ΅ΡΡΠΎ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ ΠΏΡΠΎΡ
ΠΎΠ΄ΠΈΡΡ ΠΊΠ°ΠΆΠ΄ΡΡ ΡΡΡΠΎΠΊΡ ΠΊΠΎΠ΄Π°, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄ΡΡΠ³ΠΎΠΉ ΡΠΈΠΏ ΡΠΎΡΠΊΠΈ ΠΎΡΡΠ°Π½ΠΎΠ²Π°, ΡΡΠΎΠ±Ρ ΠΏΡΠΈΠΎΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΠΊΠΎΠ΄ Π±Π»ΠΈΠΆΠ΅ ΠΊ Π²Π΅ΡΠΎΡΡΠ½ΠΎΠΌΡ ΠΌΠ΅ΡΡΡ ΠΎΡΠΈΠ±ΠΊΠΈ.
Π¨Π°Π³ 5: Π£ΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ ΡΠΎΡΠΊΡ ΠΎΡΡΠ°Π½ΠΎΠ²Π° ΠΏΠΎ ΡΡΡΠΎΠΊΠ΅ ΠΊΠΎΠ΄Π° #
Π’ΠΎΡΠΊΠΈ ΠΎΡΡΠ°Π½ΠΎΠ²Π° ΠΏΠΎ ΡΡΡΠΎΠΊΠ΅ ΠΊΠΎΠ΄Π° ΡΠ²Π»ΡΡΡΡΡ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½Π½ΡΠΌ ΡΠΈΠΏΠΎΠΌ ΡΠΎΡΠΊΠΈ ΠΎΡΡΠ°Π½ΠΎΠ²Π°. ΠΠΎΠ³Π΄Π° Ρ Π²Π°Ρ Π΅ΡΡΡ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½Π°Ρ ΡΡΡΠΎΠΊΠ° ΠΊΠΎΠ΄Π°, ΠΊΠΎΡΠΎΡΡΡ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΠΏΡΠΈΠΎΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΡΠΎΡΠΊΡ ΠΎΡΡΠ°Π½ΠΎΠ²Π° Π½Π° ΡΡΡΠΎΠΊΡ ΠΊΠΎΠ΄Π°:
ΠΠΎΡΠΌΠΎΡΡΠΈΡΠ΅ Π½Π° ΠΏΠΎΡΠ»Π΅Π΄Π½ΡΡ ΡΡΡΠΎΠΊΡ ΠΊΠΎΠ΄Π° Π²
updateLabel ()
:label.textContent = addend1 + '+' + addend2 + '=' + ΡΡΠΌΠΌΠ°;
Π‘Π»Π΅Π²Π° ΠΎΡ ΠΊΠΎΠ΄Π° Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ²ΠΈΠ΄Π΅ΡΡ Π½ΠΎΠΌΠ΅Ρ ΡΡΡΠΎΠΊΠΈ ΡΡΠΎΠΉ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ ΠΊΠΎΠ΄Π°, ΡΠΎ Π΅ΡΡΡ 32 .Π©Π΅Π»ΠΊΠ½ΠΈΡΠ΅ 32 . DevTools ΠΏΠΎΠΌΠ΅ΡΠ°Π΅Ρ ΡΠΈΠ½ΠΈΠΉ Π·Π½Π°ΡΠΎΠΊ ΠΏΠΎΠ²Π΅ΡΡ 32 . ΠΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ Π½Π° ΡΡΠΎΠΉ ΡΡΡΠΎΠΊΠ΅ Π΅ΡΡΡ ΡΠΎΡΠΊΠ° ΠΎΡΡΠ°Π½ΠΎΠ²Π° Π½Π° ΡΡΡΠΎΠΊΠ΅ ΠΊΠΎΠ΄Π°. DevTools ΡΠ΅ΠΏΠ΅ΡΡ Π²ΡΠ΅Π³Π΄Π° ΠΏΡΠΈΠΎΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΡΡΡ ΠΏΠ΅ΡΠ΅Π΄ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ΠΌ ΡΡΠΎΠΉ ΡΡΡΠΎΠΊΠΈ ΠΊΠΎΠ΄Π°.
Π©Π΅Π»ΠΊΠ½ΠΈΡΠ΅ ΠΠΎΠ·ΠΎΠ±Π½ΠΎΠ²ΠΈΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΡΡΠ΅Π½Π°ΡΠΈΡ . Π‘ΡΠ΅Π½Π°ΡΠΈΠΉ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅, ΠΏΠΎΠΊΠ° Π½Π΅ Π΄ΠΎΡΡΠΈΠ³Π½Π΅Ρ ΡΡΡΠΎΠΊΠΈ 32. Π ΡΡΡΠΎΠΊΠ°Ρ 29, 30 ΠΈ 31 DevTools ΡΠ°ΡΠΏΠ΅ΡΠ°ΡΡΠ²Π°Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΡ
addend1
,addend2
ΠΈsum
ΡΠΏΡΠ°Π²Π° ΠΎΡ ΡΠΎΡΠΊΠΈ Ρ Π·Π°ΠΏΡΡΠΎΠΉ Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΡΡΡΠΎΠΊΠ΅.Π ΠΈΡΡΠ½ΠΎΠΊ 6 . DevTools Π΄Π΅Π»Π°Π΅Ρ ΠΏΠ°ΡΠ·Ρ Π½Π° ΡΠΎΡΠΊΠ΅ ΠΎΡΡΠ°Π½ΠΎΠ²Π° Π½Π° ΡΡΡΠΎΠΊΠ΅ ΠΊΠΎΠ΄Π° Π² ΡΡΡΠΎΠΊΠ΅ 32
Π¨Π°Π³ 6. ΠΡΠΎΠ²Π΅ΡΠΊΠ° Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ #
ΠΠ½Π°ΡΠ΅Π½ΠΈΡ addend1
, addend2
ΠΈ ΡΡΠΌΠΌΠ°
Π²ΡΠ³Π»ΡΠ΄ΡΡ ΠΏΠΎΠ΄ΠΎΠ·ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ. ΠΠ½ΠΈ Π·Π°ΠΊΠ»ΡΡΠ΅Π½Ρ Π² ΠΊΠ°Π²ΡΡΠΊΠΈ, ΡΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ ΡΡΠΎ ΡΡΡΠΎΠΊΠΈ. ΠΡΠΎ Ρ
ΠΎΡΠΎΡΠ°Ρ Π³ΠΈΠΏΠΎΡΠ΅Π·Π° Π΄Π»Ρ ΠΎΠ±ΡΡΡΠ½Π΅Π½ΠΈΡ ΠΏΡΠΈΡΠΈΠ½Ρ ΠΎΡΠΈΠ±ΠΊΠΈ. ΠΡΠΈΡΠ»ΠΎ Π²ΡΠ΅ΠΌΡ ΡΠΎΠ±ΡΠ°ΡΡ Π±ΠΎΠ»ΡΡΠ΅ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ. DevTools ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ² Π΄Π»Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ
.
ΠΠ΅ΡΠΎΠ΄ 1. ΠΠ°Π½Π΅Π»Ρ Β«ΠΠ±Π»Π°ΡΡΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΡΒ» #
ΠΠΎΠ³Π΄Π° Π²Ρ ΠΎΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΡΠ΅ΡΡ Π½Π° ΡΡΡΠΎΠΊΠ΅ ΠΊΠΎΠ΄Π°, ΠΏΠ°Π½Π΅Π»Ρ ΠΠ±Π»Π°ΡΡΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ, ΠΊΠ°ΠΊΠΈΠ΅ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠ΅ ΠΈ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Ρ Π² Π½Π°ΡΡΠΎΡΡΠ΅Π΅ Π²ΡΠ΅ΠΌΡ, Π° ΡΠ°ΠΊΠΆΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ.ΠΠ½ ΡΠ°ΠΊΠΆΠ΅ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ Π·Π°ΠΊΡΡΠ²Π°ΡΡΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅, Π΅ΡΠ»ΠΈ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΠΌΠΎ. ΠΠ²Π°ΠΆΠ΄Ρ ΡΠ΅Π»ΠΊΠ½ΠΈΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ, ΡΡΠΎΠ±Ρ ΠΎΡΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ Π΅Π³ΠΎ. ΠΠΎΠ³Π΄Π° Π²Ρ Π½Π΅ ΠΎΡΡΠ°Π½ΠΎΠ²ΠΈΠ»ΠΈΡΡ Π½Π° ΡΡΡΠΎΠΊΠ΅ ΠΊΠΎΠ΄Π°, ΠΏΠ°Π½Π΅Π»Ρ Scope ΠΏΡΡΡΠ°.
Π ΠΈΡΡΠ½ΠΎΠΊ 7 . ΠΠ±Π»Π°ΡΡΡ ΠΠ±Π»Π°ΡΡΡ
ΠΠ΅ΡΠΎΠ΄ 2: ΠΠ°Π±Π»ΡΠ΄Π°ΡΡ Π·Π° Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡΠΌΠΈ #
ΠΠΊΠ»Π°Π΄ΠΊΠ° ΠΠ°Π±Π»ΡΠ΄Π°ΡΡ Π·Π° Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡΠΌΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ Π²ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ. ΠΠ°ΠΊ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΈΠ· Π½Π°Π·Π²Π°Π½ΠΈΡ, Watch Expressions Π½Π΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΠ²Π°ΡΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΌΠΈ. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠΎΡ ΡΠ°Π½ΠΈΡΡ Π»ΡΠ±ΠΎΠ΅ Π΄ΠΎΠΏΡΡΡΠΈΠΌΠΎΠ΅ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ JavaScript Π² Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠΈ Watch Expression.ΠΠΎΠΏΡΠΎΠ±ΡΠΉΡΠ΅ ΠΏΡΡΠΌΠΎ ΡΠ΅ΠΉΡΠ°Ρ:
Π©Π΅Π»ΠΊΠ½ΠΈΡΠ΅ Π²ΠΊΠ»Π°Π΄ΠΊΡ Watch .
Π©Π΅Π»ΠΊΠ½ΠΈΡΠ΅ ΠΠΎΠ±Π°Π²ΠΈΡΡ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ .
Π’ΠΈΠΏ
Π’ΠΈΠΏ ΡΡΠΌΠΌΡ
.ΠΠ°ΠΆΠΌΠΈΡΠ΅ Enter. DevTools ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΡΡΠΌΠΌΡ ΡΠΈΠΏΠ°
: "ΡΡΡΠΎΠΊΠ°"
. ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠΏΡΠ°Π²Π° ΠΎΡ Π΄Π²ΠΎΠ΅ΡΠΎΡΠΈΡ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠΌ Π²Π°ΡΠ΅Π³ΠΎ Watch Expression.Π ΠΈΡΡΠ½ΠΎΠΊ 8 . ΠΠ°Π½Π΅Π»Ρ Watch Expression (Π²Π½ΠΈΠ·Ρ ΡΠΏΡΠ°Π²Π°) ΠΏΠΎΡΠ»Π΅ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΡΠΌΠΌΡ ΡΠΈΠΏΠ°
ΠΠ°ΠΊ ΠΈ ΠΏΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π»ΠΎΡΡ, ΡΡΠΌΠΌΠ°
ΠΎΡΠ΅Π½ΠΈΠ²Π°Π΅ΡΡΡ ΠΊΠ°ΠΊ ΡΡΡΠΎΠΊΠ°, ΡΠΎΠ³Π΄Π° ΠΊΠ°ΠΊ ΠΎΠ½Π° Π΄ΠΎΠ»ΠΆΠ½Π° Π±ΡΡΡ ΡΠΈΡΠ»ΠΎΠΌ. Π’Π΅ΠΏΠ΅ΡΡ Π²Ρ ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠ΄ΠΈΠ»ΠΈ, ΡΡΠΎ ΡΡΠΎ ΠΏΡΠΈΡΠΈΠ½Π° ΠΎΡΠΈΠ±ΠΊΠΈ.
ΠΠ΅ΡΠΎΠ΄ 3: ΠΠΎΠ½ΡΠΎΠ»Ρ #
ΠΠΎΠΌΠΈΠΌΠΎ ΠΏΡΠΎΡΠΌΠΎΡΡΠ° ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ console.log ()
, Π²Ρ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΊΠΎΠ½ΡΠΎΠ»Ρ Π΄Π»Ρ ΠΎΡΠ΅Π½ΠΊΠΈ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»ΡΠ½ΡΡ
ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΎΠ² JavaScript. Π§ΡΠΎ ΠΊΠ°ΡΠ°Π΅ΡΡΡ ΠΎΡΠ»Π°Π΄ΠΊΠΈ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΊΠΎΠ½ΡΠΎΠ»Ρ Π΄Π»Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΡ
ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠΉ ΠΎΡΠΈΠ±ΠΎΠΊ.ΠΠΎΠΏΡΠΎΠ±ΡΠΉΡΠ΅ ΡΠ΅ΠΉΡΠ°Ρ:
ΠΡΠ»ΠΈ Ρ Π²Π°Ρ Π½Π΅ ΠΎΡΠΊΡΡΡ ΡΡΠΈΠΊ ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ, Π½Π°ΠΆΠΌΠΈΡΠ΅ Escape, ΡΡΠΎΠ±Ρ ΠΎΡΠΊΡΡΡΡ Π΅Π³ΠΎ. ΠΠ½ ΠΎΡΠΊΡΡΠ²Π°Π΅ΡΡΡ Π² Π½ΠΈΠΆΠ½Π΅ΠΉ ΡΠ°ΡΡΠΈ ΠΎΠΊΠ½Π° DevTools.
Π ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ Π²Π²Π΅Π΄ΠΈΡΠ΅
parseInt (addend1) + parseInt (addend2)
. ΠΡΠΎΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ Π²Ρ ΠΏΡΠΈΠΎΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Ρ Π½Π° ΡΡΡΠΎΠΊΠ΅ ΠΊΠΎΠ΄Π°, Π² ΠΎΠ±Π»Π°ΡΡΠΈ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ ΠΊΠΎΡΠΎΡΠΎΠΉ Π½Π°Ρ ΠΎΠ΄ΡΡΡΡaddend1
ΠΈaddend2
.ΠΠ°ΠΆΠΌΠΈΡΠ΅ Enter. DevTools ΠΎΡΠ΅Π½ΠΈΠ²Π°Π΅Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ ΠΈ ΡΠ°ΡΠΏΠ΅ΡΠ°ΡΡΠ²Π°Π΅Ρ
6
, ΡΡΠΎ ΠΈ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠΌ, ΠΊΠΎΡΠΎΡΡΠΉ Π²Ρ ΠΎΠΆΠΈΠ΄Π°Π΅ΡΠ΅ ΠΎΡ Π΄Π΅ΠΌΠΎΠ½ΡΡΡΠ°ΡΠΈΠΈ.Π ΠΈΡΡΠ½ΠΎΠΊ 9 . ΠΠ°Π½Π΅Π»Ρ ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ ΠΏΠΎΡΠ»Π΅ ΠΎΡΠ΅Π½ΠΊΠΈ
parseInt (addend1) + parseInt (addend2)
.
Π¨Π°Π³ 7. ΠΡΠΈΠΌΠ΅Π½ΠΈΡΠ΅ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ #
ΠΡ Π½Π°ΡΠ»ΠΈ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π΄Π»Ρ ΠΎΡΠΈΠ±ΠΊΠΈ. ΠΡΡΠ°Π»ΠΎΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠΏΡΠΎΠ±ΠΎΠ²Π°ΡΡ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅, ΠΎΡΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°Π² ΠΊΠΎΠ΄ ΠΈ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎ Π·Π°ΠΏΡΡΡΠΈΠ² Π΄Π΅ΠΌΠΎΠ½ΡΡΡΠ°ΡΠΈΡ. ΠΠ°ΠΌ Π½Π΅ Π½ΡΠΆΠ½ΠΎ ΠΏΠΎΠΊΠΈΠ΄Π°ΡΡ DevTools, ΡΡΠΎΠ±Ρ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΡΡ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ ΠΊΠΎΠ΄ JavaScript ΠΏΡΡΠΌΠΎ Π² ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΎΠΌ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ΅ DevTools. ΠΠΎΠΏΡΠΎΠ±ΡΠΉΡΠ΅ ΡΠ΅ΠΉΡΠ°Ρ:
- Π©Π΅Π»ΠΊΠ½ΠΈΡΠ΅ ΠΠΎΠ·ΠΎΠ±Π½ΠΎΠ²ΠΈΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΡΡΠ΅Π½Π°ΡΠΈΡ .
- Π ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ΅ ΠΊΠΎΠ΄Π° Π·Π°ΠΌΠ΅Π½ΠΈΡΠ΅ ΡΡΡΠΎΠΊΡ 31,
var sum = addend1 + addend2
, Π½Π°var sum = parseInt (addend1) + parseInt (addend2)
. - ΠΠ°ΠΆΠΌΠΈΡΠ΅ Command + S (Mac) ΠΈΠ»ΠΈ Control + S (Windows, Linux), ΡΡΠΎΠ±Ρ ΡΠΎΡ ΡΠ°Π½ΠΈΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ.
- Π©Π΅Π»ΠΊΠ½ΠΈΡΠ΅ ΠΠ΅Π°ΠΊΡΠΈΠ²ΠΈΡΠΎΠ²Π°ΡΡ ΡΠΎΡΠΊΠΈ ΠΎΡΡΠ°Π½ΠΎΠ²Π° . ΠΠ½ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡΡ Π½Π° ΡΠΈΠ½ΠΈΠΉ, ΡΡΠΎΠ±Ρ ΡΠΊΠ°Π·Π°ΡΡ, ΡΡΠΎ ΠΎΠ½ Π°ΠΊΡΠΈΠ²Π΅Π½. ΠΠΎΠΊΠ° ΡΡΠΎ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΎ, DevTools ΠΈΠ³Π½ΠΎΡΠΈΡΡΠ΅Ρ Π»ΡΠ±ΡΠ΅ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΡΠ΅ Π²Π°ΠΌΠΈ ΡΠΎΡΠΊΠΈ ΠΎΡΡΠ°Π½ΠΎΠ²Π°.
- ΠΠΎΠΏΡΠΎΠ±ΡΠΉΡΠ΅ Π΄Π΅ΠΌΠΎ Ρ Π΄ΡΡΠ³ΠΈΠΌΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΡΠΌΠΈ. ΠΠ΅ΠΌΠΎ ΡΠ΅ΠΏΠ΅ΡΡ ΡΠ°ΡΡΡΠΈΡΡΠ²Π°Π΅Ρ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ.
ΠΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅: ΠΡΠΎΡ ΡΠ°Π±ΠΎΡΠΈΠΉ ΠΏΡΠΎΡΠ΅ΡΡ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅Ρ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΡΠΎΠ»ΡΠΊΠΎ ΠΊ ΠΊΠΎΠ΄Ρ, ΠΊΠΎΡΠΎΡΡΠΉ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ Π² Π²Π°ΡΠ΅ΠΌ Π±ΡΠ°ΡΠ·Π΅ΡΠ΅. ΠΡΠΎ Π½Π΅ ΠΈΡΠΏΡΠ°Π²ΠΈΡ ΠΊΠΎΠ΄ Π΄Π»Ρ Π²ΡΠ΅Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ, ΠΏΠΎΡΠ΅ΡΠ°ΡΡΠΈΡ Π²Π°ΡΡ ΡΡΡΠ°Π½ΠΈΡΡ.ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΠΈΡΠΏΡΠ°Π²ΠΈΡΡ ΠΊΠΎΠ΄, ΠΊΠΎΡΠΎΡΡΠΉ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π½Π° Π²Π°ΡΠΈΡ ΡΠ΅ΡΠ²Π΅ΡΠ°Ρ .
Π‘Π»Π΅Π΄ΡΡΡΠΈΠ΅ ΡΠ°Π³ΠΈ #
ΠΠΎΠ·Π΄ΡΠ°Π²Π»ΡΠ΅ΠΌ! Π’Π΅ΠΏΠ΅ΡΡ Π²Ρ Π·Π½Π°Π΅ΡΠ΅, ΠΊΠ°ΠΊ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Chrome DevTools ΠΏΡΠΈ ΠΎΡΠ»Π°Π΄ΠΊΠ΅ JavaScript. ΠΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ ΠΈ ΠΌΠ΅ΡΠΎΠ΄Ρ, ΠΊΠΎΡΠΎΡΡΠ΅ Π²Ρ ΠΈΠ·ΡΡΠΈΠ»ΠΈ Π² ΡΡΠΎΠΌ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²Π΅, ΠΌΠΎΠ³ΡΡ ΡΡΠΊΠΎΠ½ΠΎΠΌΠΈΡΡ Π²Π°ΠΌ Π±Π΅ΡΡΠΈΡΠ»Π΅Π½Π½ΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠ°ΡΠΎΠ².
Π ΡΡΠΎΠΌ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²Π΅ ΠΏΠΎΠΊΠ°Π·Π°Π½Ρ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π²Π° ΡΠΏΠΎΡΠΎΠ±Π° ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΡΠΎΡΠ΅ΠΊ ΠΎΡΡΠ°Π½ΠΎΠ²Π°. DevTools ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π΅Ρ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ Π΄ΡΡΠ³ΠΈΡ ΡΠΏΠΎΡΠΎΠ±ΠΎΠ², Π² ΡΠΎΠΌ ΡΠΈΡΠ»Π΅:
- Π£ΡΠ»ΠΎΠ²Π½ΡΠ΅ ΡΠΎΡΠΊΠΈ ΠΎΡΡΠ°Π½ΠΎΠ²Π°, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΡΠΎΠ³Π΄Π°, ΠΊΠΎΠ³Π΄Π° ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠ΅ Π²Π°ΠΌΠΈ ΡΡΠ»ΠΎΠ²ΠΈΠ΅ ΠΈΡΡΠΈΠ½Π½ΠΎ.
- Π’ΠΎΡΠΊΠΈ ΠΎΡΡΠ°Π½ΠΎΠ²Π° Π΄Π»Ρ ΠΏΠΎΠΉΠΌΠ°Π½Π½ΡΡ ΠΈΠ»ΠΈ Π½Π΅ΠΏΠ΅ΡΠ΅Ρ Π²Π°ΡΠ΅Π½Π½ΡΡ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ.
- Π’ΠΎΡΠΊΠΈ ΠΎΡΡΠ°Π½ΠΎΠ²Π° XHR, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ, ΠΊΠΎΠ³Π΄Π° Π·Π°ΠΏΡΠΎΡΠ΅Π½Π½ΡΠΉ URL ΡΠΎΠ²ΠΏΠ°Π΄Π°Π΅Ρ Ρ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»Π΅Π½Π½ΠΎΠΉ Π²Π°ΠΌΠΈ ΠΏΠΎΠ΄ΡΡΡΠΎΠΊΠΎΠΉ.
Π‘ΠΌ. Β«ΠΡΠΈΠΎΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ ΠΊΠΎΠ΄ Ρ ΡΠΎΡΠΊΠ°ΠΌΠΈ ΠΎΡΡΠ°Π½ΠΎΠ²Π°Β», ΡΡΠΎΠ±Ρ ΡΠ·Π½Π°ΡΡ, ΠΊΠΎΠ³Π΄Π° ΠΈ ΠΊΠ°ΠΊ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠΈΠΏ.
ΠΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΏΠΎΡΠ°Π³ΠΎΠ²ΡΠΌ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ΠΌ ΠΊΠΎΠ΄Π°, ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π΅ Π±ΡΠ»ΠΈ ΠΎΠ±ΡΡΡΠ½Π΅Π½Ρ Π² ΡΡΠΎΠΌ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²Π΅. ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΠ²Π΅Π΄Π΅Π½ΠΈΡ ΡΠΌ. Π ΡΠ°Π·Π΄Π΅Π»Π΅ Β«ΠΠ΅ΡΠ΅Ρ ΠΎΠ΄ ΡΠ΅ΡΠ΅Π· ΡΡΡΠΎΠΊΡ ΠΊΠΎΠ΄Π°Β».
ΠΠ°ΠΊ ΠΎΡΠ»Π°ΠΆΠΈΠ²Π°ΡΡ JavaScript ΠΊΠ°ΠΊ ΠΏΡΠΎΡΠ΅ΡΡΠΈΠΎΠ½Π°Π»
ΠΠ°ΠΊ ΠΎΡΠ»Π°ΠΆΠΈΠ²Π°ΡΡ JavaScript ΠΊΠ°ΠΊ ΠΏΡΠΎΡΠ΅ΡΡΠΈΠΎΠ½Π°Π» | ΠΠ΄ΠΈ ΠΈ ΡΠ΄Π΅Π»Π°ΠΉ Π²Π΅ΡΠΈ ΠΠ΄ΠΈ ΠΈ ΡΠ΄Π΅Π»Π°ΠΉ Π²Π΅ΡΠΈΠΠΎΠΉ ΠΏΡΠΎΡΠ΅ΡΡ ΠΎΡΠ»Π°Π΄ΠΊΠΈ Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΏΡΠΎΡΡ.ΠΡΠΎ Π²ΡΠ΅Π³ΠΎ Π»ΠΈΡΡ Π΄Π²Π° ΡΠ°Π³Π°, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΠ²ΡΠΎΡΡΡΡΡΡ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ.
- ΠΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΠ΅ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ ΡΠ°Π±ΠΎΡΠΈΠΉ ΡΡΠ°Π³ΠΌΠ΅Π½Ρ ΠΊΠΎΠ΄Π°. ΠΡΠ»ΠΈ Π² ΠΎΠΊΠ½Π΅ ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ ΠΎΠ±Π½Π°ΡΡΠΆΠ΅Π½Π° ΠΎΡΠΈΠ±ΠΊΠ°, ΠΎΠ½ ΡΠΎΠΎΠ±ΡΠΈΡ Π²Π°ΠΌ Π½ΠΎΠΌΠ΅Ρ ΡΡΡΠΎΠΊΠΈ ΠΊΠΎΠ΄Π°, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ Π²ΠΎΠ·Π½ΠΈΠΊΠ»Π° ΠΎΡΠΈΠ±ΠΊΠ°. ΠΠ°ΡΠ½ΠΈ ΡΠ°ΠΌ. ΠΡΠ»ΠΈ Π½Π΅Ρ, ΠΏΠ΅ΡΠ΅ΠΉΠ΄ΠΈΡΠ΅ ΠΊ ΡΠ°ΠΌΠΎΠΌΡ ΠΏΠ΅ΡΠ²ΠΎΠΌΡ Π·Π°ΠΏΡΡΠΊΠ°Π΅ΠΌΠΎΠΌΡ ΡΡΠ°Π³ΠΌΠ΅Π½ΡΡ ΠΊΠΎΠ΄Π° Π² Π²Π°ΡΠ΅ΠΌ ΡΠΊΡΠΈΠΏΡΠ΅.
- ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅
console.log ()
Π΄Π»Ρ ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΈ Π²ΡΠ΅ΠΉ ΡΠ²ΠΎΠ΅ΠΉ ΡΠ°Π±ΠΎΡΡ Π² ΠΎΠΊΠ½Π΅ ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ. ΠΡΠ»ΠΈ Π²Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ Π·Π°Ρ Π²Π°Ρ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° Π² DOM Ρ ΠΏΠΎΠΌΠΎΡΡΡ querySelector, Π·Π°ΡΠ΅Π³ΠΈΡΡΡΠΈΡΡΠΉΡΠ΅ Π΅Π³ΠΎ ΠΈ ΡΠ±Π΅Π΄ΠΈΡΠ΅ΡΡ, ΡΡΠΎ Π²Ρ Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΏΠΎΠ»ΡΡΠ°Π΅ΡΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½Ρ.ΠΡΠΎΠ΄ΠΎΠ»ΠΆΠ°ΠΉΡΠ΅ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ ΠΊΠΎΠ΄ΠΎΠΌ, ΠΏΠΎΠΊΠ° Π½Π΅ Π½Π°ΠΉΠ΄Π΅ΡΠ΅ ΡΠΎ, ΡΡΠΎ Π²Π΅Π΄Π΅Ρ ΡΠ΅Π±Ρ Π½Π΅ ΡΠ°ΠΊ, ΠΊΠ°ΠΊ Π²Ρ ΠΎΠΆΠΈΠ΄Π°Π»ΠΈ.
Π― Π±ΡΠ» ΠΎΡΠ΅Π½Ρ ΡΠ°Π΄, ΠΊΠΎΠ³Π΄Π° Π½Π° ΡΡΠΎΠΉ Π½Π΅Π΄Π΅Π»Π΅ Π‘ΡΠΈΠ² ΠΡΠΈΡΡΠΈΡ Π²ΡΠΏΡΡΡΠΈΠ» Π²ΠΈΠ΄Π΅ΠΎ ΠΎΠ± ΠΎΡΠ»Π°Π΄ΠΊΠ΅ Π·Π° ΠΏΡΠ΅Π΄Π΅Π»Π°ΠΌΠΈ console.log ()
.
Π Π±ΡΠ΄ΡΡΠ΅ΠΌ Ρ Π½Π°ΠΏΠΈΡΡ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΡΠΎΠ²Π΅ΡΠΎΠ² Π² Π΅Π³ΠΎ Π²ΠΈΠ΄Π΅ΠΎ, Π° ΠΏΠΎΠΊΠ° ΠΏΠΎΡΠΌΠΎΡΡΠΈΡΠ΅ Π΅Π³ΠΎ ΠΏΠΎΡΡΡΡΠ°ΡΡΠ΅Π΅ Π²ΠΈΠ΄Π΅ΠΎ, Π΅ΡΠ»ΠΈ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΡΠ·Π½Π°ΡΡ, ΠΊΠ°ΠΊ ΠΎΡΠ»Π°ΠΆΠΈΠ²Π°ΡΡ Π±ΠΎΠ»Π΅Π΅ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎ. Π― ΡΠ·Π½Π°Π» ΡΠΎΠ½Π½Ρ!
π ΠΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ ΡΠ°Π½Ρ ΠΏΡΠΈΡΠΎΠ΅Π΄ΠΈΠ½ΠΈΡΡΡΡ! ΠΠΎΠ²Π°Ρ ΡΠ΅ΡΡΠΈΡ Vanilla JS Academy ΡΠΎΠ»ΡΠΊΠΎ Π½Π°ΡΠ°Π»Π°ΡΡ, Π½ΠΎ Π΅ΡΠ΅ Π½Π΅ ΠΏΠΎΠ·Π΄Π½ΠΎ ΠΏΡΠΈΡΠΎΠ΅Π΄ΠΈΠ½ΠΈΡΡΡΡ.ΠΠ°ΡΠ΅Π³ΠΈΡΡΡΠΈΡΡΠΉΡΠ΅ΡΡ ΡΠ΅Π³ΠΎΠ΄Π½Ρ ΠΈ ΡΡΠΊΠΎΠ½ΠΎΠΌΡΡΠ΅ 25%. Π©Π΅Π»ΠΊΠ½ΠΈΡΠ΅ Π·Π΄Π΅ΡΡ, ΡΡΠΎΠ±Ρ ΠΏΡΠΈΡΠΎΠ΅Π΄ΠΈΠ½ΠΈΡΡΡΡ.
ΠΠΎΠ½ΡΠ°Π²ΠΈΠ»ΠΎΡΡ? Π― ΠΎΡΠΏΡΠ°Π²Π»ΡΡ ΠΊΠΎΡΠΎΡΠΊΠΈΠ΅ ΡΠ»Π΅ΠΊΡΡΠΎΠ½Π½ΡΠ΅ ΠΏΠΈΡΡΠΌΠ° ΠΊΠ°ΠΆΠ΄ΡΠΉ Π±ΡΠ΄Π½ΠΈΠΉ Π΄Π΅Π½Ρ Ρ ΡΡΠ°Π³ΠΌΠ΅Π½ΡΠ°ΠΌΠΈ ΠΊΠΎΠ΄Π°, ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°ΠΌΠΈ, ΠΌΠ΅ΡΠΎΠ΄Π°ΠΌΠΈ ΠΈ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΡΠΌΠΈ Π²Π΅ΡΠ°ΠΌΠΈ ΡΠΎ Π²ΡΠ΅Π³ΠΎ ΠΠ½ΡΠ΅ΡΠ½Π΅ΡΠ°. ΠΡΠΈΡΠΎΠ΅Π΄ΠΈΠ½ΡΠΉΡΠ΅ΡΡ ΠΊ 12 100+ Π΅ΠΆΠ΅Π΄Π½Π΅Π²Π½ΡΠΌ ΠΏΠΎΠ΄ΠΏΠΈΡΡΠΈΠΊΠ°ΠΌ.
Π‘Π΄Π΅Π»Π°Π½ΠΎ Ρ β€οΈ Π² ΠΠ°ΡΡΠ°ΡΡΡΠ΅ΡΡΠ΅. ΠΡΠ»ΠΈ Π½Π΅ ΡΠΊΠ°Π·Π°Π½ΠΎ ΠΈΠ½ΠΎΠ΅, Π²Π΅ΡΡ ΠΊΠΎΠ΄ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π±Π΅ΡΠΏΠ»Π°ΡΠ½ΠΎ Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠΈ Ρ ΠΠΈΡΠ΅Π½Π·ΠΈΠ΅ΠΉ MIT. Π― ΡΠ°ΠΊΠΆΠ΅ ΠΎΡΠ΅Π½Ρ Π½Π΅ΡΠ΅Π³ΡΠ»ΡΡΠ½ΠΎ Π΄Π΅Π»ΡΡΡ ΠΌΡΡΠ»ΡΠΌΠΈ, Π½Π΅ ΡΠ²ΡΠ·Π°Π½Π½ΡΠΌΠΈ Ρ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ.
VS Code ΠΏΠΎΠ»ΡΡΠ°Π΅Ρ Π½ΠΎΠ²ΡΠΉ ΠΎΡΠ»Π°Π΄ΡΠΈΠΊ JavaScript β ADTmag
ΠΠΎΠ²ΠΎΡΡΠΈ
VS Code ΠΏΠΎΠ»ΡΡΠ°Π΅Ρ Π½ΠΎΠ²ΡΠΉ ΠΎΡΠ»Π°Π΄ΡΠΈΠΊ JavaScript
ΠΠΆΠ΅ΠΌΠ΅ΡΡΡΠ½ΠΎΠ΅ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ Microsoft Π΄Π»Ρ ΡΠ²ΠΎΠ΅Π³ΠΎ ΡΡΠ΅Π·Π²ΡΡΠ°ΠΉΠ½ΠΎ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΠΎΠ³ΠΎ ΠΊΡΠΎΡΡΠΏΠ»Π°ΡΡΠΎΡΠΌΠ΅Π½Π½ΠΎΠ³ΠΎ ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ° ΠΊΠΎΠ΄Π° Visual Studio Ρ ΠΎΡΠΊΡΡΡΡΠΌ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΌ ΠΊΠΎΠ΄ΠΎΠΌ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ Π½ΠΎΠ²ΡΠΉ ΠΎΡΠ»Π°Π΄ΡΠΈΠΊ JavaScript.
Π Π°Π±ΠΎΡΠ°Ρ Ρ Node.js ΠΈ Chrome, ΠΎΡΠ»Π°Π΄ΡΠΈΠΊ, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠ°Π±ΠΎΡΠ°Π» Π² ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΠΌΠ΅ΡΡΡΠ΅Π², ΡΠ΅ΠΏΠ΅ΡΡ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΠΏΡΠΈΠ΅ΠΉ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π² ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΈ Π·Π° ΠΈΡΠ½Ρ 2020 Π³ΠΎΠ΄Π° ΠΈΠ»ΠΈ VS Code 1.47.
Π€ΡΠ½ΠΊΡΠΈΠΈ ΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΎΡΠ»Π°Π΄ΡΠΈΠΊΠ°, ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½Π½ΡΠ΅ Π½Π° Π΅Π³ΠΎ ΡΠ°ΠΉΡΠ΅ GitHub, Π²ΠΊΠ»ΡΡΠ°ΡΡ:
- ΠΡΠ»Π°Π΄ΠΊΠ° Π΄ΠΎΡΠ΅ΡΠ½Π΅Π³ΠΎ ΠΏΡΠΎΡΠ΅ΡΡΠ° ΠΈ ΡΠ°Π±ΠΎΡΠΈΡ
- ΠΡΠ»Π°Π΄ΠΊΠ° ΠΏΡΠΎΡΠ΅ΡΡΠΎΠ² Node.js Π² ΡΠ΅ΡΠΌΠΈΠ½Π°Π»Π΅
- ΠΠΏΠΎΡΠ° ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ
- ΠΡΠΎΡΡΠ°Ρ ΠΎΡΠ»Π°Π΄ΠΊΠ° ΡΠΊΡΠΈΠΏΡΠΎΠ² npm
- ΠΠ²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠ°Ρ ΠΎΡΠ»Π°Π΄ΠΊΠ° Π±ΡΠ°ΡΠ·Π΅ΡΠ°
- ΠΠΎΠ½ΡΡΠΎΠ»ΡΠ½ΡΠ΅ ΡΠΎΡΠΊΠΈ Π΄Π»Ρ ΠΠΠ
- ΠΡΡΡΠ΅Π΅ Π°Π²ΡΠΎΠ·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π² ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ ΠΎΡΠ»Π°Π΄ΠΊΠΈ
- ΠΠ΅ΡΠ΅Ρ Π²Π°Ρ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΠΎΠ³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ
- ΠΠΆΠΈΠ΄Π°Π½ΠΈΠ΅ Π²Π΅ΡΡ Π½Π΅Π³ΠΎ ΡΡΠΎΠ²Π½Ρ
- ΠΠΈΠ½ΠΈΡΠΈΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠΈ Ρ ΠΊΡΠ°ΡΠΈΠ²ΡΠΌ ΡΡΠΈΡΡΠΎΠΌ
- ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Microsoft Edge ΠΈ WebView2
- ΠΡΡΡΠ΅Π΅ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΊΠ°ΡΡΡ ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠΎΠ² ΠΈ ΡΠΎΡΠΊΠΈ ΠΎΡΡΠ°Π½ΠΎΠ²Π°
- ΠΠΎΠΏΠΈΡΠΎΠ²Π°ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π² ΡΡΠ΅ΠΊΠ΅ Π²ΡΠ·ΠΎΠ²ΠΎΠ²
ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ Π½Π° ΡΡΠΎΠΉ Π½Π΅Π΄Π΅Π»Π΅, ΠΎΠ±ΡΡΠ²Π»ΡΡΡΠ΅Π΅ VS Code 1.47 ΡΠΏΠΈΡΠΊΠΎΠ²:
- ΠΡΠ»Π°Π΄ΠΊΠ° ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π°: ΠΡΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΡ, ΠΏΡΠΈΡΡΡΡΡΠ²ΡΡΡΡΡ Π² Π΄ΡΡΠ³ΠΈΡ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡΡ ΠΎΡΠ»Π°Π΄ΠΊΠΈ, Ρ Π½ΠΎΠ²ΡΠΌΠΈ Π·Π½Π°ΡΠΊΠ°ΠΌΠΈ Π² ΠΎΠ±Π»Π°ΡΡΠΈ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ°, ΡΠΊΠ°Π·ΡΠ²Π°ΡΡΠΈΠΌΠΈ, ΡΡΠΎ ΠΎΡΠ»Π°Π΄ΠΊΡ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΡΡΡΠΈΡΡ Π½Π°ΠΆΠ°ΡΠΈΠ΅ΠΌ ΠΊΠ½ΠΎΠΏΠΊΠΈ. [Π©Π΅Π»ΠΊΠ½ΠΈΡΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅, ΡΡΠΎΠ±Ρ ΡΠ²Π΅Π»ΠΈΡΠΈΡΡ.] ΠΡΠ»ΠΈ ΠΎΠ΄ΠΈΠ½ ΠΈΠ»ΠΈ ΠΎΠ±Π° ΡΡΠΈΡ Π·Π½Π°ΡΠΊΠ° ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡΡΡ Π² Π»Π΅Π²ΠΎΠΉ ΡΠ°ΡΡΠΈ ΠΎΠ±Π»Π°ΡΡΠΈ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ° ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ°, ΡΠΎ Π·Π°ΠΏΡΡΠΊ ΠΈΠ»ΠΈ ΠΎΡΠ»Π°Π΄ΠΊΠ° ΡΠ°ΠΉΠ»Π° Π² ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ΅ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΠΎΠ΄Π½ΠΈΠΌ ΡΠ΅Π»ΡΠΊΠΎΠΌ ΠΌΡΡΠΈ. (ΠΈΡΡΠΎΡΠ½ΠΈΠΊ: Microsoft).
- ΠΠ΅Π½Π΅Π΅ Π·Π°Π³ΡΠΎΠΌΠΎΠΆΠ΄Π΅Π½Π½ΡΠΉ Π²ΠΈΠ΄ CALL STACK: ΠΡΠΎ Π΄ΠΎΡΡΠΈΠ³Π°Π΅ΡΡΡ Π·Π° ΡΡΠ΅Ρ ΡΠΎΠΊΡΡΡΠΈΡ ΡΠ·Π»ΠΎΠ² ΡΠ΅Π°Π½ΡΠ° ΠΎΡΠ»Π°Π΄ΠΊΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΡΡΠ΅ΡΡΠ²ΡΡΡ ΠΏΠΎ ΡΠ΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠΈΠΌ ΠΏΡΠΈΡΠΈΠ½Π°ΠΌ, Π½ΠΎ Π½Π΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡ Π±ΠΎΠ»ΡΡΠΎΠΉ ΡΠ΅Π½Π½ΠΎΡΡΠΈ Π΄Π»Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ.
- ΠΠΎΠ²ΡΠΉ ΠΏΡΠ΅Π²Π΄ΠΎΠ½ΠΈΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Set Next Statement Π΄Π»Ρ Jump to Cursor: Π§ΡΠΎΠ±Ρ ΡΠ΄Π΅Π»Π°ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Jump to Cursor Π±ΠΎΠ»Π΅Π΅ Π΄ΠΎΡΡΡΠΏΠ½ΠΎΠΉ Π΄Π»Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ ΠΈΠ· Visual Studio, ΠΊΠΎΠΌΠ°Π½Π΄Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ² Π΄ΠΎΠ±Π°Π²ΠΈΠ»Π° ΠΏΡΠ΅Π²Π΄ΠΎΠ½ΠΈΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Set Next Statement.
- ΠΡΡΡ ΠΊ ΡΠΎΡΠΊΠ΅ ΠΎΡΡΠ°Π½ΠΎΠ²Π° ΠΏΡΠΈ Π½Π°Π²Π΅Π΄Π΅Π½ΠΈΠΈ: Π ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠΈ BREAKPOINTS ΠΏΡΠΈ Π½Π°Π²Π΅Π΄Π΅Π½ΠΈΠΈ ΠΊΡΡΡΠΎΡΠ° Π½Π° ΠΈΡΡ ΠΎΠ΄Π½ΡΡ ΡΠΎΡΠΊΡ ΠΎΡΡΠ°Π½ΠΎΠ²Π° ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅ΡΡΡ Π΅Π΅ Π°Π±ΡΠΎΠ»ΡΡΠ½ΡΠΉ ΠΏΡΡΡ.
ΠΠΎΠΌΠΈΠΌΠΎ Π²ΡΠ΅Π³ΠΎ ΡΡΠΎΠ³ΠΎ ΡΠΎΠ²Π΅ΡΡΠ΅Π½ΡΡΠ²Π° ΠΎΡΠ»Π°Π΄ΠΊΠΈ JavaScript, Π²ΡΠΏΡΡΠΊ VS Code Π·Π° ΠΈΡΠ½Ρ 2020 Π³ΠΎΠ΄Π° Π²ΠΊΠ»ΡΡΠ°Π΅Ρ:
ΠΡΠ΅ Π²ΡΡΠ΅ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½Π½ΠΎΠ΅ ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠ΅ Π΄ΡΡΠ³ΠΎΠ΅ Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΎ Π² Π°Π½ΠΎΠ½ΡΠ΅.
ΠΠ± Π°Π²ΡΠΎΡΠ΅
ΠΡΠ²ΠΈΠ΄ Π Π°ΠΌΠ΅Π» β ΡΠ΅Π΄Π°ΠΊΡΠΎΡ ΠΈ ΠΏΠΈΡΠ°ΡΠ΅Π»Ρ Converge360.
ΠΡΠ»Π°Π΄ΠΊΠ° JavaScript Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π½Π°ΡΡΠΎΡΡΠ΅Π³ΠΎ ΠΎΡΠ»Π°Π΄ΡΠΈΠΊΠ°, ΠΎ ΠΊΠΎΡΠΎΡΠΎΠΌ Π²Ρ ΡΠΆΠ΅ Π½Π΅ Π·Π½Π°Π»ΠΈ β Smashing Magazine
ΠΠ± Π°Π²ΡΠΎΡΠ΅
ΠΠ°ΡΡΠΈΠ½ ΠΡΠ°ΠΉΠ²Π΅Ρ β ΠΎΠΏΡΡΠ½ΡΠΉ ΠΈ ΡΠΎΠ»ΠΈΠ΄Π½ΡΠΉ ΠΆΡΡΠ½Π°Π»ΠΈΡΡ ΠΈ ΡΠ΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΏΠΈΡΠ°ΡΠ΅Π»Ρ, ΠΊΠΎΡΠΎΡΡΠΉ Π½Π°Π±ΡΠ°Π» Π·ΡΠ±Ρ Π² Π³Π°Π·Π΅ΡΠ½ΠΎΠΌ Π±ΠΈΠ·Π½Π΅ΡΠ΅ ΠΈ Π² ΠΈΠ³ΡΠ°Ρ ΠΏΠΎ Π²Π΅Π±-Π΄ΠΈΠ·Π°ΠΉΠ½Ρ ΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅ .Π Π½Π°ΡΡΠΎΡΡΠ΅Π΅ Π²ΡΠ΅ΠΌΡ ΠΎΠ½β¦ ΠΠΎΠ»ΡΡΠ΅ ΠΎ ΠΠ°ΡΡΠΈΠ½ ΠΡΠ°ΠΉΠ²Π΅Ρ β¬
JavaScript Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌ Π΄Π»Ρ Π»ΡΠ±ΠΎΠ³ΠΎ ΠΏΡΠΎΠ΄Π²ΠΈΠ½ΡΡΠΎΠ³ΠΎ Π²Π΅Π±-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΠΏΠΎΡΡΠΎΠΌΡ Π½Π°Π΄Π΅ΠΆΠ½ΡΠΉ ΠΎΡΠ»Π°Π΄ΡΠΈΠΊ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΊΠ»ΡΡΠ΅Π²ΠΎΠΉ ΡΠ°ΡΡΡΡ Π½Π°Π±ΠΎΡΠ° ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ². Π ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ Π²Ρ ΡΠ·Π½Π°Π΅ΡΠ΅, ΠΊΠ°ΠΊ Π½ΠΎΠ²ΡΠΉ ΠΎΡΠ»Π°Π΄ΡΠΈΠΊ Firefox JavaScript ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠΌΠΎΡΡ Π²Π°ΠΌ ΠΏΠΈΡΠ°ΡΡ Π±ΡΡΡΡΡΠΉ ΠΊΠΎΠ΄ Π±Π΅Π· ΠΎΡΠΈΠ±ΠΎΠΊ.
console.log
ΠΌΠΎΠΆΠ΅Ρ ΠΌΠ½ΠΎΠ³ΠΎΠ΅ ΡΠ°ΡΡΠΊΠ°Π·Π°ΡΡ ΠΎ Π²Π°ΡΠ΅ΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ, Π½ΠΎ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎ-Π½Π°ΡΡΠΎΡΡΠ΅ΠΌΡ ΠΎΡΠ»Π°Π΄ΠΈΡΡ Π²Π°Ρ ΠΊΠΎΠ΄. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ Π²Π°ΠΌ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡΡΡ ΠΏΠΎΠ»Π½ΠΎΡΠ΅Π½Π½ΡΠΉ ΠΎΡΠ»Π°Π΄ΡΠΈΠΊ JavaScript. ΠΠΎΠ²ΡΠΉ ΠΎΡΠ»Π°Π΄ΡΠΈΠΊ JavaScript Π² Firefox ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ Π²Π°ΠΌ ΠΏΠΈΡΠ°ΡΡ Π±ΡΡΡΡΡΠΉ ΠΊΠΎΠ΄ Π±Π΅Π· ΠΎΡΠΈΠ±ΠΎΠΊ.ΠΠΎΡ ΠΊΠ°ΠΊ ΡΡΠΎ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ.
Π ΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΌΡ ΠΎΡΠΊΡΠΎΠ΅ΠΌ ΠΎΡΠ΅Π½Ρ ΠΏΡΠΎΡΡΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΎΡΠ»Π°Π΄ΡΠΈΠΊΠ°. ΠΠΎΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΠΎΡΠ½ΠΎΠ²Π°Π½Π½ΠΎΠ΅ Π½Π° Π±Π°Π·ΠΎΠ²ΡΡ
ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠ°Ρ
JavaScript Ρ ΠΎΡΠΊΡΡΡΡΠΌ ΠΈΡΡ
ΠΎΠ΄Π½ΡΠΌ ΠΊΠΎΠ΄ΠΎΠΌ. ΠΡΠΊΡΠΎΠΉΡΠ΅ Π΅Π³ΠΎ Π² ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅ΠΉ Π²Π΅ΡΡΠΈΠΈ Firefox Developer Edition, Π° Π·Π°ΡΠ΅ΠΌ Π·Π°ΠΏΡΡΡΠΈΡΠ΅ debugger.html
, Π½Π°ΠΆΠ°Π² Option + Cmd + S Π½Π° Mac ΠΈΠ»ΠΈ Shift + Ctrl + S Π² Windows. ΠΡΠ»Π°Π΄ΡΠΈΠΊ ΡΠ°Π·Π΄Π΅Π»Π΅Π½ Π½Π° ΡΡΠΈ ΠΏΠ°Π½Π΅Π»ΠΈ: ΠΏΠ°Π½Π΅Π»Ρ ΡΠΏΠΈΡΠΊΠ° ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠΎΠ², ΠΏΠ°Π½Π΅Π»Ρ ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠΎΠ² ΠΈ ΠΏΠ°Π½Π΅Π»Ρ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ².
ΠΠ°Π½Π΅Π»Ρ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ² ΠΏΠΎΠ΄ΡΠ°Π·Π΄Π΅Π»ΡΠ΅ΡΡΡ Π½Π° ΠΏΠ°Π½Π΅Π»Ρ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ², ΠΊΠΎΠ½ΡΡΠΎΠ»ΡΠ½ΡΠ΅ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ, ΡΠΎΡΠΊΠΈ ΠΎΡΡΠ°Π½ΠΎΠ²Π°, ΡΡΠ΅ΠΊ Π²ΡΠ·ΠΎΠ²ΠΎΠ² ΠΈ ΠΎΠ±Π»Π°ΡΡΠΈ.
ΠΠΎΠ»ΡΡΠΎΠΉ ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»ΡΠ½ΡΠΉ ΠΏΡΠΎΡΠΌΠΎΡΡΠΡΠ΅ΠΊΡΠ°ΡΠΈΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅
console.log
ΠΠ°ΠΌΠ°Π½ΡΠΈΠ²ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ console.log
Π΄Π»Ρ ΠΎΡΠ»Π°Π΄ΠΊΠΈ ΠΊΠΎΠ΄Π°. ΠΡΠΎΡΡΠΎ Π²ΡΡΠ°Π²ΡΡΠ΅ Π²ΡΠ·ΠΎΠ² Π² ΡΠ²ΠΎΠΉ ΠΊΠΎΠ΄, ΡΡΠΎΠ±Ρ Π½Π°ΠΉΡΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ, ΠΈ Π²ΡΠ΅ Π³ΠΎΡΠΎΠ²ΠΎ, Π²Π΅ΡΠ½ΠΎ? ΠΠΎΠ½Π΅ΡΠ½ΠΎ, ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ ΡΡΠ°Π±ΠΎΡΠ°ΡΡ, Π½ΠΎ ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΎΠ±ΡΠ΅ΠΌΠ΅Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠΌ ΠΈ ΡΡΡΠ΄ΠΎΠ΅ΠΌΠΊΠΈΠΌ. Π ΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΌΡ Π±ΡΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ debugger.html
Π΄Π»Ρ ΠΏΠΎΡΠ°Π³ΠΎΠ²ΠΎΠ³ΠΎ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΊΠΎΠ΄Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ todo Π΄Π»Ρ ΠΏΠΎΠΈΡΠΊΠ° Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ.
ΠΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ debugger.html
, ΡΡΠΎΠ±Ρ Π³Π»ΡΠ±ΠΆΠ΅ ΠΏΠΎΠ³ΡΡΠ·ΠΈΡΡΡΡ Π² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π·Π°Π΄Π°Ρ, ΠΏΡΠΎΡΡΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΠ² ΡΠΎΡΠΊΡ ΠΎΡΡΠ°Π½ΠΎΠ²Π° Π² ΡΡΡΠΎΠΊΡ ΠΊΠΎΠ΄Π°. Π’ΠΎΡΠΊΠΈ ΠΎΡΡΠ°Π½ΠΎΠ²Π° Π³ΠΎΠ²ΠΎΡΡΡ ΠΎΡΠ»Π°Π΄ΡΠΈΠΊΡ ΠΏΡΠΈΠΎΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΡΡΡΠΎΠΊΠΈ, ΡΡΠΎΠ±Ρ Π²Ρ ΠΌΠΎΠ³Π»ΠΈ ΡΠ΅Π»ΠΊΠ½ΡΡΡ ΠΊΠΎΠ΄, ΡΡΠΎΠ±Ρ ΡΠ²ΠΈΠ΄Π΅ΡΡ, ΡΡΠΎ ΠΏΡΠΎΠΈΡΡ
ΠΎΠ΄ΠΈΡ. Π ΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΌΡ Π΄ΠΎΠ±Π°Π²ΠΈΠΌ ΡΠΎΡΠΊΡ ΠΎΡΡΠ°Π½ΠΎΠ²Π° Π² ΡΡΡΠΎΠΊΡ 13 ΡΠ°ΠΉΠ»Π° app.js
.
Π’Π΅ΠΏΠ΅ΡΡ Π΄ΠΎΠ±Π°Π²ΡΡΠ΅ Π·Π°Π΄Π°ΡΡ Π² ΡΠΏΠΈΡΠΎΠΊ. ΠΠΎΠ΄ ΠΎΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ Π½Π° ΡΡΠ½ΠΊΡΠΈΠΈ addTodo, ΠΈ ΠΌΡ ΡΠΌΠΎΠΆΠ΅ΠΌ ΠΏΠΎΠ³ΡΡΠ·ΠΈΡΡΡΡ Π² ΠΊΠΎΠ΄, ΡΡΠΎΠ±Ρ ΡΠ²ΠΈΠ΄Π΅ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π²Π²ΠΎΠ΄Π° ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠ΅ Π΄ΡΡΠ³ΠΎΠ΅. ΠΠ°Π²Π΅Π΄ΠΈΡΠ΅ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ ΠΌΡΡΠΈ Π½Π° ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ, ΡΡΠΎΠ±Ρ ΡΠ²ΠΈΠ΄Π΅ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΈ Π΄ΡΡΠ³ΠΈΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ.ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²ΠΈΠ΄Π΅ΡΡ ΡΠΊΠΎΡΡ, Π°ΠΏΠΏΠ»Π΅ΡΡ, Π΄ΠΎΡΠ΅ΡΠ½ΠΈΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠ΅ Π΄ΡΡΠ³ΠΎΠ΅:
ΠΠΎΠ»ΡΡΠΎΠΉ ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»ΡΠ½ΡΠΉ ΠΏΡΠΎΡΠΌΠΎΡΡΠΡ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠΎΠ³ΡΡΠ·ΠΈΡΡΡΡ Π² ΠΏΠ°Π½Π΅Π»Ρ Β«ΠΠ±Π»Π°ΡΡΠΈΒ», ΡΡΠΎΠ±Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΡΡ ΠΆΠ΅ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ.
Π’Π΅ΠΏΠ΅ΡΡ, ΠΊΠΎΠ³Π΄Π° ΡΡΠ΅Π½Π°ΡΠΈΠΉ ΠΏΡΠΈΠΎΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½, ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ°ΡΡΡΡ ΠΏΠΎ Π½Π΅ΠΌΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΏΠ°Π½Π΅Π»ΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ². ΠΠ½ΠΎΠΏΠΊΠ° Π²ΠΎΡΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΡ / ΠΏΠ°ΡΠ·Ρ Π΄Π΅Π»Π°Π΅Ρ ΠΈΠΌΠ΅Π½Π½ΠΎ ΡΠΎ, ΡΡΠΎ Π½Π°ΠΏΠΈΡΠ°Π½ΠΎ Π½Π° Π±Π°Π½ΠΊΠ΅. Β«Step OverΒ» ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ΠΈΡ ΡΠ΅ΡΠ΅Π· ΡΠ΅ΠΊΡΡΡΡ ΡΡΡΠΎΠΊΡ ΠΊΠΎΠ΄Π°, Β«Step InΒ» ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ΠΈΡ ΠΊ Π²ΡΠ·ΠΎΠ²Ρ ΡΡΠ½ΠΊΡΠΈΠΈ, Π° Β«Step OutΒ» Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΡΡΠ΅Π½Π°ΡΠΈΠΉ Π΄ΠΎ ΡΠ΅Ρ ΠΏΠΎΡ, ΠΏΠΎΠΊΠ° ΡΠ΅ΠΊΡΡΠ°Ρ ΡΡΠ½ΠΊΡΠΈΡ Π½Π΅ Π·Π°Π²Π΅ΡΡΠΈΡΡΡ.
ΠΠΎΠ»ΡΡΠΎΠΉ ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»ΡΠ½ΡΠΉ ΠΏΡΠΎΡΠΌΠΎΡΡΠΡ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ Π½Π°Π±Π»ΡΠ΄Π΅Π½ΠΈΡ, ΡΡΠΎΠ±Ρ ΡΠ»Π΅Π΄ΠΈΡΡ Π·Π° Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ.ΠΡΠΎΡΡΠΎ Π²Π²Π΅Π΄ΠΈΡΠ΅ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Π² ΠΏΠΎΠ»Π΅ Watch Expression, ΠΈ ΠΎΡΠ»Π°Π΄ΡΠΈΠΊ Π±ΡΠ΄Π΅Ρ ΡΠ»Π΅Π΄ΠΈΡΡ Π·Π° Π½ΠΈΠΌ, ΠΏΠΎΠΊΠ° Π²Ρ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΠ΅ ΠΊΠΎΠ΄. Π ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π²ΡΡΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ Β«titleΒ» ΠΈ Β«to-doΒ», ΠΈ ΠΎΡΠ»Π°Π΄ΡΠΈΠΊ Π²ΡΠ΄Π°ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ, ΠΊΠΎΠ³Π΄Π° ΠΎΠ½ΠΈ Π±ΡΠ΄ΡΡ Π΄ΠΎΡΡΡΠΏΠ½Ρ. ΠΡΠΎ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ, ΠΊΠΎΠ³Π΄Π°:
- ΠΡ ΡΠ°Π³Π°Π΅ΡΠ΅ ΠΈ Ρ ΠΎΡΠΈΡΠ΅ Π½Π°Π±Π»ΡΠ΄Π°ΡΡ Π·Π° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ;
- ΠΡ ΠΎΡΠ»Π°ΠΆΠΈΠ²Π°Π΅ΡΠ΅ ΠΎΠ΄Π½ΠΎ ΠΈ ΡΠΎ ΠΆΠ΅ ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ°Π· ΠΈ Ρ ΠΎΡΠΈΡΠ΅ ΡΠ²ΠΈΠ΄Π΅ΡΡ ΠΎΠ±ΡΠΈΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ;
- ΠΡ ΠΏΡΡΠ°Π΅ΡΠ΅ΡΡ ΠΏΠΎΠ½ΡΡΡ, ΠΏΠΎΡΠ΅ΠΌΡ ΡΡΠ° ΠΏΡΠΎΠΊΠ»ΡΡΠ°Ρ ΠΊΠ½ΠΎΠΏΠΊΠ° Π½Π΅ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ.
ΠΡ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ debugger.html
Π΄Π»Ρ ΠΎΡΠ»Π°Π΄ΠΊΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ React / Redux. ΠΠΎΡ ΠΊΠ°ΠΊ ΡΡΠΎ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ:
- ΠΠ΅ΡΠ΅ΠΉΠ΄ΠΈΡΠ΅ ΠΊ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ, ΠΊΠΎΡΠΎΡΡΠΉ Π½ΡΠΆΠ½ΠΎ ΠΎΡΠ»Π°ΠΆΠΈΠ²Π°ΡΡ.
- Π‘ΠΌ. Π‘Ρ Π΅ΠΌΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ° ΡΠ»Π΅Π²Π° (ΡΡΠ½ΠΊΡΠΈΠΈ Π² ΠΊΠ»Π°ΡΡΠ΅).
- ΠΠΎΠ±Π°Π²ΡΡΠ΅ ΡΠΎΡΠΊΠΈ ΠΎΡΡΠ°Π½ΠΎΠ²Π° ΠΊ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠΌ ΡΡΠ½ΠΊΡΠΈΡΠΌ.
- Π‘Π΄Π΅Π»Π°ΠΉΡΠ΅ ΠΏΠ°ΡΠ·Ρ ΠΈ ΠΏΡΠΎΡΠΌΠΎΡΡΠΈΡΠ΅ ΡΠ²ΠΎΠΉΡΡΠ²Π° ΠΈ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ°.
- Π‘ΡΠ΅ΠΊ Π²ΡΠ·ΠΎΠ²ΠΎΠ² ΡΠΏΡΠΎΡΠ΅Π½, ΡΠ°ΠΊ ΡΡΠΎ Π²Ρ Π²ΠΈΠ΄ΠΈΡΠ΅, ΠΊΠ°ΠΊ ΠΊΠΎΠ΄ Π²Π°ΡΠ΅Π³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΡΠ΅ΡΠ΅Π΄ΡΠ΅ΡΡΡ Ρ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠΎΠΌ.
ΠΠ°ΠΊΠΎΠ½Π΅Ρ, ΠΎΡΠ»Π°Π΄ΡΠΈΠΊ .html
ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π²Π°ΠΌ Π²ΠΈΠ΄Π΅ΡΡ ΠΎΠ±ΡΡΡΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΠΈΠ»ΠΈ ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΠΊΠΎΠ΄, ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΠΎΠΆΠ΅Ρ Π²ΡΠ·ΡΠ²Π°ΡΡ ΠΎΡΠΈΠ±ΠΊΠΈ, ΡΡΠΎ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ, ΠΊΠΎΠ³Π΄Π° Π²Ρ ΠΈΠΌΠ΅Π΅ΡΠ΅ Π΄Π΅Π»ΠΎ Ρ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½Π½ΡΠΌΠΈ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠ°ΠΌΠΈ, ΡΠ°ΠΊΠΈΠΌΠΈ ΠΊΠ°ΠΊ React / Redux. ΠΡΠ»Π°Π΄ΡΠΈΠΊ Π·Π½Π°Π΅Ρ ΠΎ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ°Ρ
, Π² ΠΊΠΎΡΠΎΡΡΡ
Π²Ρ ΠΏΡΠΈΠΎΡΡΠ°Π½ΠΎΠ²ΠΈΠ»ΠΈ ΡΠ°Π±ΠΎΡΡ, ΠΈ ΠΏΠΎΠΊΠ°ΠΆΠ΅Ρ ΡΠΏΡΠΎΡΠ΅Π½Π½ΡΠΉ ΡΡΠ΅ΠΊ Π²ΡΠ·ΠΎΠ²ΠΎΠ², ΡΡΡΡΠΊΡΡΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ° ΠΈ ΡΠ²ΠΎΠΉΡΡΠ²Π°. ΠΠΎΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ ΠΠΌΠΈΡ ΠΡΡ, ΠΎΠ±ΡΡΡΠ½ΡΡΡΠΈΠΉ, ΠΊΠ°ΠΊ ΠΎΠ½ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΠΎΡΠ»Π°Π΄ΡΠΈΠΊ Firefox Π΄Π»Ρ ΠΏΠΎΠ³ΡΡΠΆΠ΅Π½ΠΈΡ Π² ΠΊΠΎΠ΄ Π½Π° JS Kongress:
ΠΡΠ»ΠΈ Π²Π°Ρ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΡΠ΅Ρ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎΠ΅ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎ ΠΏΠΎ Π½ΠΎΠ²ΠΎΠΌΡ ΠΎΡΠ»Π°Π΄ΡΠΈΠΊΡ .html
, ΠΏΠ΅ΡΠ΅ΠΉΠ΄ΠΈΡΠ΅ Π½Π° ΠΏΠ»ΠΎΡΠ°Π΄ΠΊΡ Π΄Π»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ² Mozilla. ΠΡ ΡΠΎΠ·Π΄Π°Π»ΠΈ ΡΠ΅ΡΠΈΡ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ², ΡΡΠΎΠ±Ρ ΠΏΠΎΠΌΠΎΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°ΠΌ Π½Π°ΡΡΠΈΡΡΡΡ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΠΎΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ Π΄Π»Ρ ΠΎΡΠ»Π°Π΄ΠΊΠΈ ΡΠ²ΠΎΠ΅Π³ΠΎ ΠΊΠΎΠ΄Π°.
DevTools Ρ ΠΎΡΠΊΡΡΡΡΠΌ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΌ ΠΊΠΎΠ΄ΠΎΠΌ
ΠΡΠΎΠ΅ΠΊΡ debugger.html
Π±ΡΠ» Π·Π°ΠΏΡΡΠ΅Π½ ΠΎΠΊΠΎΠ»ΠΎ Π΄Π²ΡΡ
Π»Π΅Ρ Π½Π°Π·Π°Π΄ Π²ΠΌΠ΅ΡΡΠ΅ Ρ ΠΏΠΎΠ»Π½ΠΎΠΉ ΠΏΠ΅ΡΠ΅ΡΠ°Π±ΠΎΡΠΊΠΎΠΉ Π²ΡΠ΅Ρ
Firefox DevTools. ΠΡ Ρ
ΠΎΡΠ΅Π»ΠΈ ΠΏΠ΅ΡΠ΅ΡΡΡΠΎΠΈΡΡ DevTools Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ
Π²Π΅Π±-ΡΠ΅Ρ
Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ, ΡΡΠΎΠ±Ρ ΡΠ΄Π΅Π»Π°ΡΡ ΠΈΡ
Π΄ΠΎΡΡΡΠΏΠ½ΡΠΌΠΈ Π΄Π»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ² ΠΏΠΎ Π²ΡΠ΅ΠΌΡ ΠΌΠΈΡΡ. Π ΠΊΠΎΠ³Π΄Π° ΡΠ΅Ρ
Π½ΠΎΠ»ΠΎΠ³ΠΈΡ ΠΎΡΠΊΡΡΡΠ°, ΠΎΠ½Π° ΠΌΠΎΠΆΠ΅Ρ ΡΠ°ΡΡΠΈ Π΄Π°Π»ΡΡΠ΅ Π²ΡΠ΅Π³ΠΎ, ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ Π²ΠΎΠΎΠ±ΡΠ°Π·ΠΈΡΡ Π½Π°ΡΠ° Π½Π΅Π±ΠΎΠ»ΡΡΠ°Ρ Π³ΡΡΠΏΠΏΠ° Π² Mozilla.
JavaScript Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌ Π΄Π»Ρ Π»ΡΠ±ΠΎΠ³ΠΎ ΠΏΡΠΎΠ΄Π²ΠΈΠ½ΡΡΠΎΠ³ΠΎ Π²Π΅Π±-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΠΏΠΎΡΡΠΎΠΌΡ Π½Π°Π΄Π΅ΠΆΠ½ΡΠΉ ΠΎΡΠ»Π°Π΄ΡΠΈΠΊ Π±ΡΠ» ΠΊΠ»ΡΡΠ΅Π²ΠΎΠΉ ΡΠ°ΡΡΡΡ Π½Π°Π±ΠΎΡΠ° ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ². ΠΡ Ρ ΠΎΡΠ΅Π»ΠΈ ΡΠΎΠ·Π΄Π°ΡΡ ΡΡΠΎ-ΡΠΎ Π±ΡΡΡΡΠΎΠ΅, ΠΏΡΠΎΡΡΠΎΠ΅ Π² ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΠΈ Π°Π΄Π°ΠΏΡΠΈΡΡΠ΅ΠΌΠΎΠ΅ β ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΠ΅ ΠΎΡΠ»Π°ΠΆΠΈΠ²Π°ΡΡ Π»ΡΠ±ΡΠ΅ Π½ΠΎΠ²ΡΠ΅ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ JavaScript, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠ³ΡΡ ΠΏΠΎΡΠ²ΠΈΡΡΡΡ. ΠΡ ΡΠ΅ΡΠΈΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΠ΅ Π²Π΅Π±-ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ Ρ ΠΎΡΠ΅Π»ΠΈ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π±Π»ΠΈΠΆΠ΅ Ρ ΡΠΎΠΎΠ±ΡΠ΅ΡΡΠ²ΠΎΠΌ. ΠΡΠΎΡ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ ΡΠ°ΠΊΠΆΠ΅ ΡΠ»ΡΡΡΠΈΠ» Π±Ρ ΡΠ°ΠΌ ΠΎΡΠ»Π°Π΄ΡΠΈΠΊ β Π΅ΡΠ»ΠΈ Π±Ρ ΠΌΡ ΠΏΡΠΈΠ½ΡΠ»ΠΈ WebPack ΠΈ Π½Π°ΡΠ°Π»ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ ΡΠ±ΠΎΡΠΊΠΈ ΠΈ ΠΈΡΡ ΠΎΠ΄Π½ΡΠ΅ ΠΊΠ°ΡΡΡ Π²Π½ΡΡΡΠΈ, ΠΌΡ Π±Ρ Π·Π°Ρ ΠΎΡΠ΅Π»ΠΈ ΡΠ»ΡΡΡΠΈΡΡ ΡΠΎΠΏΠΎΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠΎΠ² ΠΈ Π³ΠΎΡΡΡΡΡ ΠΏΠ΅ΡΠ΅Π·Π°Π³ΡΡΠ·ΠΊΡ.
debugger.html
ΠΏΠΎΡΡΡΠΎΠ΅Π½ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ React, Redux ΠΈ Babel. ΠΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ React Π»Π΅Π³ΠΊΠΈΠ΅, ΡΠ΅ΡΡΠΈΡΡΠ΅ΠΌΡΠ΅ ΠΈ ΠΏΡΠΎΡΡΡΠ΅ Π² ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅. ΠΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ React Storybook Π΄Π»Ρ Π±ΡΡΡΡΠΎΠ³ΠΎ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΏΡΠΎΡΠΎΡΠΈΠΏΠΎΠ² ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° ΠΈ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΎΠ±ΡΠΈΡ
ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ². ΠΠ°ΡΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ ΡΠ΅ΡΡΠΈΡΡΡΡΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Jest ΠΈ Enzyme, ΡΡΠΎ ΡΠΏΡΠΎΡΠ°Π΅Ρ ΠΈΡΠ΅ΡΠ°ΡΠΈΡ ΠΏΠΎΠ²Π΅ΡΡ
ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°. ΠΡΠΎ ΡΠΏΡΠΎΡΠ°Π΅Ρ ΡΠ°Π±ΠΎΡΡ Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠΌΠΈ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠ°ΠΌΠΈ JavaScript (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, React). ΠΠ°Ρ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Babel ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π½Π°ΠΌ Π΄Π΅Π»Π°ΡΡ ΡΠ°ΠΊΠΈΠ΅ Π²Π΅ΡΠΈ, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°ΡΡ ΠΊΠ»Π°ΡΡ Component ΠΈ Π΅Π³ΠΎ ΡΡΠ½ΠΊΡΠΈΠΈ Π½Π° Π»Π΅Π²ΠΎΠΉ Π±ΠΎΠΊΠΎΠ²ΠΎΠΉ ΠΏΠ°Π½Π΅Π»ΠΈ.ΠΡ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π΅Π»Π°ΡΡ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΡΠ΅ Π²Π΅ΡΠΈ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΡΠΈΠΊΡΠ΅ΠΏΠ»ΡΡΡ ΡΠΎΡΠΊΠΈ ΠΎΡΡΠ°Π½ΠΎΠ²Π° ΠΊ ΡΡΠ½ΠΊΡΠΈΡΠΌ, ΡΡΠΎΠ±Ρ ΠΎΠ½ΠΈ Π½Π΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ°Π»ΠΈΡΡ ΠΏΡΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ ΠΊΠΎΠ΄Π°.
ΠΠ΅ΠΉΡΡΠ²ΠΈΡ Redux β ΡΡΠΎ ΡΠΈΡΡΡΠΉ API Π΄Π»Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°, Π½ΠΎ Ρ ΡΠ°ΠΊΠΈΠΌ ΠΆΠ΅ ΡΡΠΏΠ΅Ρ ΠΎΠΌ ΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π°Π²ΡΠΎΠ½ΠΎΠΌΠ½ΠΎΠ³ΠΎ JS-ΠΎΡΠ»Π°Π΄ΡΠΈΠΊΠ° CLI. Π Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ Redux Π΅ΡΡΡ ΡΠ΅Π»Π΅ΠΊΡΠΎΡΡ Π΄Π»Ρ Π·Π°ΠΏΡΠΎΡΠ° ΡΠ΅ΠΊΡΡΠ΅Π³ΠΎ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ ΠΎΡΠ»Π°Π΄ΠΊΠΈ. ΠΠ°Ρ ΠΌΠΎΠ΄ΡΠ»ΡΠ½ΡΠΉ ΡΠ΅ΡΡ redux Π·Π°ΠΏΡΡΠΊΠ°Π΅Ρ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ Redux ΠΈ ΠΈΠΌΠΈΡΠΈΡΡΠ΅Ρ ΠΎΡΠ²Π΅ΡΡ Π±ΡΠ°ΡΠ·Π΅ΡΠ°. ΠΠ°ΡΠΈ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΠΎΠ½Π½ΡΠ΅ ΡΠ΅ΡΡΡ ΡΠΏΡΠ°Π²Π»ΡΡΡ Π±ΡΠ°ΡΠ·Π΅ΡΠΎΠΌ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΠΉ Redux ΠΎΡΠ»Π°Π΄ΡΠΈΠΊΠ°. Π‘Π°ΠΌΠ° ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½Π°Ρ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ° ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Π° Π΄Π»Ρ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ.
ΠΠ° ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΡΡΠ°ΠΏΠ΅ ΠΏΡΡΠΈ ΠΌΡ ΠΏΠΎΠ»Π°Π³Π°Π»ΠΈΡΡ Π½Π° ΡΠΎΠΎΠ±ΡΠ΅ΡΡΠ²ΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ² Mozilla. ΠΡΠΎΠ΅ΠΊΡ Π±ΡΠ» ΡΠ°Π·ΠΌΠ΅ΡΠ΅Π½ Π½Π° GitHub, ΠΈ Π½Π°ΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±ΡΠ°ΡΠΈΠ»Π°ΡΡ Π·Π° ΠΏΠΎΠΌΠΎΡΡΡ ΠΊ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°ΠΌ ΡΠΎ Π²ΡΠ΅Π³ΠΎ ΠΌΠΈΡΠ°. ΠΠΎΠ³Π΄Π° ΠΌΡ Π½Π°ΡΠΈΠ½Π°Π»ΠΈ, Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΡΠ΅ΡΡΡ Π±ΡΠ»ΠΈ ΠΊΡΠΈΡΠΈΡΠ΅ΡΠΊΠΈ Π²Π°ΠΆΠ½ΡΠΌ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠΌ ΡΠ°Π·Π²ΠΈΡΠΈΡ ΡΠΎΠΎΠ±ΡΠ΅ΡΡΠ²Π°. Π’Π΅ΡΡΡ ΠΏΡΠ΅Π΄ΠΎΡΠ²ΡΠ°ΡΠ°ΡΡ ΡΠ΅Π³ΡΠ΅ΡΡΠΈΡ ΠΈ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΈΡΡΡΡ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π»Π΅Π³ΠΊΠΎ ΠΏΡΠΎΠΏΡΡΡΠΈΡΡ. ΠΠΎΡ ΠΏΠΎΡΠ΅ΠΌΡ ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· ΠΏΠ΅ΡΠ²ΡΡ ΡΠ°Π³ΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΡ ΡΠ΄Π΅Π»Π°Π»ΠΈ, Π±ΡΠ»ΠΎ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΌΠΎΠ΄ΡΠ»ΡΠ½ΡΡ ΡΠ΅ΡΡΠΎΠ² Π΄Π»Ρ Π΄Π΅ΠΉΡΡΠ²ΠΈΠΉ Redux ΠΈ ΡΠΈΠΏΠΎΠ² ΠΏΠΎΡΠΎΠΊΠ° Π΄Π»Ρ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ° Redux. Π€Π°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ, ΡΠΎΠΎΠ±ΡΠ΅ΡΡΠ²ΠΎ Π³Π°ΡΠ°Π½ΡΠΈΡΠΎΠ²Π°Π»ΠΎ, ΡΡΠΎ Π½Π°ΡΠ΅ ΠΏΠΎΠΊΡΡΡΠΈΠ΅ Flow ΠΈ Jest ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ ΡΠ±Π΅Π΄ΠΈΡΡΡΡ, ΡΡΠΎ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ°ΠΉΠ» ΡΠΈΠΏΠΈΠ·ΠΈΡΠΎΠ²Π°Π½ ΠΈ ΠΏΡΠΎΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½.
ΠΠ°ΠΊ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ, ΠΌΡ ΡΡΠΈΡΠ°Π΅ΠΌ, ΡΡΠΎ ΡΠ΅ΠΌ Π±ΠΎΠ»ΡΡΠ΅ Π»ΡΠ΄Π΅ΠΉ Π·Π°Π΄Π΅ΠΉΡΡΠ²ΠΎΠ²Π°Π½ΠΎ, ΡΠ΅ΠΌ ΡΠΈΠ»ΡΠ½Π΅Π΅ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ. ΠΠ°ΡΠ° ΠΎΡΠ½ΠΎΠ²Π½Π°Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π° Π²ΡΠ΅Π³Π΄Π° Π±ΡΠ»Π° Π½Π΅Π±ΠΎΠ»ΡΡΠΎΠΉ (2 ΡΠ΅Π»ΠΎΠ²Π΅ΠΊΠ°), Π½ΠΎ Π² ΡΡΠ΅Π΄Π½Π΅ΠΌ Ρ Π½Π°Ρ 15 ΡΡΠ°ΡΡΠ½ΠΈΠΊΠΎΠ² Π² Π½Π΅Π΄Π΅Π»Ρ. Π‘ΠΎΠΎΠ±ΡΠ΅ΡΡΠ²ΠΎ ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π΅Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ ΡΠΎΡΠΊΠΈ Π·ΡΠ΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΠΌΠΎΠ³Π°ΡΡ Π½Π°ΠΌ ΠΏΡΠ΅Π΄Π²ΠΈΠ΄Π΅ΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ ΠΈ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΎ ΠΊΠΎΡΠΎΡΡΡ ΠΌΡ Π΄Π°ΠΆΠ΅ Π½Π΅ ΠΌΠ΅ΡΡΠ°Π»ΠΈ. Π’Π΅ΠΏΠ΅ΡΡ ΠΌΡ ΡΠΎΡΠΌΠ°ΡΠΈΡΡΠ΅ΠΌ ΡΡΠ΅ΠΊΠΈ Π²ΡΠ·ΠΎΠ²ΠΎΠ² Π΄Π»Ρ 24 ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ, ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ ΠΈΠ· ΠΊΠΎΡΠΎΡΡΡ ΠΌΡ Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ ΡΠ»ΡΡΠ°Π»ΠΈ. ΠΡ ΡΠ°ΠΊΠΆΠ΅ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅ΠΌ ΠΊΠ°ΡΡΡ WebPack ΠΈ Angular Π² Π΄Π΅ΡΠ΅Π²Π΅ ΠΈΡΡ ΠΎΠ΄Π½ΡΡ ΡΠ΅ΠΊΡΡΠΎΠ².
ΠΡ ΠΏΠ»Π°Π½ΠΈΡΡΠ΅ΠΌ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΡΠΈΡΡ Π²ΡΠ΅ Firefox DevTools Π½Π° GitHub, ΡΡΠΎΠ±Ρ ΠΈΡ
ΠΌΠΎΠ³Π»Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΈ ΡΠ»ΡΡΡΠ°ΡΡ Π±ΠΎΠ»Π΅Π΅ ΡΠΈΡΠΎΠΊΠ°Ρ Π°ΡΠ΄ΠΈΡΠΎΡΠΈΡ.ΠΡ Π±ΡΠ΄Π΅ΠΌ ΡΠ°Π΄Ρ, Π΅ΡΠ»ΠΈ Π²Ρ Π²Π½Π΅ΡΠ΅ΡΠ΅ ΡΠ²ΠΎΠΉ Π²ΠΊΠ»Π°Π΄. Π§ΡΠΎΠ±Ρ Π½Π°ΡΠ°ΡΡ, ΠΏΠ΅ΡΠ΅ΠΉΠ΄ΠΈΡΠ΅ Π½Π° ΡΡΡΠ°Π½ΠΈΡΡ ΠΏΡΠΎΠ΅ΠΊΡΠ° GitHub Π΄Π»Ρ debugger.html
. ΠΡ ΡΠΎΠ·Π΄Π°Π»ΠΈ ΠΏΠΎΠ»Π½ΡΠΉ ΡΠΏΠΈΡΠΎΠΊ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΉ ΠΎ ΡΠΎΠΌ, ΠΊΠ°ΠΊ Π·Π°ΠΏΡΡΡΠΈΡΡ ΠΎΡΠ»Π°Π΄ΡΠΈΠΊ Π½Π° Π²Π°ΡΠ΅ΠΌ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ΅, Π³Π΄Π΅ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ Π΅Π³ΠΎ, ΡΡΠΎΠ±Ρ Π΄Π΅Π»Π°ΡΡ Π²ΡΠ΅, ΡΡΠΎ Π·Π°Ρ
ΠΎΡΠΈΡΠ΅. ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ Π΅Π³ΠΎ Π΄Π»Ρ ΠΎΡΠ»Π°Π΄ΠΊΠΈ ΠΊΠΎΠ΄Π° JavaScript Π΄Π»Ρ ΡΠ΅Π³ΠΎ ΡΠ³ΠΎΠ΄Π½ΠΎ β Π±ΡΠ°ΡΠ·Π΅ΡΠΎΠ², ΡΠ΅ΡΠΌΠΈΠ½Π°Π»ΠΎΠ², ΡΠ΅ΡΠ²Π΅ΡΠΎΠ², ΡΠ΅Π»Π΅ΡΠΎΠ½ΠΎΠ², ΡΠΎΠ±ΠΎΡΠΎΠ². Π Π΅ΡΠ»ΠΈ Π²Ρ Π²ΠΈΠ΄ΠΈΡΠ΅ ΡΠΏΠΎΡΠΎΠ±Ρ Π΅Π³ΠΎ ΡΠ»ΡΡΡΠΈΡΡ, Π΄Π°ΠΉΡΠ΅ Π½Π°ΠΌ Π·Π½Π°ΡΡ ΡΠ΅ΡΠ΅Π· GitHub.
ΠΠΎΡΠ»Π΅Π΄Π½ΡΡ Π²Π΅ΡΡΠΈΡ Firefox (ΠΈ DevTools) ΠΌΠΎΠΆΠ½ΠΎ Π·Π°Π³ΡΡΠ·ΠΈΡΡ Π·Π΄Π΅ΡΡ.
(rb, ra, yk, il)Π‘ΠΎΠ²Π΅ΡΡ ΠΈ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°ΡΠΈΠΈ ΠΏΠΎ ΠΎΡΠ»Π°Π΄ΠΊΠ΅ Π΄Π»Ρ Π½Π°ΡΠΈΠ½Π°ΡΡΠΈΡ JavaScript
by Priyanka Garg
ΠΠΎΡ ΡΠ΅Π»Π΅Π²Π°Ρ Π°ΡΠ΄ΠΈΡΠΎΡΠΈΡ Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ ΡΡΠΎΠΊΠ° β Π½Π°ΡΠΈΠ½Π°ΡΡΠΈΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΡ. ΠΡ ΡΠ·Π½Π°Π΅ΡΠ΅ ΠΎ ΠΏΡΠΎΡΡΠΎΠΉ ΠΎΡΠ»Π°Π΄ΠΊΠ΅ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ² Chrome Π΄Π»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ².
Π£Π²Π°ΠΆΠ°Π΅ΠΌΡΠΉ Π½ΠΎΠ²ΠΈΡΠΎΠΊ, Π½Π΅ΠΊΠΎΡΠΎΡΠΎΠ΅ Π²ΡΠ΅ΠΌΡ Π½Π°Π·Π°Π΄ Ρ Π±ΡΠ» ΡΠ°ΠΌ, Π³Π΄Π΅ Π²Ρ Π½Π°Ρ ΠΎΠ΄ΠΈΡΠ΅ΡΡ! ΠΠΎΡΠ»Π΅ Π΄ΠΎΠ»Π³ΠΎΠΉ Π±ΠΎΡΡΠ±Ρ Ρ ΡΡΠ²ΡΡΠ²ΡΡ, ΡΡΠΎ Π΄Π°Π»Π΅ΠΊΠΎ ΠΏΡΠΎΠ΄Π²ΠΈΠ½ΡΠ»ΡΡ Π² ΡΠ²ΠΎΠ΅ΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΠΌ ΠΏΡΡΠ΅ΡΠ΅ΡΡΠ²ΠΈΠΈ. Π Π½Π°ΡΡΠΎΡΡΠ΅Π΅ Π²ΡΠ΅ΠΌΡ Ρ ΠΏΡΠΎΡ ΠΎΠΆΡ ΡΡΠ°ΡΡΡΡ ΡΠ°Π·Ρ ΠΈΠΌΠΌΠ΅ΡΡΠΈΠ²Π½ΠΎΠ³ΠΎ ΡΡΠ΅Π±Π½ΠΎΠ³ΠΎ ΠΊΡΡΡΠ°, Π³Π΄Π΅ Ρ ΡΠΎΠ·Π΄Π°Ρ ΠΏΠΎΠ»Π½ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ.
ΠΠ°ΠΆΠ΄ΡΠΉ Π΄Π΅Π½Ρ Ρ ΡΠ·Π½Π°Ρ ΠΈ Π½Π°ΡΡΠΊΠ°ΡΡΡ Π½Π° ΠΎΡΠ΅Π½Ρ ΠΌΠ½ΠΎΠ³ΠΎ Π²Π΅ΡΠ΅ΠΉ, ΠΎ ΠΊΠΎΡΠΎΡΡΡ ΠΌΠ½Π΅ Ρ ΠΎΡΠ΅Π»ΠΎΡΡ Π±Ρ Π·Π½Π°ΡΡ ΡΠ°Π½ΡΡΠ΅. ΠΡΠ° ΡΡΠ°ΡΡΡ β ΠΏΠΎΠΏΡΡΠΊΠ° ΠΏΠΎΠ΄Π΅Π»ΠΈΡΡΡΡ ΠΎΠ΄Π½ΠΎΠΉ ΡΠ°ΠΊΠΎΠΉ ΠΈΠ΄Π΅Π΅ΠΉ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΎΠ±Π»Π΅Π³ΡΠΈΡ Π²Π°ΠΌ ΠΆΠΈΠ·Π½Ρ.
ΠΠ°ΠΊ Π²Ρ, Π½Π°Π²Π΅ΡΠ½ΠΎΠ΅, ΡΠΆΠ΅ Π·Π½Π°Π΅ΡΠ΅, Π»ΡΡΡΠΈΠΉ ΡΠΏΠΎΡΠΎΠ± Π½Π°ΡΡΠΈΡΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ β ΡΡΠΎ Π΄Π΅Π»Π°ΡΡ. Π’Π΅ΠΏΠ΅ΡΡ, ΠΊΠΎΠ³Π΄Π° Π²Ρ Π½Π°ΡΠ½Π΅ΡΠ΅ ΠΏΡΠ°ΠΊΡΠΈΠΊΠΎΠ²Π°ΡΡΡΡ Π² ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ, ΠΈΠ½ΠΎΠ³Π΄Π° (ΠΈΠ»ΠΈ Π² Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π΅ ΡΠ»ΡΡΠ°Π΅Π²) Π²Π°Ρ ΠΊΠΎΠ΄ Π½Π΅ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ; Π΄ΡΡΠ³ΠΈΠΌΠΈ ΡΠ»ΠΎΠ²Π°ΠΌΠΈ, Π² Π²Π°ΡΠ΅ΠΌ ΠΊΠΎΠ΄Π΅ Π±ΡΠ΄Π΅Ρ ΠΠ¨ΠΠΠΠ. Π Π²Ρ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΡΠΆΠ΅ ΠΏΡΠΎΠ±ΠΎΠ²Π°Π»ΠΈ ΠΈ ΠΈΠ·ΡΡΠΈΠ»ΠΈ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΠ΄Ρ ΠΎΠ΄Ρ ΠΊ ΠΎΡΠ»Π°Π΄ΠΊΠ΅. ΠΡΠ° ΡΡΠ°ΡΡΡ Π½Π΅ ΠΎ ΠΊΠ°ΠΊΠΎΠΌ-Π»ΠΈΠ±ΠΎ ΠΎΠ΄Π½ΠΎΠΌ ΠΏΠΎΠ΄Ρ ΠΎΠ΄Π΅ ΠΊ ΠΎΡΠ»Π°Π΄ΠΊΠ΅, Π° ΡΠΊΠΎΡΠ΅Π΅ ΠΎ Π½Π°ΡΡΡΠΎΠΉΠΊΠ΅ Π΄Π»Ρ ΠΎΡΠ»Π°Π΄ΠΊΠΈ Π²Π°ΡΠ΅Π³ΠΎ ΠΊΠΎΠ΄Π° Π΄Π»Ρ ΠΏΡΠ°ΠΊΡΠΈΠΊΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ.
ΠΡΠ»ΠΈ Π²Ρ ΠΏΡΠ°ΠΊΡΠΈΠΊΡΠ΅ΡΠ΅ΡΡ Π² ΡΡΠ΅Π΄Π΅ ΠΎΠ½Π»Π°ΠΉΠ½-ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ, ΡΠΊΠΎΡΠ΅Π΅ Π²ΡΠ΅Π³ΠΎ, Ρ Π²Π°Ρ Π΅ΡΡΡ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ°, Π² ΠΊΠΎΡΠΎΡΠΎΠΉ Ρ Π²Π°Ρ Π΅ΡΡΡ ΡΠ΅Π΄Π°ΠΊΡΠΎΡ, ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° ΠΈ Π½Π°Π±ΠΎΡ ΡΠ΅ΡΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠΉ ΡΠ΅ΡΡΠΈΡΡΠ΅Ρ Π²Π°ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ.
ΠΡ Π½Π°ΠΏΠΈΡΠ°Π»ΠΈ ΠΊΠΎΠ΄, ΠΈ Π² Π½Π΅ΠΌ Π΅ΡΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ, ΠΈ Π² ΠΊΠ°ΠΊΠΎΠΉ-ΡΠΎ ΠΌΠΎΠΌΠ΅Π½Ρ ΠΎΡΠΈΠ±ΠΊΠΈ, Π²ΡΠ΄Π°Π²Π°Π΅ΠΌΡΠ΅ Π½Π°Π±ΠΎΡΠΎΠΌ ΡΠ΅ΡΡΠΎΠ², Π±Π΅ΡΠΏΠΎΠ»Π΅Π·Π½Ρ.
Π― Π½Π΅ Π±ΡΠ΄Ρ Π²Π΄Π°Π²Π°ΡΡΡΡ Π² ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎΡΡΠΈ ΠΎ ΡΠΎΠΌ, Π½Π°ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΡΠΎΠΌΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ ΠΌΠΎΠΆΠ΅Ρ ΡΡΠ°ΡΡ ΠΎΡΠ»Π°Π΄ΠΊΠ° β ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΠ΅ ΠΌΠ½Π΅ ΡΡΠ°Π·Ρ ΠΏΠ΅ΡΠ΅ΠΉΡΠΈ ΠΊ Π½Π΅ΠΊΠΎΡΠΎΡΡΠΌ ΡΠΎΠ²Π΅ΡΠ°ΠΌ Π΄Π»Ρ Π½ΠΎΠ²ΠΈΡΠΊΠΎΠ².
ΠΡΠΎΠ±Π»Π΅ΠΌΠ°
Π ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΡΠΈΠΌΠ΅ΡΠ° Ρ ΠΏΠΈΡΡ ΡΡΠ΅Π΄ΡΡΠ²ΠΎ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΠΏΠ°Π»ΠΈΠ½Π΄ΡΠΎΠΌΠ° Π² ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ΅ FreeCodeCamp.ΠΠΎΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΡΠ΅ΡΠΏΠΈΡ Π½Π΅ΡΠ΄Π°ΡΡ. Π ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΌΡ ΠΌΠΎΠ³Π»ΠΈ Π±Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ Π½Π°Π±ΠΎΡΠ° ΡΠ΅ΡΡΠΎΠ² Π΄Π»Ρ ΠΎΡΠ»Π°Π΄ΠΊΠΈ.
ΠΠΎ Π΄Π°Π²Π°ΠΉΡΠ΅ ΠΏΡΠ΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, ΡΡΠΎ ΡΡΠΎΡ Π½Π°Π±ΠΎΡ ΡΠ΅ΡΡΠΎΠ² Π½Π΅ Π΄Π°Π΅Ρ ΠΌΠ½Π΅ ΡΠΎΡΠ½ΡΡ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Π΅ΠΉ Π½Π° ΡΠΎΡΠ½ΡΡ ΠΎΡΠΈΠ±ΠΊΡ. (ΠΡΠΎ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π½Π΅ ΠΈΠ΄Π΅Π°Π»ΡΠ½ΡΠΉ ΠΏΡΠΈΠΌΠ΅Ρ Ρ ΡΠΎΡΠΊΠΈ Π·ΡΠ΅Π½ΠΈΡ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΎΡΠΈΠ±ΠΊΠΈ. ΠΠ΅Π»ΠΎ Π² ΡΠΎΠΌ, ΡΡΠΎ Π²Ρ ΡΡΠΎΠ»ΠΊΠ½Π΅ΡΠ΅ΡΡ Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°ΠΌΠΈ, ΠΊΠΎΠ³Π΄Π° Π½Π°Π±ΠΎΡ ΡΠ΅ΡΡΠΎΠ² Π½Π΅ Π±ΡΠ΄Π΅Ρ Π½Π°ΠΏΡΡΠΌΡΡ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ Π½Π° Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΡΡ ΠΎΡΠΈΠ±ΠΊΡ.)
Π‘ΠΎΠ²Π΅Ρ: ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΊΠΎΠ½ΡΠΎΠ»Ρ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ² ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ° .Π― Π·Π°ΠΏΡΡΠΊΠ°Ρ ΡΠΎΡ ΠΆΠ΅ ΠΊΠΎΠ΄ Π² ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ Ρ Π½Π΅ΡΠ΄Π°ΡΠ½ΡΠΌ ΡΠ΅ΡΡΠΎΠ²ΡΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠΌ ΠΈ Π²ΠΈΠΆΡ, ΡΡΠΎ ΠΎΠ½ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ Β«undefinedΒ».ΠΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ ΠΊΠΎΠ΄ Π½Π΅ Π²Π΅ΡΠ½ΡΠ» Π½ΠΈΠΊΠ°ΠΊΠΎΠ³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ. Π― Π±ΡΡΡΡΠΎ Π²ΠΈΠΆΡ, ΡΡΠΎ Π·Π°Π±ΡΠ» Π²Π΅ΡΠ½ΡΡΡ Β«ΠΈΡΡΠΈΠ½ΡΒ», Π΅ΡΠ»ΠΈ ΡΡΡΠΎΠΊΠ° ΠΎΠΊΠ°Π·Π°Π»Π°ΡΡ ΠΏΠ°Π»ΠΈΠ½Π΄ΡΠΎΠΌΠΎΠΌ.
ΠΡΠΎ Π±ΡΠ»Π° ΠΎΡΠ΅Π½Ρ ΠΏΡΠΎΡΡΠ°Ρ ΠΎΡΠΈΠ±ΠΊΠ°. Π Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π΅ ΡΠ»ΡΡΠ°Π΅Π² Ρ Π²Π°Ρ Π±ΡΠ΄ΡΡ ΠΎΡΠΈΠ±ΠΊΠΈ, ΡΡΠ΅Π±ΡΡΡΠΈΠ΅ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ Π²Π°ΡΠΈΡ
ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ
. ΠΠ΄ΠΈΠ½ ΠΈΠ· ΠΏΠΎΠ΄Ρ
ΠΎΠ΄ΠΎΠ² ΠΊ ΠΏΡΠΎΠ²Π΅ΡΠΊΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ
β ΡΡΠΎ console.log (
ΠΠ΄Π½Π°ΠΊΠΎ Ρ Π±Ρ ΠΏΠΎΡΠΎΠ²Π΅ΡΠΎΠ²Π°Π» Π²Π°ΠΌ Π²ΠΌΠ΅ΡΡΠΎ ΡΡΠΎΠ³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΎΡΠ»Π°Π΄ΡΠΈΠΊ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ² ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ° . Π ΡΠ²ΠΎΠ΅ΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠΊΠ°Π·Π°ΡΡ ΡΠΎΡΠΊΡ, Ρ ΠΊΠΎΡΠΎΡΠΎΠΉ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ Π½Π°ΡΠ°ΡΡ ΠΏΠΎΠ»ΡΡΠ°ΡΡ ΠΏΠΎΠΌΠΎΡΡ ΠΎΡ ΠΎΡΠ»Π°Π΄ΡΠΈΠΊΠ°.
ΠΡΠ»Π°Π΄ΡΠΈΠΊ ΠΏΠΎΠΊΠ°ΠΆΠ΅Ρ Π²Π°ΠΌ Π²ΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ Π² ΡΡΠ΅ΠΊΠ΅ Π²ΡΠ·ΠΎΠ²ΠΎΠ² ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ Π²Π°ΠΌ ΠΏΠΎΡΠ°Π³ΠΎΠ²ΠΎ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ Π²ΡΠ·ΠΎΠ²Ρ ΡΡΠ½ΠΊΡΠΈΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ Π²Ρ Π½Π°ΠΉΠ΄Π΅ΡΠ΅ ΠΎΡΠ΅Π½Ρ ΠΏΠΎΠ»Π΅Π·Π½ΡΠΌΠΈ.
ΠΡ Π½Π°ΡΡΠΈΡΠ΅ΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΠΎΡΠ»Π°Π΄ΡΠΈΠΊΠΎΠΌ ΠΏΠΎΡΠ»Π΅ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ΡΡ ΠΈΠΌ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ°Π·. ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° ΡΡΡΠ΅Π»ΠΊΠΈ Π² Π½ΠΈΠΆΠ½Π΅ΠΌ Π»Π΅Π²ΠΎΠΌ ΠΏΠΎΠ»Π΅? ΠΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ Π²Π°ΠΌ ΡΠΏΡΠ°Π²Π»ΡΡΡ Ρ ΠΎΠ΄ΠΎΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΈ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΠΏΠΎ ΠΌΠ΅ΡΠ΅ ΠΈΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ.
Π ΡΠ΅ΠΏΠ΅ΡΡ Π·Π°ΠΉΠΌΠ΅ΠΌΡΡ ΡΡΡΠΊΠΎΠΌ.
Π£Π»ΠΎΠ²ΠΊΠ°: ΡΠ΄Π΅Π»Π°ΠΉΡΠ΅ ΠΏΠ΅ΡΡΠΎΠ½Π°Π»ΡΠ½ΡΡ Π½Π°ΡΡΡΠΎΠΉΠΊΡ ΠΎΡΠ»Π°Π΄ΠΊΠΈΠΠ°ΠΊ Π²ΠΈΠ΄Π½ΠΎ Π²ΡΡΠ΅, Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΎΡΠ»Π°Π΄ΡΠΈΠΊΠ° ΠΈ ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ Π»Π΅Π³ΠΊΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ.ΠΠ΄Π½Π°ΠΊΠΎ, Π΅ΡΠ»ΠΈ Ρ Ρ ΠΎΡΡ ΡΠ½ΠΎΠ²Π° Π·Π°ΠΏΡΡΡΠΈΡΡ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½Π½ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π½Π° ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ, ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ² Π²ΡΠ΅Π³ΠΎ ΠΎΠ΄Π½Ρ ΡΡΡΠΎΠΊΡ, ΠΌΠ½Π΅ ΠΏΡΠΈΠ΄Π΅ΡΡΡ ΠΏΠ΅ΡΠ΅ΠΏΠ΅ΡΠ°ΡΠ°ΡΡ Π΅Π΅.
ΠΠ°ΠΆΠ΅ ΠΏΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ Ρ ΠΏΠΎΠ»ΡΡΠ°Ρ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΎΠ± ΠΎΡΠΈΠ±ΠΊΠ΅:
ΠΡΠ° ΠΎΡΠΈΠ±ΠΊΠ° ΡΠ²ΡΠ·Π°Π½Π° Ρ ΡΠ΅ΠΌ, ΡΡΠΎ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π» ΡΡΡΠ΅Π»ΠΎΡΠ½ΡΡ ΡΡΠ½ΠΊΡΠΈΡ ΠΈ Π½Π΅ ΠΌΠΎΠ³Ρ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎ ΠΎΠ±ΡΡΠ²ΠΈΡΡ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΡ . ΠΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ ΠΌΠ½Π΅ ΠΏΡΠΈΠ΄Π΅ΡΡΡ ΠΎΡΠΊΡΡΠ²Π°ΡΡ Π½ΠΎΠ²ΡΡ Π²ΠΊΠ»Π°Π΄ΠΊΡ ΠΈ Π½ΠΎΠ²ΡΡ ΠΊΠΎΠ½ΡΠΎΠ»Ρ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ°Π·, ΠΊΠΎΠ³Π΄Π° Ρ ΠΌΠ΅Π½ΡΡ ΡΠ²ΠΎΠΉ ΠΊΠΎΠ΄. ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ Π½Π°ΠΊΠ»Π°Π΄Π½ΡΠ΅ ΡΠ°ΡΡ ΠΎΠ΄Ρ, ΠΏΡΠ°Π²Π΄Π°?
ΠΠ°Π²Π°ΠΉΡΠ΅ Π½Π°ΠΉΠ΄Π΅ΠΌ ΠΎΠ±Ρ ΠΎΠ΄Π½ΠΎΠΉ ΠΏΡΡΡ. Π Π²Π°ΡΠ΅ΠΉ ΡΠΈΡΡΠ΅ΠΌΠ΅ ΡΠΎΠ·Π΄Π°ΠΉΡΠ΅ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ ΠΈ cd Π² ΡΡΠΎΡ ΠΊΠ°ΡΠ°Π»ΠΎΠ³.
Π’Π΅ΠΏΠ΅ΡΡ ΡΠΎΠ·Π΄Π°ΠΉΡΠ΅ Π΄Π²Π° ΡΠ°ΠΉΠ»Π°: index.js ΠΈ index.html. ΠΠ²Π΅Π΄ΠΈΡΠ΅ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ HTML-ΠΊΠΎΠ΄ Π² index.html:
Π’Π΅ΠΏΠ΅ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΡΠΈΡΠ΅ ΡΠ²ΠΎΠΉ ΠΊΠΎΠ΄ ΠΈΠ· ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ Π² index.js. ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ Π·Π°ΠΏΡΡΡΠΈΠ» ΠΎΡΠ»Π°Π΄ΡΠΈΠΊ Π² ΡΡΡΠΎΠΊΠ΅ 2 ΠΊΠΎΠ΄Π°.
Π’Π΅ΠΏΠ΅ΡΡ Π·Π°ΠΏΡΡΡΠΈΡΠ΅ ΡΠ°ΠΉΠ» index.html Π² Π±ΡΠ°ΡΠ·Π΅ΡΠ΅. ΠΡΠΊΡΠΎΠΉΡΠ΅ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ° ΠΈΠ»ΠΈ ΠΊΠΎΠ½ΡΠΎΠ»Ρ (Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π²Π°ΠΌ ΠΏΡΠΈΠ΄Π΅ΡΡΡ ΠΎΠ±Π½ΠΎΠ²ΠΈΡΡ, ΡΡΠΎΠ±Ρ ΡΠ²ΠΈΠ΄Π΅ΡΡ ΠΎΡΠ»Π°Π΄ΡΠΈΠΊ). ΠΠ΄Π΅ΡΡ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΎΡΠ»Π°Π΄ΠΈΡΡ ΡΠ²ΠΎΠΉ ΠΊΠΎΠ΄.
Π’Π΅ΠΏΠ΅ΡΡ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ°Π·, ΠΊΠΎΠ³Π΄Π° Π²Ρ Π²Π½ΠΎΡΠΈΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² index.js, Π²Ρ ΠΏΡΠΎΡΡΠΎ Π½Π°ΠΆΠΈΠΌΠ°Π΅ΡΠ΅ ΠΊΠ½ΠΎΠΏΠΊΡ Β«ΠΠ±Π½ΠΎΠ²ΠΈΡΡΒ» Π½Π° ΡΡΠΎΠΉ Π²ΠΊΠ»Π°Π΄ΠΊΠ΅, ΠΈ ΠΊΠΎΠ΄ Π·Π°ΠΏΡΡΠΊΠ°Π΅ΡΡΡ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎ. ΠΠ΅ Π½ΡΠΆΠ½ΠΎ Π·Π°ΠΊΡΡΠ²Π°ΡΡ ΠΈ ΠΎΡΠΊΡΡΠ²Π°ΡΡ Π²ΠΊΠ»Π°Π΄ΠΊΠΈ, Π½Π΅ Π½Π°Π±ΠΈΡΠ°ΡΡ ΡΠ΅Π»ΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π·Π°Π½ΠΎΠ²ΠΎ.
ΠΠ΅ΡΠΆΠΈΡΠ΅ ΡΠΎΠ»ΡΠΊΠΎ ΡΡΠΎ ΡΠΎΠ·Π΄Π°Π½Π½ΡΡ ΠΏΠ°ΠΏΠΊΡ ΠΏΠΎΠ΄ ΡΡΠΊΠΎΠΉ. ΠΡΡΠΊΠΈΠΉ ΡΠ°Π·, ΠΊΠΎΠ³Π΄Π° Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΠΏΠΎΠΏΡΠΎΠ±ΠΎΠ²Π°ΡΡ ΠΈΠ»ΠΈ ΠΎΡΠ»Π°Π΄ΠΈΡΡ ΡΡΠ°Π³ΠΌΠ΅Π½Ρ ΠΊΠΎΠ΄Π°, Π²ΡΡΠ°Π²ΡΡΠ΅ Π΅Π³ΠΎ Π² index.js ΠΈ ΠΏΠΎΡΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠΈΡΡΠΉΡΠ΅ !!
ΠΠ°ΠΊΠ»ΡΡΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΌΡΡΠ»ΠΈ
ΠΡΠ»ΠΈ Π²Ρ ΡΠΆΠ΅ ΡΡΠΎ Π·Π½Π°Π»ΠΈ, ΠΏΠΎΠ·Π΄ΡΠ°Π²Π»ΡΡ, Π²Ρ ΠΏΠΎΡΡΠ°ΡΠΈΠ»ΠΈ ΡΠ΅Π½Π½ΡΠ΅ 4 ΠΌΠΈΠ½ΡΡΡ;)
ΠΠ°ΠΊΠΎΠ½Π΅Ρ, ΠΏΠΎΠΌΠ½ΠΈΡΠ΅, ΡΡΠΎ ΠΎΡΠΈΠ±Π°ΡΡΡΡ β ΡΡΠΎ ΡΠ΅Π»ΠΎΠ²Π΅ΠΊ! ΠΠ΅ Π±Π΅ΡΠΏΠΎΠΊΠΎΠΉΡΠ΅ΡΡ ΠΎΠ± ΠΎΡΠΈΠ±ΠΊΠ°Ρ β ΠΎΠ½ΠΈ Π½Π°ΡΡΠ°Ρ Π²Π°Ρ ΡΠ΅Π½Π½Π΅ΠΉΡΠΈΠΌ ΡΡΠΎΠΊΠ°ΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ β¦ Π° ΠΏΠΎΡΠΎΠΌ β¦ Π! ΠΊΡΠ΄Π° Π²Ρ ΠΏΠΎΠΉΠ΄Π΅ΡΠ΅β¦
ΠΠ°ΠΊ ΠΎΡΠ»Π°ΠΆΠΈΠ²Π°ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΈ ΡΠ΅ΡΡΡ JavaScript
Π ΠΌΠΈΡΠ΅ Π±ΠΈΠ·Π½Π΅ΡΠ° ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΡΡΡΠ°ΡΠ΅Π²ΡΠΈΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ JavaScript.Π₯ΠΎΡΡ ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠΈΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΡΠ²Π»ΡΡΡΡΡ ΠΎΠ±ΡΡΠ½ΡΠΌ Π²Π°ΡΠΈΠ°Π½ΡΠΎΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ JavaScript, Π² ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠ΅ Π³ΠΎΠ΄Ρ ΡΠΎΠ·Π΄Π°Π²Π°Π»ΠΎΡΡ Π²ΡΠ΅ Π±ΠΎΠ»ΡΡΠ΅ ΠΈ Π±ΠΎΠ»ΡΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Node.js.
ΠΠΎΠ»Π»Π΅ΠΊΡΠΈΡ Π»ΠΎΠ³ΠΎΡΠΈΠΏΠΎΠ² ΡΠ΅ΡΡΠΎΠ²ΡΡ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠΎΠ²
ΠΡΠΎΠ±Π»Π΅ΠΌΠ°, Ρ ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΌΡ ΡΡΠ°Π»ΠΊΠΈΠ²Π°Π΅ΠΌΡΡ, Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² ΡΠΎΠΌ, ΡΡΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΡΠΎΠ·Π΄Π°ΡΡΡΡ Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ ΡΠ»ΠΎΠΆΠ½ΠΎ ΠΈ ΠΈΠ·-Π·Π° ΡΡΠΎΠ³ΠΎ ΠΈΡ ΡΡΡΠ΄Π½ΠΎ ΠΎΡΠ»Π°ΠΆΠΈΠ²Π°ΡΡ. ΠΡΠΎ Π½Π΅ ΡΠ°Π±ΠΎΡΠ°Π» Π½Π°Π΄ ΡΡΠΈΠΌ ΠΌΠΎΠ½ΠΎΠ»ΠΈΡΠ½ΡΠΌ ΠΌΠΎΠ½ΠΎΠ»ΠΈΡΠ½ΡΠΌ ΠΎΡΠ½ΠΎΠ²Π½ΡΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π±ΡΠ»ΠΎ ΡΠ΄ΡΠΎΠΌ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ, Π½Π°ΠΏΠΈΡΠ°Π½Π½ΡΠΌ Π½Π° Node.js? Express, Sequelize, Middleware Π²Π΅Π·Π΄Π΅ ΠΈ ΡΠΏΠ°Π³Π΅ΡΡΠΈ-ΠΊΠΎΠ΄.ΠΠΎΠ±Π°Π²ΡΡΠ΅ MongoDB, Π΄Π΅Π»Π°ΠΉΡΠ΅ Π½Π΅ΠΏΡΠΈΡΡΠ½ΡΠ΅ Π²Π΅ΡΠΈ Π·Π΄Π΅ΡΡ ΠΈ ΡΠ°ΠΌ, ΠΈ Π²Ρ Π·Π½Π°Π΅ΡΠ΅ ΡΡΠ΅Π΄Ρ ΡΠ²ΠΎΠ΅Π³ΠΎ ΠΊΠΎΡΠΏΠΎΡΠ°ΡΠΈΠ²Π½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ°.
Π’Π΅ΡΡΠΈΡΠΎΠ²Π°ΡΡ ΡΡΠΈ Π²Π΅ΡΠΈ Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ ΡΠ»ΠΎΠΆΠ½ΠΎ ΠΈΠ·-Π·Π° ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π° Π°Π±ΡΡΡΠ°ΠΊΡΠΈΠΉ ΠΈ ΠΏΠΎΠ±ΠΎΡΠ½ΡΡ ΡΡΡΠ΅ΠΊΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΠ½ΠΈ ΠΌΠΎΠ³ΡΡ ΠΈΠΌΠ΅ΡΡ. ΠΡΠ°ΠΊ, Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΡΠ΅ΡΡΠ° β ΡΡΠΎ ΠΏΠ΅ΡΠ²ΡΠΉ ΡΠ°Π³ ΠΊ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΡ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΡ ΠΊΠΎΠ΄Π°, Π½ΠΎ Π½Π° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΡ ΠΊΠΎΠ΄Π° ΠΈ ΡΠΎΠ³ΠΎ, ΡΡΠΎ ΠΎΠ½ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π΄Π΅Π»Π°ΡΡ, ΡΠ²Π»ΡΠ΅ΡΡΡ Π½Π°ΡΠ°Π»ΡΠ½ΡΠΌ ΡΠ°Π³ΠΎΠΌ. Π§Π°ΡΠ΅ Π²ΡΠ΅Π³ΠΎ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ ΠΏΠΈΡΡΡ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ ΠΎ ΡΠΎΠΌ, ΠΊΠ°ΠΊ ΡΡΠΎ-ΡΠΎ Π΄Π΅Π»Π°ΡΡ, Π½ΠΎ Π²Ρ Π·Π½Π°Π΅ΡΠ΅, Π²ΡΠ΅Π³Π΄Π° Π΅ΡΡΡ ΡΠ»ΠΈΡΠΊΠΎΠΌ ΡΠΌΠ½ΡΠ΅ ΠΈΠ½ΠΆΠ΅Π½Π΅ΡΡ, ΡΠΎΠ·Π΄Π°ΡΡΠΈΠ΅ Ρ Π°ΠΊΠ΅ΡΡΠΊΠΈΠ΅ Π°Π±ΡΡΡΠ°ΠΊΡΠΈΠΈ Π²ΠΌΠ΅ΡΡΠΎ Π°Π±ΡΡΡΠ°ΠΊΡΠΈΠΉ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ Π΄ΠΎΡΡΠΈΠΆΠ΅Π½ΠΈΡ ΡΡΠΎΠΉ ΡΠ΅Π»ΠΈ, ΠΏΠΎΡΡΠΎΠΌΡ ΠΊΠΎΠ΄ Π½Π΅ ΡΠΎΠ²ΡΠ΅ΠΌ ΠΏΠΎΠ½ΡΡΠ΅Π½ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°ΠΌ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠ»ΠΎΡ ΠΎ Π·Π½Π°ΠΊΠΎΠΌΡ Ρ ΠΊΠΎΠ΄ΠΎΠΌ.
Π’ΠΎΠ³Π΄Π° ΠΏΠΎΡΡΠΈ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΡΡΠΎΠ±Ρ Π½ΠΎΠ²ΡΠΉ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ ΠΏΠΈΡΠ°Π» ΡΠ΅ΡΡ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΠΎΠ½ / ΠΎΠ½Π° ΠΌΠΎΠΆΠ΅Ρ Π½Π΅ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡΡ Π±ΠΈΠ·Π½Π΅Ρ-ΠΊΠ΅ΠΉΡ, Π½ΠΎ, ΡΡΠΎ Π΅ΡΠ΅ Ρ ΡΠΆΠ΅, ΠΎΠ½ / ΠΎΠ½Π° ΠΌΠΎΠΆΠ΅Ρ Π΄Π°ΠΆΠ΅ Π½Π΅ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡΡ, ΡΡΠΎ Π΄Π΅Π»Π°Π΅Ρ ΠΊΠΎΠ΄. Π§ΡΠΎΠ±Ρ ΠΏΠΎΠ½ΡΡΡ ΡΡΠΎ, ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ Π½Π°ΠΏΠΈΡΠ΅Ρ ΠΎΡΠ»Π°Π΄ΠΎΡΠ½ΡΡ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡ. Π JavaScript ΡΡΠΎ ΠΎΠ±ΡΡΠ½ΠΎ Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΡΠ°ΠΊ:
1
console.log (Β«ΠΠ°ΠΊΠΎΠ½Π΅Ρ-ΡΠΎ Ρ Π·Π΄Π΅ΡΡΒ» + ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ);
ΠΡΠ°ΠΊ, ΠΌΡ ΠΏΠΎΠ»ΡΡΠ°Π΅ΠΌ Π²ΠΈΠ·ΡΠ°Π»ΡΠ½ΡΡ ΠΎΠ±ΡΠ°ΡΠ½ΡΡ ΡΠ²ΡΠ·Ρ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠ΅. ΠΠΎΠΌΠ°Π½Π΄Π½Π°Ρ ΡΡΡΠΎΠΊΠ° β ΡΡΠΎ Π±ΠΎΠ»Π΅Π΅ ΠΈΠ»ΠΈ ΠΌΠ΅Π½Π΅Π΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Π΄Π»Ρ ΠΊΠΎΠ΄Π° ΠΎΡΠ»Π°Π΄ΠΊΠΈ.ΠΠΎ Π½Π° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΡΠ΅ ΡΡΡΠΎΠΊΠΈ Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ°Π»ΠΈΡΡ Π΄Π»Ρ ΠΎΡΠ»Π°Π΄ΠΊΠΈ. ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, ΡΡΠΎΡ Π²ΠΈΠ΄ ΠΎΡΠ»Π°Π΄ΠΊΠΈ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π΄Π»Ρ ΠΏΡΠΎΡΡΡΡ ΡΡΠ°Π³ΠΌΠ΅Π½ΡΠΎΠ² ΠΊΠΎΠ΄Π° Π±Π΅Π· Π±ΠΎΠ»ΡΡΠΎΠ³ΠΎ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π° ΠΏΠΎΠ±ΠΎΡΠ½ΡΡ ΡΡΡΠ΅ΠΊΡΠΎΠ², Π½ΠΎ ΠΊΠΎΠ³Π΄Π° Π²Ρ ΠΏΠΎΠΏΠ°Π΄Π°Π΅ΡΠ΅ Π² ΡΠ»ΠΎΠΆΠ½ΡΠ΅ ΡΡΡΡΠΊΡΡΡΡ if-else ΠΈΠ»ΠΈ Π² ΠΊΠΎΠ΄ Ρ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎΠΌ ΠΏΠΎΠ±ΠΎΡΠ½ΡΡ ΡΡΡΠ΅ΠΊΡΠΎΠ² ΠΈ ΡΡΠ»ΠΎΠ²ΠΈΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ Π²Ρ Π½Π΅ Ρ ΠΎΡΠΈΡΠ΅ ΠΏΠΎΡΡΠΎΡΠ½Π½ΠΎ ΠΎΡΠ»Π°ΠΆΠΈΠ²Π°ΡΡ (ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΡΡΠ΅ ΡΠ΅Π±Π΅ Π΅ΡΠ»ΠΈ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ x ΠΈ y, ΠΏΠΎΠΊΠ°ΠΆΠΈΡΠ΅ ΠΌΠ½Π΅ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ), ΡΠΎΠ³Π΄Π° ΡΠ°ΠΊΠ°Ρ ΡΠ΅Ρ Π½ΠΈΠΊΠ° ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ Π½Π΅ΠΏΡΠΈΡΡΠ½ΠΎΠΉ.
JavaScript, ΠΊΠ°ΠΊ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ, ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ. ΠΡΠΎ ΠΊΠ»ΡΡΠ΅Π²ΠΎΠ΅ ΡΠ»ΠΎΠ²ΠΎ ΠΎΡΠ»Π°Π΄ΡΠΈΠΊΠ°.ΠΠΎ ΡΡΡΠΈ, ΡΡΠΎ ΠΊΠ»ΡΡΠ΅Π²ΠΎΠ΅ ΡΠ»ΠΎΠ²ΠΎ Π΄Π»Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΡΠΎΡΠΊΠΈ ΠΎΡΡΠ°Π½ΠΎΠ²Π° Π² Π²Π°ΡΠ΅ΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅. Π’ΠΎΡΠΊΠ° ΠΎΡΡΠ°Π½ΠΎΠ²Π° β ΡΡΠΎ ΡΡΠ°ΠΏ, Π½Π° ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΊΠΎΠ΄ Π²Π°ΡΠ΅Π³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΎΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΡΡΡ, ΡΡΠΎΠ±Ρ Π²Ρ ΠΌΠΎΠ³Π»ΠΈ Π΅Π³ΠΎ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ. ΠΡΠΎ ΠΏΠΎΡ ΠΎΠΆΠ΅ Π½Π° Π²ΠΎΡΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π²ΠΈΠ΄Π΅ΠΎ ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ, ΠΈ Π²Ρ ΠΏΡΠΎΡΡΠΎ ΠΎΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΡΠ΅ Π²ΠΈΠ΄Π΅ΠΎ Π²ΠΎ Π²ΡΠ΅ΠΌΡ Π²ΠΎΡΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΡ, ΡΡΠΎΠ±Ρ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ Π²Π΅ΡΠΈ Π²ΠΎΠΊΡΡΠ³ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ, ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΡΡΠ΅Π³ΠΎ Π² ΡΡΠΎΠΌ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠΌ Π²ΠΈΠ΄Π΅ΠΎ. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π½Π°ΠΉΡΠΈ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΠ΅ΡΡΡΡΡ ΠΎΠ± ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ΅ ΠΎΡΠ»Π°Π΄ΡΠΈΠΊΠ° Π·Π΄Π΅ΡΡ:
ΠΠ°ΠΆΠ½Π°Ρ ΡΠΈΡΠ°ΡΠ° ΠΈΠ· ΠΎΡΠΈΡΠΈΠ°Π»ΡΠ½ΠΎΠ³ΠΎ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ° ECMAScript:
[β¦] ΠΡΠ»ΠΈ ΠΎΡΠ»Π°Π΄ΡΠΈΠΊ ΠΎΡΡΡΡΡΡΠ²ΡΠ΅Ρ ΠΈΠ»ΠΈ Π°ΠΊΡΠΈΠ²Π΅Π½, ΡΡΠΎΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ Π·Π°ΠΌΠ΅ΡΠ½ΠΎΠ³ΠΎ ΡΡΡΠ΅ΠΊΡΠ°.
ΠΡΠΎ ΡΠΎΡ ΡΠ»ΡΡΠ°ΠΉ, ΠΊΠΎΠ³Π΄Π° Π²Ρ Π·Π°ΠΏΡΡΠΊΠ°Π΅ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Ρ node index.js. ΠΡΠΎ Π±ΠΎΠ»Π΅Π΅ ΠΈΠ»ΠΈ ΠΌΠ΅Π½Π΅Π΅ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΠ²Π΅Π½Π½Π°Ρ ΡΡΠ΅Π΄Π°, Π² ΠΊΠΎΡΠΎΡΠΎΠΉ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Node.js, ΠΈ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ Node.js ΡΠΌΠ΅Π½, ΠΎΠ½ Π½Π΅ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°Π΅Ρ ΠΎΡΠ»Π°Π΄ΡΠΈΠΊ ΠΊ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. Π ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ ΡΡΠΎ Π²ΡΠ·Π²Π°Π½ΠΎ ΡΠ²Π΅Π»ΠΈΡΠ΅Π½ΠΈΠ΅ΠΌ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ. ΠΠ°ΠΏΡΡΠΊ ΠΎΡΠ»Π°Π΄ΡΠΈΠΊΠ° Π²ΡΠ΅Π³Π΄Π° ΡΠ½ΠΈΠΆΠ°Π΅Ρ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΠΈΠΌΠ΅ΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΠΏΡΠΈΠ²ΡΠ·ΠΊΡ ΠΊ ΠΎΡΠ»Π°Π΄ΡΠΈΠΊΡ Π΄Π»Ρ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΡΠ°ΠΊΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΉ, ΠΊΠ°ΠΊ ΠΏΡΠΎΡΠΌΠΎΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ , ΡΠΎΡΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠ°Π΄ΡΠ° ΡΡΠ°ΡΡΠΈΡΠΎΠ²ΠΊΠΈ ΡΡΠ΅ΠΊΠ° ΠΈΠ»ΠΈ ΡΠΎΡΠΊΠΈ ΠΎΡΡΠ°Π½ΠΎΠ²Π°. ΠΡΠΎ, ΠΊΠΎΠ½Π΅ΡΠ½ΠΎ, ΡΡΠΆΠ΅Π»Π°Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ, ΠΊΠΎΡΠΎΡΠ°Ρ Π·Π°ΠΌΠ΅Π΄Π»ΡΠ΅Ρ ΡΠ°Π±ΠΎΡΡ Π²Π°ΡΠ΅Π³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ.
Π§ΡΠΎΠ±Ρ Π²ΠΊΠ»ΡΡΠΈΡΡ ΠΎΡΠ»Π°Π΄ΡΠΈΠΊ ΠΏΡΠΈ Π·Π°ΠΏΡΡΠΊΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Node.js, Π²Π°ΠΌ ΠΏΡΠΎΡΡΠΎ Π½ΡΠΆΠ½ΠΎ Π·Π°ΠΏΡΡΡΠΈΡΡ Π΅Π³ΠΎ Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠΌ --inspect
. ΠΡΠΎ ΠΎΡΠΊΡΠΎΠ΅Ρ ΠΊΠΎΠ½Π΅ΡΠ½ΡΡ ΡΠΎΡΠΊΡ Π²Π°ΡΠ΅Π³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Node.js Π½Π° 127.0.01: 9229
. ΠΠΎΠ½Π΅ΡΠ½Π°Ρ ΡΠΎΡΠΊΠ° Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ ΡΠ΅Π°Π»ΠΈΠ·ΡΠ΅Ρ ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ ΠΎΡΠ»Π°Π΄ΡΠΈΠΊΠ°. Π‘ΡΡΠ΅ΡΡΠ²ΡΡΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ ΠΎΡΠ»Π°Π΄ΡΠΈΠΊΠΈ, ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ node-inspect, ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ° Chrome ΠΈ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ Π΄ΡΡΠ³ΠΈΠ΅, ΠΊΠΎΡΠΎΡΡΠ΅ Π²Ρ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π½Π°ΠΉΡΠΈ Π·Π΄Π΅ΡΡ: https://nodejs.org/de/docs/guides/debugging-getting-started/. ΠΡΠΈΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅ ΠΎΡΠ»Π°Π΄ΡΠΈΠΊΠ° Π² Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π΅ ΡΠ»ΡΡΠ°Π΅Π² Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ Π²ΡΡΡΠ½ΡΡ, ΠΏΠΎ ΠΊΡΠ°ΠΉΠ½Π΅ΠΉ ΠΌΠ΅ΡΠ΅, ΠΎΠ΄ΠΈΠ½ ΡΠ°Π· ΠΈ ΠΌΠΎΠΆΠ΅Ρ ΠΎΠΊΠ°Π·Π°ΡΡΡΡ Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ ΡΠ»ΠΎΠΆΠ½ΡΠΌ Π΄Π»Ρ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ
ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Ρ ΠΏΠ»ΠΎΡ
ΠΎΠΉ ΡΡΡΡΠΊΡΡΡΠΎΠΉ.ΠΡΠΎ ΡΠ°ΠΊΠΆΠ΅ ΠΏΡΠΈΡΠΈΠ½Π° ΡΠΎΠ³ΠΎ, ΠΏΠΎΡΠ΅ΠΌΡ Π²Ρ ΠΏΠΎΡΡΠΈ Π½Π΅ Π²ΠΈΠ΄ΠΈΡΠ΅, ΡΡΠΎ Π½Π° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅ Π½ΠΈΠΊΡΠΎ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΠΎΡΠ»Π°Π΄ΡΠΈΠΊ π€· ΠΠ°ΡΡΡΠΎΠΉΠΊΠ° ΡΠ»ΠΈΡΠΊΠΎΠΌ ΡΠ»ΠΎΠΆΠ½Π° Π΄Π»Ρ Π½Π΅Π±ΠΎΠ»ΡΡΠΎΠΉ ΠΎΡΠ»Π°Π΄ΠΊΠΈ, ΠΏΠΎΡΡΠΎΠΌΡ Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎ Π»ΡΠ΄Π΅ΠΉ ΠΏΡΠ΅Π΄ΠΏΠΎΡΠΈΡΠ°ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΡΠΎΡΡΠΎΠΉ console.log Π²ΠΌΠ΅ΡΡΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΎΡΠ»Π°Π΄ΡΠΈΠΊΠ°. Π ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠΈΡ
ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΡ
ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΠΎ-Π΄ΡΡΠ³ΠΎΠΌΡ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ Chrome ΠΈ Firefox ΠΈΠΌΠ΅ΡΡ ΡΠ²ΠΎΠΈ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠ΅ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠΏΠΎΡΠΎΠ±Π½Ρ ΠΎΡΠ»Π°ΠΆΠΈΠ²Π°ΡΡ ΠΈ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°ΡΡΡΡ ΠΊ ΠΊΠΎΠ΄Ρ JavaScript Π²Π΅Π±-ΡΠ°ΠΉΡΠ°. ΠΠΎ Π² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΡ
Node.js Π²Ρ Π΄ΠΎΠ»ΠΆΠ½Ρ Π·Π°ΠΏΡΡΠΊΠ°ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π² Π΄ΡΡΠ³ΠΎΠΌ Β«ΡΠ΅ΠΆΠΈΠΌΠ΅Β». ΠΠΎ Π΄Π»Ρ ΡΡΠΈΡ
ΠΏΡΠΎΠ±Π»Π΅ΠΌ Π΅ΡΡΡ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ ndb.
ndb β ΡΡΠΎ ΡΠ»ΡΡΡΠ΅Π½Π½ΡΠΉ ΡΠΏΠΎΡΠΎΠ± ΠΎΡΠ»Π°Π΄ΠΊΠΈ Π΄Π»Ρ Node.js, ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΠΌΡΠΉ Chrome DevTools β ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ GitHub Π΄Π»Ρ ndb
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ndb Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ ΠΏΡΠΎΡΡΠΎ. ΠΠ΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΠΎΠ΅, ΡΡΠΎ Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ, ΡΡΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π΅Π³ΠΎ, Π° Π·Π°ΡΠ΅ΠΌ Π·Π°ΠΏΡΡΡΠΈΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Node.js Ρ ndb yarn start. ndb ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΠΎ. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ΄Π΅Π»Π°ΡΡ ΡΡΠΎ:
Π ΠΏΡΠΎΡΠΈΠ²Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π²Ρ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ndb ΠΊΠ°ΠΊ devDependency ΠΈ ΡΠΎΠ·Π΄Π°ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΡΡΠ΅Π½Π°ΡΠΈΡ Node.js Π΄Π»Ρ Π·Π°ΠΏΡΡΠΊΠ° Π²Π°ΡΠ΅Π³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Ρ ΠΏΡΠ΅ΡΠΈΠΊΡΠΎΠΌ ndb.
ΠΠΎ ΡΠΈΡ ΠΏΠΎΡ ΠΌΡ ΡΠΎΡΡΠ΅Π΄ΠΎΡΠΎΡΠΈΠ»ΠΈΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π½Π° Π·Π°ΠΏΡΡΠΊΠ΅ ΠΏΠΎΠ»Π½ΠΎΠΌΠ°ΡΡΡΠ°Π±Π½ΠΎΠ³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Node.js Ρ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½Π½ΡΠΌ ΠΎΡΠ»Π°Π΄ΡΠΈΠΊΠΎΠΌ ΠΈΠ»ΠΈ ndb, Π½ΠΎ ndb ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ ΠΌΠΎΡΠ½ΡΠΌ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΡΠΈΡΠΎΠ΅Π΄ΠΈΠ½ΠΈΡΡ Π΅Π³ΠΎ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ ΠΊ ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡ ΠΏΡΠΎΡΠ΅ΡΡΡ Node.js. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΡΠΈ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ndb yarn test, ΠΊΠΎΡΠΎΡΡΠΉ Π·Π°ΠΏΡΡΠΊΠ°Π΅Ρ Π²Π°ΡΠΈ ΡΠ΅ΡΡΠΎΠ²ΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ. ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΡΡΠΈ ΡΠ΅ΡΡΡ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ Π² ΡΡΠ΅Π΄Π΅ Node.js, Ρ Π²Π°Ρ Π±ΡΠ΄ΡΡ ΠΏΠΎΠ»Π½ΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΎΡΠ»Π°Π΄ΡΠΈΠΊΠ°. ΠΡΠΈΠΌΠ΅Ρ ΠΏΡΠΎΠ΅ΠΊΡΠ° Π― ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΈΠ» ΠΏΡΠΎΡΡΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Node.js, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡΠΈ Π·Π΄Π΅ΡΡ: ΠΈΠ³Π΅Π»ΠΈΠ³Π΅Π»Ρ / Π½Π΄Π±-Π²ΠΈΡΡΠΈΠ½Π° β ΠΡΠΎΠ΅ΠΊΡ Π΄Π»Ρ Π΄Π΅ΠΌΠΎΠ½ΡΡΡΠ°ΡΠΈΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠ°, ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°ΡΡΠ΅Π³ΠΎ, ΠΊΠ°ΠΊ ΠΎΡΠ»Π°ΠΆΠΈΠ²Π°ΡΡ Node.js ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π»Π΅Π³ΠΊΠΎ
ΠΡΠΎΡ ΠΏΡΠΎΠ΅ΠΊΡ ΠΏΡΠΎΡΡΠΎ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΌΠΎΠ΄ΡΠ»Ρ Π² ΡΠ°ΠΉΠ»Π΅ index.js ΠΈ ΡΠΊΡΠΏΠΎΡΡΠΈΡΡΠ΅Ρ ΡΡΠ½ΠΊΡΠΈΡ Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ add, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ Π΄Π²Π° Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ° ΠΈ ΡΠΊΠ»Π°Π΄ΡΠ²Π°Π΅Ρ ΠΈΡ . Π€ΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΡ ΡΠ°ΠΊΠΆΠ΅ ΠΏΠΎΠΊΡΡΠ²Π°Π΅ΡΡΡ ΡΠ΅ΡΡΠΎΠΌ Π² ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅ tests . Π§ΡΠΎ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠΊΠ°Π·Π°ΡΡΡΡ ΡΡΡΠ°Π½Π½ΡΠΌ, ΡΠ°ΠΊ ΡΡΠΎ ΡΠΎ, ΡΡΠΎ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΡ ΠΎΡΠ»Π°Π΄ΡΠΈΠΊΠ° Π²ΡΠ΅ Π΅ΡΠ΅ Π²ΠΊΠ»ΡΡΠ΅Π½Ρ Π² ΡΠ°ΠΉΠ»Ρ JavaScript. ΠΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ Π΄Π΅Π»Π°ΠΉΡΠ΅ ΡΡΠΎΠ³ΠΎ Π² ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΠ²Π΅Π½Π½ΠΎΠΌ ΠΊΠΎΠ΄Π΅ . ΠΡΠΎ Π±ΡΠ»ΠΎ ΠΏΡΠΎΡΡΠΎ Π΄Π»Ρ Π΄Π΅ΠΌΠΎΠ½ΡΡΡΠ°ΡΠΈΠΈ. Π€Π°ΠΉΠ» package.json Π² ΡΡΠΎΠΌ ΠΏΡΠΎΠ΅ΠΊΡΠ΅ ΡΠΎΠ·Π΄Π°Π΅Ρ ΡΠ΅ΡΡΡΠ΅ ΡΡΠ΅Π½Π°ΡΠΈΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠΆΠ΅Ρ Π·Π°ΠΏΡΡΡΠΈΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ:
4
"start": "node cli.js ",
5
" start: debug ":" ndb node cli.js ",
7
" test: debug ":" ndb jest "
ΠΡΠ»ΠΈ Π²Ρ Π·Π°ΠΏΡΡΡΠΈΡΠ΅ start
ΠΈΠ»ΠΈ start: debug
ΠΎΠ½ Π·Π°ΠΏΡΡΡΠΈΡ ΠΏΡΠΈΠΌΠ΅Ρ Β«CLIΒ», Π² ΠΏΡΠΎΡΠΈΠ²Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ test
ΠΈΠ»ΠΈ test: debug
Π΄Π»Ρ Π·Π°ΠΏΡΡΠΊΠ° ΡΠ΅ΡΡΠΎΠ². ΠΠ΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΠΎΠ΅ ΡΠ°Π·Π»ΠΈΡΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ Ρ ΡΡΡΡΠΈΠΊΡΠΎΠΌ : debug
Π±ΡΠ΄Π΅Ρ Π·Π°ΠΏΡΡΠΊΠ°ΡΡ ndb Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΎΠ±ΡΡΠ½ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ.ΠΡΠΈ ΠΈΡ
Π·Π°ΠΏΡΡΠΊΠ΅ ΠΎΡΠΊΡΠΎΠ΅ΡΡΡ ΠΎΠΊΠ½ΠΎ Chrome Π² Chrome Dev Tools.ΠΡΠ»ΠΈ Ρ Π²Π°Ρ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Ρ ΡΠΎΡΠΊΠΈ ΠΎΡΡΠ°Π½ΠΎΠ²Π° Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ° ΠΎΡΠ»Π°Π΄ΡΠΈΠΊΠ°, ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ ΠΎΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ Π½Π° ΡΡΠΈΡ
ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ°Ρ
. ΠΡΠΈΠΌΠ΅ΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ²ΠΈΠ΄Π΅ΡΡ Π½Π° ΡΠ»Π΅Π΄ΡΡΡΠΈΡ
ΡΠ½ΠΈΠΌΠΊΠ°Ρ
ΡΠΊΡΠ°Π½Π°:
ΠΡΠΈΠΌΠ΅Ρ ΡΠΎΡΠΊΠΈ ΠΎΡΡΠ°Π½ΠΎΠ²Π° Chrome Dev Tools
ΠΠ»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Π½ΡΠΉ ΠΏΡΠΈΠΌΠ΅Ρ ΡΠΎΡΠΊΠΈ ΠΎΡΡΠ°Π½ΠΎΠ²Π° Chrome Dev Tools
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²ΠΈΠ΄Π΅ΡΡ, ΡΡΠΎ Ρ Π²Π°Ρ Π΅ΡΡΡ ΠΎΠ±ΡΡΠ½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ Chrome Dev Tools Π±Π΅Π· Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ Π±ΠΎΠ»ΡΡΠΎΠ³ΠΎ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π° ΡΠ°Π±Π»ΠΎΠ½ΠΎΠ², ΡΡΠΎ Π΄Π΅Π»Π°Π΅Ρ ndb ΡΡΠΏΠ΅Ρ ΠΏΠΎΡΡΡΡΠ°ΡΡΠΈΠΌ . ΠΡΠΎ Π΄Π΅Π»Π°Π΅Ρ ΠΎΡΠ»Π°Π΄ΠΊΡ Π±ΠΎΠ»Π΅Π΅ Π΄ΠΎΡΡΡΠΏΠ½ΠΎΠΉ Π΄Π»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ² ΠΈ ΡΠ½ΠΈΠΆΠ°Π΅Ρ ΠΏΡΠ΅ΠΏΡΡΡΡΠ²ΠΈΡ Π΄Π»Ρ ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π½Π°Π΄Π»Π΅ΠΆΠ°ΡΠ΅Π³ΠΎ ΠΎΡΠ»Π°Π΄ΡΠΈΠΊΠ°.
ΠΠ°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ»Π΅Π·Π½ΡΠΌΠΈ ΡΡΠ½ΠΊΡΠΈΡΠΌΠΈ Π·Π΄Π΅ΡΡ, Π²Π΅ΡΠΎΡΡΠ½ΠΎ, ΡΠ²Π»ΡΡΡΡΡ ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ . ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΡΠΎΡΡΠΎ Π½Π°Π²Π΅ΡΡΠΈ ΠΊΡΡΡΠΎΡ Π½Π° ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΠΈ ΠΏΡΠΎΡΠΌΠΎΡΡΠ΅ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ, Π½Π΅ ΠΏΠΎΠΌΠ΅ΡΠ°Ρ ΠΈΡ Π² ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ console.log, ΠΈ, ΡΡΠΎ Π΅ΡΠ΅ Π»ΡΡΡΠ΅, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΠΏΠΎΠ±ΠΎΡΠ½ΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅. Π‘ΡΠΏΠ΅Ρ ΠΊΠ»Π°ΡΡΠ½ΠΎ. ΠΡΡΡ Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ Π±ΠΎΠ»ΡΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠ΅ΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΠΎΠΊΠ°Π·Π°Π½Ρ Π² ΡΡΠΎΠΌ Π²ΠΈΠ΄Π΅ΠΎ Π³ΡΡΠΏΠΏΠ°ΠΌΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ² Chrome:
Π ΠΈΠΌΠ΅Π½Π½ΠΎ ΡΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ Π»Π΅Π³ΠΊΠΎ ΠΎΡΠ»Π°Π΄ΠΈΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Node.js. ΠΠΎΠΆΠ°Π»ΡΠΉΡΡΠ°, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ndb, ΠΏΠΎΠΊΠ°ΠΆΠΈΡΠ΅ Π΅Π³ΠΎ ΡΠ²ΠΎΠΈΠΌ ΠΊΠΎΠ»Π»Π΅Π³Π°ΠΌ ΠΈ ΠΏΠΎΠ΄Π΅Π»ΠΈΡΠ΅ΡΡ ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ΠΉ.
Π Π°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ β€οΈ ΠΎΡΠ»Π°Π΄ΡΠΈΠΊΠΈ Π‘ΠΏΠ°ΡΠΈΠ±ΠΎ, ΡΡΠΎ ΠΏΡΠΎΡΠΈΡΠ°Π»ΠΈ ΡΡΠΎ. Π’Ρ ΡΠΎΠΊ π€ Π’Π°ΠΊΠΆΠ΅ ΠΎΠ·Π½Π°ΠΊΠΎΠΌΡΡΠ΅ΡΡ Ρ Π΄ΡΡΠ³ΠΈΠΌΠΈ ΠΌΠΎΠΈΠΌΠΈ ΡΡΠ°ΡΡΡΠΌΠΈ Π² Π±Π»ΠΎΠ³Π΅, ΡΠ°ΠΊΠΈΠΌΠΈ ΠΊΠ°ΠΊ Β«ΠΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ Π² JavaScriptΒ», Β«Π£Π·Π½Π°ΠΉΡΠ΅, ΠΊΠ°ΠΊ ΡΠ΅ΡΠ°ΠΊΡΠΎΡΠΈΠ½Π³ ΠΎΠ΄Π½ΠΎΡΠ°ΠΉΠ»ΠΎΠ²ΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ² Vue.js Π½Π° ΡΠ΅Π°Π»ΡΠ½ΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅Β» ΠΈΠ»ΠΈ Β«ΠΠ²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΡΠΎΡΠΌΠ°ΡΠ΅ΡΡ Π΄Π»Ρ PythonΒ». ΠΡΠ»ΠΈ Ρ Π²Π°Ρ Π΅ΡΡΡ ΠΎΡΠ·ΡΠ²Ρ ΠΈΠ»ΠΈ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΡΡΠΎ-ΡΠΎ ΠΊ ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅, ΠΏΡΠΎΡΡΠΎ ΠΎΡΡΠ°Π²ΡΡΠ΅ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ Π·Π΄Π΅ΡΡ. ΠΡ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠΎΠ΄ΠΏΠΈΡΠ°ΡΡΡΡ Π½Π° ΠΌΠ΅Π½Ρ Π² Π’Π²ΠΈΡΡΠ΅ΡΠ΅ ΠΈΠ»ΠΈ ΠΏΠΎΡΠ΅ΡΠΈΡΡ ΠΌΠΎΠΉ Π»ΠΈΡΠ½ΡΠΉ ΡΠ°ΠΉΡ, ΡΡΠΎΠ±Ρ Π±ΡΡΡ Π² ΠΊΡΡΡΠ΅ ΠΌΠΎΠΈΡ ΡΡΠ°ΡΠ΅ΠΉ Π² Π±Π»ΠΎΠ³Π΅ ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠ³ΠΎ Π΄ΡΡΠ³ΠΎΠ³ΠΎ.
ΠΠ°ΠΊ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΠΎΡΠ»Π°Π΄ΠΊΡ JavaScript (ΠΌΠ΅ΡΠΎΠ΄Ρ, ΠΊΠΎΡΠΎΡΡΠ΅ Π²Ρ Π΄ΠΎΠ»ΠΆΠ½Ρ Π·Π½Π°ΡΡ Π² 2019 Π³ΠΎΠ΄Ρ π
Π Π°Π·ΡΠ°Π±ΠΎΡΠΊΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ β Π³ΡΠΎΠΌΠΎΠ·Π΄ΠΊΠ°Ρ Π·Π°Π΄Π°ΡΠ°.ΠΠ½ΠΎΠ³Π΄Π° Π²Ρ ΡΠΏΡΠ°Π²Π»ΡΠ΅ΡΠ΅ΡΡ ΡΠΎ ΡΠ²ΠΎΠΈΠΌΠΈ Π·Π°Π΄Π°ΡΠ°ΠΌΠΈ Π±Π΅Π· Π»ΠΈΡΠ½ΠΈΡ Ρ Π»ΠΎΠΏΠΎΡ, Π° ΠΈΠ½ΠΎΠ³Π΄Π° Π±ΡΠ²Π°Π΅Ρ, ΡΡΠΎ Π²Ρ Π½Π΅ ΠΈΠΌΠ΅Π΅ΡΠ΅ Π½ΠΈ ΠΌΠ°Π»Π΅ΠΉΡΠ΅Π³ΠΎ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΎ ΠΏΡΠΈΡΠΎΠ΄Π΅ ΠΈ ΠΏΡΠΎΠΈΡΡ ΠΎΠΆΠ΄Π΅Π½ΠΈΠΈ ΠΎΡΠΈΠ±ΠΎΠΊ.
Π’Π°ΠΊ ΡΡΠΎ ΠΆΠ΅ ΡΠ°ΠΊΠΎΠ΅ ΠΎΡΠ»Π°Π΄ΠΊΠ°?ΠΡΠ»Π°Π΄ΠΊΠ° β ΡΡΠΎ, ΠΏΠΎ ΡΡΡΠΈ, ΡΠ°ΡΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ, Π³Π΄Π΅ ΠΌΡ ΠΈΡΠ΅ΠΌ ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠΈ ΡΡΠΈΡ ΠΎΡΠΈΠ±ΠΎΠΊ ΠΈ ΠΈΡΠΏΡΠ°Π²Π»ΡΠ΅ΠΌ ΠΈΡ . ΠΠΎΠ³Π΄Π° ΡΠ΅Π»ΠΎΠ²Π΅ΠΊ Π½Π°ΡΠΈΠ½Π°Π΅Ρ ΠΈΠ·ΡΡΠ°ΡΡ JavaScript, ΠΎΡΠ»Π°Π΄ΠΊΠ° ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠΊΠ°Π·Π°ΡΡΡΡ Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ ΠΈΠ·Π½ΡΡΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ. ΠΠΎΠΈΡΠΊ ΠΎΡΠΈΠ±ΠΎΠΊ ΠΈ ΠΈΡ ΡΡΡΡΠ°Π½Π΅Π½ΠΈΠ΅ ΠΈΠ½ΠΎΠ³Π΄Π° ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΡΡΠ΄Π½ΡΠΌ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ Π½Π°ΡΠΈΠ½Π°ΡΡΠΈΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ², Π½ΠΎ ΠΈ Π΄Π»Ρ ΠΎΠΏΡΡΠ½ΡΡ .
ΠΠΎΡ Π³Π΄Π΅ Π½Π° ΠΊΠ°ΡΡΠΈΠ½ΠΊΠ΅ ΠΏΠΎΡΠ²Π»ΡΠ΅ΡΡΡ Β« console.log () Β». ΠΡ Π²ΡΠ΅ ΡΠΎΠ³Π»Π°ΡΠΈΠΌΡΡ Ρ ΡΠ΅ΠΌ, ΡΡΠΎ Ρ Π½Π°Ρ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ ΡΠΎΠ±Π»Π°Π·Π½ Π΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ. ΠΠ΅ ΠΏΡΠ°Π²Π΄Π° Π»ΠΈ? ΠΡΠΈΡΠΈΠ½Π° Π² ΡΠΎΠΌ, ΡΡΠΎ Π½ΠΎΠ²ΠΈΡΠΊΠΈ ΠΎΠ±ΡΡΠ½ΠΎ ΠΌΠ°Π»ΠΎ Π·Π½Π°ΡΡ ΠΎΠ± ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°Ρ , ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅ΠΌΡΡ Π±ΡΠ°ΡΠ·Π΅ΡΠΎΠΌ. Π₯ΠΎΡΠΎΡΠ΅Π΅ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ² ΠΎΡΠ»Π°Π΄ΠΊΠΈ Π±ΡΠ°ΡΠ·Π΅ΡΠ° ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠΏΠ°ΡΠ΅Π½ΠΈΠ΅ΠΌ Π΄Π»Ρ ΠΌΠ½ΠΎΠ³ΠΈΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ².
ΠΠ°Π²Π°ΠΉΡΠ΅ Π½Π°ΡΠ½Π΅ΠΌ ΡΡΠΎ ΠΎΠ±ΡΡΠΆΠ΄Π΅Π½ΠΈΠ΅ Ρ ΡΠ°ΠΌΠΎΠ³ΠΎ console.log () ΠΈ ΡΠΎΠ³ΠΎ, ΠΏΠΎΡΠ΅ΠΌΡ Π½Π°ΠΌ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΈΠ·Π±Π΅Π³Π°ΡΡ Π΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ.
ΠΊΠΎΠ½ΡΠΎΠ»Ρ.log ()ΠΡ ΠΏΠΈΡΠ΅ΠΌ console.log () Π² Π½Π°ΡΠ΅ΠΌ ΠΊΠΎΠ΄Π΅, ΡΡΠΎΠ±Ρ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ, Π΄ΠΎΡΡΡΠΏΠ½Ρ Π»ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π² ΡΡΠΎΠΌ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠΌ Π±Π»ΠΎΠΊΠ΅.
ΠΡΠΎ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡ ΠΊ Π΄Π²ΡΠΌ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°ΠΌ. ΠΠ°ΠΌ Π½ΡΠΆΠ½ΠΎ Π½Π°ΠΏΠΈΡΠ°ΡΡ Π΅Π³ΠΎ Π²ΡΡΡΠ½ΡΡ ΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°ΡΡ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ ΠΎΠ΄ΠΈΠ½ Π·Π° Π΄ΡΡΠ³ΠΈΠΌ, ΡΡΠΎΠ±Ρ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ ΠΈΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ. Π₯ΠΎΡΠΎΡΠ΅Π΅ ΡΠΎΠ³Π»Π°ΡΠ΅Π½ΠΈΠ΅ ΠΎ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ ΡΡΠ΅Π±ΡΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π½Π΅ΠΈΠ·Π±ΡΡΠΎΡΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°, ΠΏΠΎΡΡΠΎΠΌΡ Π½Π΅ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ ΡΠ½ΠΎΠ²Π° ΠΈ ΡΠ½ΠΎΠ²Π° Π·Π°ΠΏΠΈΡΡΠ²Π°ΡΡ ΡΡΠΎΡ console.log () Π² ΠΊΠΎΠ΄Π΅.
ΠΡΠΎΠΌΠ΅ ΡΡΠΎΠ³ΠΎ, Π΅ΡΡΡ ΠΈ Π΄ΡΡΠ³ΠΈΠ΅ Π²Π°ΡΠΈΠ°Π½ΡΡ ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ.log (), ΠΎ ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ Π΄ΠΎ ΡΠΈΡ ΠΏΠΎΡ Π½Π΅ ΠΈΠΌΠ΅ΡΡ ΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ.
ΠΠ°Π²Π°ΠΉΡΠ΅ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΠ· ΡΡΠΈΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π΄Π΅ΡΠΆΠ°ΡΡ ΠΏΠΎΠ΄ ΡΡΠΊΠΎΠΉ Π΄Π»Ρ Π±Π΅ΡΠΏΡΠΎΠ±Π»Π΅ΠΌΠ½ΠΎΠΉ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ, Π° ΡΠ°ΠΊΠΆΠ΅ Π΄Π»Ρ ΠΎΡΠ»Π°Π΄ΠΊΠΈ.
ΠΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ ΠΊΠΎΠ½ΡΠΎΠ»Ρ Π΄Π»Ρ ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΈ ΡΡΡΠΎΠΊ ΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ². ΠΡΠΎ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ Π½Π°ΠΌ ΡΠ²ΠΈΠ΄Π΅ΡΡ, Π΄ΠΎΡ ΠΎΠ΄ΠΈΡ Π»ΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π΄ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ Π±Π»ΠΎΠΊΠ° ΠΊΠΎΠ΄Π°. ΠΠΎΠΏΡΡΡΠΈΠΌ, Ρ Π½Π°Ρ Π΅ΡΡΡ ΠΎΠ±ΡΠ΅ΠΊΡ ΠΈΠ»ΠΈ ΠΌΠ°ΡΡΠΈΠ² ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ², ΠΈ ΠΌΡ Ρ ΠΎΡΠΈΠΌ ΡΠ·Π½Π°ΡΡ, ΠΌΠΎΠΆΠ΅Ρ Π»ΠΈ Π±ΡΠ°ΡΠ·Π΅Ρ ΠΈΡΠΊΠ°ΡΡ Π΄Π°Π½Π½ΡΠ΅. Π£Π΄ΠΎΠ±Π½ΠΎ Π±ΡΠ»ΠΎ Π±Ρ Π½Π°ΠΏΠΈΡΠ°ΡΡ console.Π±ΡΠ΅Π²Π½ΠΎ(). ΠΠΎ Π·Π΄Π΅ΡΡ Π΄Π»Ρ ΠΎΡΠΌΠΎΡΡΠ° ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² Π½Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΡΠ°ΡΡΠΈΡΠΈΡΡ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΈΠ· Π½ΠΈΡ . ΠΠ° ΠΏΡΠΎΠ²Π΅ΡΠΊΡ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ° ΡΠΉΠ΄Π΅Ρ ΠΌΠ½ΠΎΠ³ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΠΈ ΡΡΠΈΠ»ΠΈΠΉ.
Π ΠΈΡΡΠ½ΠΎΠΊ 1: ΠΠ½Π°ΡΠ΅Π½ΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ², Π·Π°ΡΠ΅Π³ΠΈΡΡΡΠΈΡΠΎΠ²Π°Π½Π½ΡΡ Π½Π° ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ
ΠΡΠ°ΠΊ, Π²ΠΌΠ΅ΡΡΠΎ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ ΠΏΠΈΡΠ°ΡΡ console.log () Π΄Π»Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΠΌΠ°ΡΡΠΈΠ²Π° ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ², ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π²Π°ΡΠΈΠ°Π½Ρ ΡΡΠΎΠ³ΠΎ, console.table ().
ΠΠ°Π»Π΅Π΅ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ console.table ()ΠΠΎΠ³Π΄Π° ΠΌΡ ΠΏΠ΅ΡΠ΅Π΄Π°Π΅ΠΌ ΠΎΠ±ΡΠ΅ΠΊΡ Π² ΠΊΠΎΠ½ΡΠΎΠ»Ρ.table () Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΡΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ° ΡΠ΅Π³ΠΈΡΡΡΠΈΡΡΠ΅ΡΡΡ Π² ΡΠ°Π±Π»ΠΈΡΠ½ΠΎΠΉ ΡΡΡΡΠΊΡΡΡΠ΅, ΠΈ ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ Π»Π΅Π³ΠΊΠΎ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ. ΠΡΠΎ ΡΡΠΊΠΎΠ½ΠΎΠΌΠΈΡ Π½Π°ΠΌ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ Π½Π° ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ ΠΆΡΡΠ½Π°Π»ΠΎΠ².
Π ΠΈΡΡΠ½ΠΎΠΊ 2: ΠΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ Π²ΡΠ²ΠΎΠ΄, ΡΠ³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ console.table ()
ΠΡΠΈ Π΄Π²Π° ΠΌΠ΅ΡΠΎΠ΄Π° Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π·Π°ΠΏΠΈΡΠ°ΡΡ Π² ΠΊΠΎΠ΄ Π²ΡΡΡΠ½ΡΡ, Π½ΠΎ Ρ Π½Π°Ρ Π΅ΡΡΡ Π΄ΡΡΠ³ΠΎΠΉ ΠΌΠ΅ΡΠΎΠ΄, ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄Π»Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π°Ρ ΠΎΠ΄ΡΡΡΡ Π² ΠΎΠ±Π»Π°ΡΡΠΈ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ, ΠΈ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠ΄Π΅Π»Π°ΡΡ ΡΡΠΎ ΠΈΠ· ΠΎΠΊΠ½Π° Π±ΡΠ°ΡΠ·Π΅ΡΠ° Chrome.
Π’ΠΎΡΠΊΠΈ ΠΎΡΡΠ°Π½ΠΎΠ²Π°Π’ΠΎΡΠΊΠ° ΠΎΡΡΠ°Π½ΠΎΠ²Π° β ΡΡΠΎ Π½Π΅ ΡΡΠΎ ΠΈΠ½ΠΎΠ΅, ΠΊΠ°ΠΊ ΠΊΠ½ΠΎΠΏΠΊΠ° ΠΏΠ°ΡΠ·Ρ. ΠΠ½ ΠΎΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΈ ΠΏΡΠΎΠ²Π΅ΡΡΠ΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² ΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ . ΠΡ ΠΌΠΎΠΆΠ΅ΠΌ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΡΠΎΡΠΊΠΈ ΠΎΡΡΠ°Π½ΠΎΠ²Π°, Π½Π°ΠΏΠΈΡΠ°Π² Π»ΠΎΠ³ΠΈΠΊΡ ΠΎΡΠ»Π°Π΄ΠΊΠΈ Π² ΡΠ°ΠΌΠΎΠΌ ΠΊΠΎΠ΄Π΅ ΠΈΠ»ΠΈ ΠΏΠ΅ΡΠ΅ΠΉΠ΄Ρ Π½Π° Π²ΠΊΠ»Π°Π΄ΠΊΡ ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠΎΠ² Π² ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ΅ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ Π±ΡΠ°ΡΠ·Π΅ΡΠ°.
Π ΠΈΡΡΠ½ΠΎΠΊ 3: Π’ΠΎΡΠΊΠΈ ΠΎΡΡΠ°Π½ΠΎΠ²Π° Π² ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠΎΠ΄Π΅
Π ΡΠ°Π·Π΄Π΅Π»Π΅ ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° Π²Ρ Π½Π°ΠΉΠ΄Π΅ΡΠ΅ ΠΏΠΎΠ»Π½ΡΠΉ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄, Π½Π°Π΄ ΠΊΠΎΡΠΎΡΡΠΌ Π²Ρ Π² Π½Π°ΡΡΠΎΡΡΠ΅Π΅ Π²ΡΠ΅ΠΌΡ ΡΠ°Π±ΠΎΡΠ°Π΅ΡΠ΅.ΠΡ ΡΠ°ΠΊΠΆΠ΅ Π½Π°ΠΉΠ΄Π΅ΡΠ΅ Π²ΡΠ΅ Π΄ΡΡΠ³ΠΈΠ΅ ΡΠ°ΠΉΠ»Ρ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΡΠΈΡΡΡΡΡΠ²ΡΡΡ Π² ΡΡΠΎΠΌ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅. Π©Π΅Π»ΠΊΠ½ΠΈΡΠ΅ Π½ΠΎΠΌΠ΅Ρ ΡΡΡΠΎΠΊΠΈ, ΠΈ ΡΠ΅ΠΏΠ΅ΡΡ ΡΡΠ° ΡΡΡΠΎΠΊΠ° Π±ΡΠ΄Π΅Ρ Π΄Π΅ΠΉΡΡΠ²ΠΎΠ²Π°ΡΡ ΠΊΠ°ΠΊ ΡΠΎΡΠΊΠ° ΠΎΡΡΠ°Π½ΠΎΠ²Π° ΠΈ ΠΎΡΡΠ°Π½ΠΎΠ²ΠΈΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΏΡΠΈ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄Π΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ.
Π ΠΈΡΡΠ½ΠΎΠΊ 4: ΠΠΏΡΠΈΠΈ , Π΄ΠΎΡΡΡΠΏΠ½ΡΠ΅ Π΄Π»Ρ ΡΠΎΡΠ΅ΠΊ ΠΎΡΡΠ°Π½ΠΎΠ²Π°
ΠΠ½ΠΎΠΏΠΊΠ° ΡΠΈΠ½Π΅Π³ΠΎ ΡΠ²Π΅ΡΠ° Π½Π° ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ Π²ΠΎΠ·ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΠΊΡΠΈΠΏΡΠ°. ΠΠΎΠ³Π΄Π° ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΎΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΈΠ·-Π·Π° Π»ΡΠ±ΠΎΠΉ ΡΠΎΡΠΊΠΈ ΠΎΡΡΠ°Π½ΠΎΠ²Π°, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π½Π°ΠΆΠ°ΡΡ Π½Π° ΡΡΡ ΠΊΠ½ΠΎΠΏΠΊΡ. ΠΡΠΎ Π²ΠΎΠ·ΠΎΠ±Π½ΠΎΠ²ΠΈΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅.ΠΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π±ΡΠ΄Π΅Ρ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°ΡΡΡΡ Π΄ΠΎ ΡΠ΅Ρ ΠΏΠΎΡ, ΠΏΠΎΠΊΠ° Π±ΡΠ°ΡΠ·Π΅Ρ Π½Π΅ Π½Π°ΠΉΠ΄Π΅Ρ ΡΠ»Π΅Π΄ΡΡΡΡΡ ΡΠΎΡΠΊΡ ΠΎΡΡΠ°Π½ΠΎΠ²Π°.
ΠΠΎΡΠ»Π΅ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΡΠΎΡΠ΅ΠΊ ΠΎΡΡΠ°Π½ΠΎΠ²Π° Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π²ΠΈΠ³Π°ΡΡΡΡ Π²ΠΏΠ΅ΡΠ΅Π΄ ΠΏΠΎΡΡΡΠΎΡΠ½ΠΎ ΠΈ ΠΏΡΠΎΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΡΠΈΡΡΡΡΡΠ²ΡΡΡ Π² ΠΎΠ±ΡΠ΅ΠΊΡΠ°Ρ . ΠΠΎΡΠ»Π΅ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Π²Ρ Π·Π°ΠΊΠΎΠ½ΡΠΈΡΠ΅ ΠΎΡΠ»Π°Π΄ΠΊΡ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΎΡΠΊΠ»ΡΡΠΈΡΡ ΡΠΎΡΠΊΠΈ ΠΎΡΡΠ°Π½ΠΎΠ²Π°. ΠΡΠΎ Π²ΠΎΠ·ΠΎΠ±Π½ΠΎΠ²ΠΈΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π±Π΅Π· ΠΎΡΠ»Π°Π΄ΠΊΠΈ.
Π’Π΅ΠΏΠ΅ΡΡ Π΄Π°Π²Π°ΠΉΡΠ΅ ΠΏΠΎΡΠΌΠΎΡΡΠΈΠΌ, ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΠΎΡΠ»Π°Π΄ΡΠΈΠΊ Π² ΡΠ°ΠΌ ΠΊΠΎΠ΄.
Π ΠΈΡΡΠ½ΠΎΠΊ 5: ΠΠ°ΠΏΠΈΡΡ Π»ΠΎΠ³ΠΈΠΊΠΈ ΠΎΡΠ»Π°Π΄ΠΊΠΈ Π² ΠΊΠΎΠ΄
ΠΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ ΠΊΠ»ΡΡΠ΅Π²ΠΎΠ΅ ΡΠ»ΠΎΠ²ΠΎ Β«debuggerΒ» Π΄Π»Ρ ΠΎΡΠ»Π°Π΄ΠΊΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ ΡΠ°ΡΡΠΈ ΠΊΠΎΠ΄Π°.Π€ΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΡ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ ΡΠ°ΠΊΠ°Ρ ΠΆΠ΅, ΠΊΠ°ΠΊ Ρ ΡΠΎΡΠ΅ΠΊ ΠΎΡΡΠ°Π½ΠΎΠ²Π°. ΠΠ»ΡΡΠ΅Π²ΠΎΠ΅ ΡΠ»ΠΎΠ²ΠΎ debugger ΠΎΡΡΠ°Π½ΠΎΠ²ΠΈΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π° ΠΈ Π²ΡΠ·ΠΎΠ²Π΅Ρ ΡΡΠ½ΠΊΡΠΈΡ ΠΎΡΠ»Π°Π΄ΡΠΈΠΊΠ°.
Π’Π΅Ρ Π½ΠΈΠΊΠ° ΠΌΠ°ΡΠΊΠΈΡΠΎΠ²ΠΊΠΈ ΡΡΡΠΎΠΊ ΠΊΠ°ΠΊ ΡΠΎΡΠ΅ΠΊ ΠΎΡΡΠ°Π½ΠΎΠ²Π° Π² Π±ΡΠ°ΡΠ·Π΅ΡΠ΅ Π²Π΅ΡΡΠΌΠ° Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½Π°, ΠΊΠΎΠ³Π΄Π° Π½Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΡΡΡΡΠ°Π½ΠΈΡΡ Π½Π΅ΠΏΠΎΠ»Π°Π΄ΠΊΠΈ Π² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ. Π’ΠΎΡΠΊΠΈ ΠΎΡΡΠ°Π½ΠΎΠ²Π° ΠΎΡΠ΅Π½Ρ ΠΏΠΎΠ»Π΅Π·Π½Ρ ΠΏΡΠΈ ΠΏΠΎΠΈΡΠΊΠ΅ ΠΎΡΠΈΠ±ΠΎΠΊ, ΠΊΠΎΠ³Π΄Π° ΠΌΡ ΡΠ°Π±ΠΎΡΠ°Π΅ΠΌ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π΅ ΠΈ Π½Π°ΠΌ ΠΏΡΠΈΡ ΠΎΠ΄ΠΈΡΡΡ ΠΎΡΠ»Π°ΠΆΠΈΠ²Π°ΡΡ ΠΊΠΎΠ΄Ρ, Π½Π°ΠΏΠΈΡΠ°Π½Π½ΡΠ΅ Π΄ΡΡΠ³ΠΈΠΌΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°ΠΌΠΈ.