πβοΈ ΠΠΈΠ·ΡΠ°Π»ΠΈΠ·ΠΈΡΡΡ JavaScript. Π§Π°ΡΡΡ 1/7: ΡΠ΄ΡΠΎ JavaScript [ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄]
Mari Kalyuzhna
Posted on December 6, 2023
ΠΡΠ°ΡΠΊΠ°Ρ ΠΈΠ»Π»ΡΡΡΡΠ°ΡΠΈΡ ΠΏΡΠΎΡΠ΅ΡΡΠ° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΡΠΊΡΠΈΠΏΡΠΎΠ² Π΄Π²ΠΈΠΆΠΊΠΎΠΌ JS
ΠΠ°Π½Π½ΡΠΉ ΡΠ΅ΠΊΡΡ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄ΠΎΠΌ ΠΎΡΠΈΠ³ΠΈΠ½Π°Π»ΡΠ½ΠΎΠΉ ΡΡΠ°ΡΡΠΈ πβοΈ JavaScript Visualized: the JavaScript Engine Π°Π²ΡΠΎΡΡΡΠ²Π° Lydia Hallie. Π ΠΏΡΠΎΡΠ΅ΡΡΠ΅ Π°Π΄Π°ΠΏΡΠ°ΡΠΈΠΈ Π½Π° ΡΡΡΡΠΊΠΈΠΉ ΡΠ·ΡΠΊ Ρ ΠΏΠΎΠΏΡΡΠ°Π»Π°ΡΡ ΡΠΎΡ ΡΠ°Π½ΠΈΡΡ ΡΡΠΈΠ»Ρ Π°Π²ΡΠΎΡΠ°.
Π‘ΡΠ°ΡΡΡ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ°ΡΡΡΡ ΡΠ΅ΡΠΈΠΈ ΠΈΠ· 7-ΠΌΠΈ ΡΠ΅ΠΊΡΡΠΎΠ², Π² ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΠΈΠ΄ΠΈΡ Π΄ΠΎΡΡΡΠΏΠ½ΠΎ, Ρ ΠΆΠΈΠ²ΡΠΌΠΈ ΠΈΠ»Π»ΡΡΡΡΠ°ΡΠΈΡΠΌΠΈ ΠΈ ΡΠΌΠΎΡΠΎΠΌ, ΡΠ°ΡΠΊΡΡΠ²Π°Π΅Ρ ΠΎΠ΄Π½ΠΈ ΠΈΠ· ΡΠ°ΠΌΡΡ Π±Π°Π·ΠΎΠ²ΡΡ ΠΈ, Π²ΠΌΠ΅ΡΡΠ΅ Ρ ΡΠ΅ΠΌ, ΡΠ»ΠΎΠΆΠ½ΡΡ Π΄Π»Ρ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΡ ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΠΉ ΠΈ ΠΏΡΠΈΠ½ΡΠΈΠΏΠΎΠ² JavaScript.
ΠΡΡΡΠΏΠ»Π΅Π½ΠΈΠ΅
JavaScript ΠΎΡΠ΅Π½Ρ ΠΊΡΡΡ (ΠΈ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ Π½Π° ΠΌΠΎΠΉ Π²Π·Π³Π»ΡΠ΄). ΠΠΎ ΠΊΠ°ΠΊ, ΡΠΏΡΠΎΡΠΈΡΠ΅ ΠΡ, ΠΌΠ°ΡΠΈΠ½Π° ΠΌΠΎΠΆΠ΅Ρ Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡΡ ΠΊΠΎΠ΄, ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΡ ΠΏΠΈΡΠ΅ΠΌ? ΠΠ°ΠΌ, JavaScript ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°ΠΌ, ΠΎΠ±ΡΡΠ½ΠΎ Π½Π΅ ΠΏΡΠΈΡ ΠΎΠ΄ΠΈΡΡΡ ΠΈΠΌΠ΅ΡΡ Π΄Π΅Π»ΠΎ Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ Ρ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠ°ΠΌΠΈ. ΠΠ΄Π½Π°ΠΊΠΎ, Π½Π΅ΠΏΠ»ΠΎΡ ΠΎ Π±Ρ ΠΈΠΌΠ΅ΡΡ Π±Π°Π·ΠΎΠ²ΡΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΎΠ± ΡΡΡΡΠΎΠΉΡΡΠ²Π΅ ΡΠ΄ΡΠ° JavaScript ΠΈ Π·Π½Π°ΡΡ, ΠΊΠ°ΠΊ Π² Π½ΡΠΌ Π½Π°Ρ human-friendly ΠΊΠΎΠ΄ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°Π΅ΡΡΡ ΠΈ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΠ΅ΡΡΡ Π² ΠΌΠ°ΡΠΈΠ½Π½ΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ. π₯³
ΠΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅! ΠΠ°Π½Π½ΡΠΉ ΠΏΠΎΡΡ, Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ, ΠΎΠΏΠΈΡΠ°Π΅ΡΡΡ Π½Π° Π΄Π²ΠΈΠΆΠΎΠΊ V8, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠΉ Π² Node.js ΠΈ Chromium-ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΡ Π±ΡΠ°ΡΠ·Π΅ΡΠ°Ρ .
ΠΡΠ°ΠΊ. Π§ΡΠΎ ΠΆΠ΅ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ βΠ·Π° ΠΊΡΠ»ΠΈΡΠ°ΠΌΠΈβ?
ΠΡΠ°ΠΏ 1. ΠΠΎΡΠΎΠΊ Π±Π°ΠΉΡΠΎΠ²
ΠΠ°ΡΡΠ΅Ρ HTML ΡΡΠ°Π»ΠΊΠΈΠ²Π°Π΅ΡΡΡ Ρ ΡΡΠ³ΠΎΠΌ script
Ρ ΡΠΊΠ°Π·Π°Π½ΠΈΠ΅ΠΌ ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠ°. ΠΠΎΠ΄ ΠΈΠ· ΡΡΠΎΠ³ΠΎ ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠ° Π·Π°ΠΏΡΠ°ΡΠΈΠ²Π°Π΅ΡΡΡ ΠΈΠ· ΡΠ΅ΡΠΈ, ΠΊΡΡΠ° ΠΈΠ»ΠΈ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΡΠ΅ΡΠ²ΠΈΡ Π²ΠΎΡΠΊΠ΅ΡΠ° (service worker). ΠΡΠ²Π΅ΡΠΎΠΌ Π½Π° Π·Π°ΠΏΡΠΎΡ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠΊΡΠΈΠΏΡ, ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Π½ΡΠΉ Π² Π²ΠΈΠ΄Π΅ ΠΏΠΎΡΠΎΠΊΠ° Π±Π°ΠΉΡΠΎΠ². ΠΠ°Π±ΠΎΡΠ° ΠΎΠ± ΡΡΠΎΠΌ ΠΏΠΎΡΠΎΠΊΠ΅ ΠΏΠΎΡΡΡΠ°Π΅ΡΡΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΠΎ ΠΎΠ±ΡΡΠ΅Π½Π½ΠΎΠΌΡ Π΄Π΅ΠΊΠΎΠ΄Π΅ΡΡ ΠΏΠΎΡΠΎΠΊΠ° Π±Π°ΠΉΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠΉ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°Π΅Ρ Π΄Π°Π½Π½ΡΠ΅ ΠΏΠΎ ΠΌΠ΅ΡΠ΅ Π·Π°Π³ΡΡΠ·ΠΊΠΈ :)
1 || Π‘ΠΊΡΠΈΠΏΡ Π·Π°Π³ΡΡΠΆΠ°Π΅ΡΡΡ Π² Π²ΠΈΠ΄Π΅ ΠΏΠΎΡΠΎΠΊΠ° Π±Π°ΠΉΡΠΎΠ² Π² ΠΊΠΎΠ΄ΠΈΡΠΎΠ²ΠΊΠ΅ UTF-16 ΠΈΠ· ΡΠ΅ΡΠΈ, ΠΊΡΡΠ° ΠΈΠ»ΠΈ Π²ΠΎΡΠΊΠ΅ΡΠ° ΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡΡΡ Π² Π΄Π΅ΠΊΠΎΠ΄Π΅Ρ ΠΏΠΎΡΠΎΠΊΠ° Π±Π°ΠΉΡΠΎΠ²
ΠΡΠ°ΠΏ 2. ΠΠ΅ΠΊΠΎΠ΄Π΅Ρ ΠΏΠΎΡΠΎΠΊΠ° Π±Π°ΠΉΡΠΎΠ²
ΠΠ΅ΠΊΠΎΠ΄Π΅Ρ ΠΏΠΎΡΠΎΠΊΠ° Π±Π°ΠΉΡΠΎΠ² ΡΠΎΠ·Π΄Π°ΡΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠ΅ ΡΠΎΠΊΠ΅Π½Ρ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΠΏΠΎΡΡΡΠΏΠΈΠ²ΡΠ΅Π³ΠΎ ΠΏΠΎΡΠΎΠΊΠ°. Π’Π°ΠΊ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, 0066
Β ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΠ΅ΡΡΡ Π² f
, 0075
Β β Π²Β u
, 006e
Β β Π² n
, 0063
Β β Π² c
, 0074
Β β Π² t
, 0069
Β β Π² i
,Β 006f
Β β Π²o
, Π° 006e
Β ΠΏΡΠ΅Π²ΡΠ°ΡΠΈΡΡΡ Π²Β n
Β Ρ ΠΏΠΎΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΏΡΠΎΠ±Π΅Π»ΠΎΠΌ. ΠΠ°ΠΆΠ΅ΡΡΡ, Π·Π΄Π΅ΡΡ Π±ΡΠ»ΠΎ Π·Π°ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°Π½ΠΎ ΠΊΠ»ΡΡΠ΅Π²ΠΎΠ΅ ΡΠ»ΠΎΠ²ΠΎ function
! Π JavaScript ΡΡΠΎ ΠΎΠ΄Π½ΠΎ ΠΈΠ· ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΡ
Π·Π°ΡΠ΅Π·Π΅ΡΠ²ΠΈΡΠΎΠ²Π°Π½Π½ΡΡ
ΡΠ»ΠΎΠ². ΠΡΠ°ΠΊ ΡΠΎΠΊΠ΅Π½ Π±ΡΠ» ΡΠΎΠ·Π΄Π°Π½ ΠΈ ΠΎΡΠΏΡΠ°Π²Π»Π΅Π½ Π² ΠΏΠ°ΡΡΠ΅Ρ (ΠΈ ΠΏΡΠ΅ΠΏΠ°ΡΡΠ΅Ρ, ΡΡΠΎ ΠΏΠΎΠΊΠ° Π½Π΅ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΎ Π² ΠΈΠ»Π»ΡΡΡΡΠ°ΡΠΈΡΡ
, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΠΌΡ Π²Π΅ΡΠ½ΡΠΌΡΡ ΠΊ ΡΡΠΎΠΌΡ ΠΌΠΎΠΌΠ΅Π½ΡΡ ΠΏΠΎΠ·ΠΆΠ΅). ΠΠΎΡ
ΠΎΠΆΠ°Ρ ΡΡΠ΄ΡΠ±Π° ΠΏΠΎΡΡΠΈΠ³Π°Π΅Ρ ΠΈ Π²ΡΠ΅ ΠΎΡΡΠ°Π»ΡΠ½ΡΠ΅ ΡΠΈΠΌΠ²ΠΎΠ»Ρ Π²ΠΎ Π²Ρ
ΠΎΠ΄ΡΡΠ΅ΠΌ ΠΏΠΎΡΠΎΠΊΠ΅ Π±Π°ΠΉΡΠΎΠ².
2 || ΠΠ΅ΠΊΠΎΠ΄Π΅Ρ ΠΏΠΎΡΠΎΠΊΠ° Π±Π°ΠΉΡΠΎΠ² ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄ΠΈΡ Π±Π°ΠΉΡΡ Π² ΡΠΎΠΊΠ΅Π½Ρ. Π’ΠΎΠΊΠ΅Π½Ρ ΠΎΡΠΏΡΠ°Π²Π»ΡΡΡΡΡ Π² ΠΏΠ°ΡΡΠ΅Ρ
ΠΡΠ°ΠΏ 3. ΠΠ°ΡΡΠ΅Ρ ΠΈ ΠΠ±ΡΡΡΠ°ΠΊΡΠ½ΠΎΠ΅ Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΠ΅ΡΠ΅Π²ΠΎ
Π―Π΄ΡΠΎ Π΄Π²ΠΈΠΆΠΊΠ° Π½Π° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅ ΡΠΎΡΡΠΎΠΈΡ Π°ΠΆ ΠΈΠ· Π΄Π²ΡΡ ΠΏΠ°ΡΡΠ΅ΡΠΎΠ²: ΠΏΡΠ΅ΠΏΠ°ΡΡΠ΅ΡΠ° (pre-parser) ΠΈ ΠΏΠ°ΡΡΠ΅ΡΠ° (parser). Π ΠΏΠΎΠΏΡΡΠΊΠ°Ρ ΡΠΎΠΊΡΠ°ΡΠΈΡΡ Π²ΡΠ΅ΠΌΡ Π·Π°Π³ΡΡΠ·ΠΊΠΈ Π²Π΅Π±-ΡΠ°ΠΉΡΠ°, Π΄Π²ΠΈΠΆΠΎΠΊ ΡΡΠ°ΡΠ°Π΅ΡΡΡ Π½Π΅ ΠΏΠ°ΡΡΠΈΡΡ ΠΊΠΎΠ΄, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ Π½Π΅Ρ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ ΡΡΠ°Π·Ρ, ΠΏΡΡΠΌΠΎ ΡΠ΅ΠΉΡΠ°Ρ. ΠΡΠ΅ΠΏΠ°ΡΡΠ΅Ρ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°Π΅Ρ ΠΊΠΎΠ΄, ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ ΠΏΠΎΠ·ΠΆΠ΅, Π² ΡΠΎ Π²ΡΠ΅ΠΌΡ ΠΊΠ°ΠΊ ΠΏΠ°ΡΡΠ΅Ρ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π½Π°Π΄ ΠΊΠΎΠ΄ΠΎΠΌ, ΠΊΠΎΡΠΎΡΡΠΉ Π½ΡΠΆΠ΅Π½ βΠ·Π΄Π΅ΡΡ ΠΈ ΡΠ΅ΠΉΡΠ°Ρβ!
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΅ΡΠ»ΠΈ ΠΊΠ°ΠΊΠ°Ρ-ΡΠΎ ΡΡΠ½ΠΊΡΠΈΡ Π²ΡΠ·ΡΠ²Π°Π΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΊΠΎΠ³Π΄Π° ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π½Π°ΠΆΠΈΠΌΠ°Π΅Ρ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡ, Π½Π΅Ρ Π½ΡΠΆΠ΄Ρ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°ΡΡ ΡΡΡ ΡΠ°ΡΡΡ ΠΊΠΎΠ΄Π° Π½Π΅ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎ Π΄Π»Ρ Π·Π°Π³ΡΡΠ·ΠΊΠΈ ΡΠ°ΠΉΡΠ°. Π Π²ΠΎΡ, ΠΊΠΎΠ³Π΄Π° ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π²ΡΠ·ΠΎΠ²Π΅Ρ ΡΠΎΠ±ΡΡΠΈΠ΅ ΠΊΠ»ΠΈΠΊΠ° ΠΏΠΎ ΠΊΠ½ΠΎΠΏΠΊΠ΅, Π·Π°ΠΏΡΠ°ΡΠΈΠ²Π°Ρ ΡΠ΅ΠΌ ΡΠ°ΠΌΡΠΌ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΡ ΡΡΠ½ΠΊΡΠΈΡ, ΡΠΎΠ³Π΄Π° ΠΏΠ°ΡΡΠ΅Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π΅Ρ.
ΠΠ°ΡΡΠ΅Ρ Π³Π΅Π½Π΅ΡΠΈΡΡΠ΅Ρ ΡΠ·Π»Ρ (Π½ΠΎΠ΄Ρ), ΠΎΡΠ½ΠΎΠ²Π°Π½Π½ΡΠ΅ Π½Π° ΡΠΎΠΊΠ΅Π½Π°Ρ , ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΡΡ ΠΈΠ· Π΄Π΅ΠΊΠΎΠ΄Π΅ΡΠ° ΠΏΠΎΡΠΎΠΊΠ° Π±Π°ΠΉΡΠΎΠ². ΠΠ· ΡΡΠΈΡ ΡΠ·Π»ΠΎΠ² ΡΠΎΡΠΌΠΈΡΡΠ΅ΡΡΡ ΠΠ±ΡΡΡΠ°ΠΊΡΠ½ΠΎΠ΅ Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΠ΅ΡΠ΅Π²ΠΎ (Abstract Syntax Tree, AST). π³
3 || ΠΠ°ΡΡΠ΅Ρ Π³Π΅Π½Π΅ΡΠΈΡΡΠ΅Ρ ΡΠ·Π»Ρ, ΠΎΡΠ½ΠΎΠ²Π°Π½Π½ΡΠ΅ Π½Π° ΡΠΎΠΊΠ΅Π½Π°Ρ , ΠΈ ΡΠΎΠ·Π΄Π°ΡΡ ΠΠ±ΡΡΡΠ°ΠΊΡΠ½ΠΎΠ΅ Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΠ΅ΡΠ΅Π²ΠΎ
ΠΡΠ°ΠΏ 4. ΠΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡ
ΠΠ°ΠΊΠΎΠ½Π΅Ρ, Π² Π΄Π΅Π»ΠΎ Π²ΡΡΡΠΏΠ°Π΅Ρ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡ! ΠΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΡΠΎΡ ΠΎΠ΄ΠΈΡ ΡΠ΅ΡΠ΅Π· AST, ΠΈ Π³Π΅Π½Π΅ΡΠΈΡΡΠ΅Ρ Π±Π°ΠΉΡΠΎΠ²ΡΠΉ ΠΊΠΎΠ΄, ΠΎΡΠ½ΠΎΠ²Π°Π½Π½ΡΠΉ Π½Π° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ, ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΠΎΠΉ ΠΎΡ AST. ΠΠΎΡΠ»Π΅ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΊΠΎΠ΄ ΡΠ³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°Π½ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ, ΠΠ±ΡΡΡΠ°ΠΊΡΠ½ΠΎΠ΅ Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΠ΅ΡΠ΅Π²ΠΎ ΡΠ΄Π°Π»ΡΠ΅ΡΡΡ, ΠΎΡΠΈΡΠ°Ρ ΠΏΠ°ΠΌΡΡΡ. ΠΡΠ°ΠΊ, Π½Π°ΠΊΠΎΠ½Π΅Ρ, ΠΌΡ ΠΈΠΌΠ΅Π΅ΠΌ ΡΡΠΎ-ΡΠΎ, Ρ ΡΠ΅ΠΌ ΠΌΠΎΠΆΠ΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π½Π°ΡΠ° ΠΌΠ°ΡΠΈΠ½Π° (ΠΊΠΎΠΌΠΏΡΡΡΠ΅Ρ/ΡΠ΅Π»Π΅ΡΠΎΠ½ ΠΈ Ρ.Π΄.)! π
4 || ΠΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡ ΠΏΡΠΎΡ ΠΎΠ΄ΠΈΡΡΡ ΠΏΠΎ AST (ΠΠ±ΡΡΡΠ°ΠΊΡΠ½ΠΎΠ΅ Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΠ΅ΡΠ΅Π²ΠΎ) ΠΈ Π³Π΅Π½Π΅ΡΠΈΡΡΠ΅Ρ Π±Π°ΠΉΡΠΎΠ²ΡΠΉ ΠΊΠΎΠ΄
ΠΡΠ°ΠΏ 5. ΠΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΡΡΡΠΈΠΉ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ
Π₯ΠΎΡΡ Π±Π°ΠΉΡ-ΠΊΠΎΠ΄ Π±ΡΡΡΡΡΠΉ, ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π±ΡΡΡΡΠ΅Π΅. ΠΠΎ ΠΌΠ΅ΡΠ΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΡΠΎΠ³ΠΎ Π±Π°ΠΉΡ-ΠΊΠΎΠ΄Π° Π³Π΅Π½Π΅ΡΠΈΡΡΠ΅ΡΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ. ΠΠ½ ΠΌΠΎΠΆΠ΅Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ, ΡΠ°ΡΡΠΎ Π»ΠΈ ΠΏΠΎΠ²ΡΠΎΡΡΠ΅ΠΌΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ΅ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅, Π° ΡΠ°ΠΊΠΆΠ΅ ΡΠΈΠΏΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΡ Π΄Π°Π½Π½ΡΡ . ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π²Ρ Π²ΡΠ·ΡΠ²Π°Π΅ΡΠ΅ ΠΊΠ°ΠΊΡΡ-ΡΠΎ ΡΡΠ½ΠΊΡΠΈΡ Π΄Π΅ΡΡΡΠΊΠΈ ΡΠ°Π·: ΠΏΡΠΈΡΠ»ΠΎ Π²ΡΠ΅ΠΌΡ Π΅Π΅ ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ, ΡΡΠΎΠ±Ρ ΠΎΠ½Π° ΡΠ°Π±ΠΎΡΠ°Π»Π° Π΅ΡΠ΅ Π±ΡΡΡΡΠ΅Π΅! ππ½ββοΈ
ΠΠ°ΠΉΡ-ΠΊΠΎΠ΄ Π²ΠΌΠ΅ΡΡΠ΅ Ρ ΡΠΈΠ΄Π±Π΅ΠΊΠΎΠΌ ΡΠ³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΡΠΈΠΏΠ° ΠΎΡΠΏΡΠ°Π²Π»ΡΠ΅ΡΡΡ ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΡΡΡΠ΅ΠΌΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΡ. ΠΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΡΡΡΠΈΠΉ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ Π±Π°ΠΉΡ-ΠΊΠΎΠ΄ ΠΈ ΡΠΈΠ΄Π±ΡΠΊ ΡΠΈΠΏΠ° ΠΈ Π³Π΅Π½Π΅ΡΠΈΡΡΠ΅Ρ Π½Π° ΠΈΡ ΠΎΡΠ½ΠΎΠ²Π΅ Π²ΡΡΠΎΠΊΠΎΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΠΌΠ°ΡΠΈΠ½Π½ΡΠΉ ΠΊΠΎΠ΄. π
5 || ΠΠ°ΠΉΡβΠΊΠΎΠ΄ ΠΈ ΡΠΈΠ΄Π±Π΅ΠΊ ΡΠΈΠΏΠ° ΠΎΡΠΏΡΠ°Π²Π»ΡΡΡΡΡ Π² ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΡΡΡΠΈΠΉ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ, ΠΊΠΎΡΠΎΡΡΠΉ Π³Π΅Π½Π΅ΡΠΈΡΡΠ΅Ρ Π²ΡΡΠΎΠΊΠΎ ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΠΌΠ°ΡΠΈΠ½Π½ΡΠΉ ΠΊΠΎΠ΄
ΠΡΠΎ ΡΠ°Π±ΠΎΡΡ Π΄Π²ΠΈΠΆΠΊΠ° Ρ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΎΠΉ ΡΠΈΠΏΠΈΠ·Π°ΡΠΈΠ΅ΠΉ
JavaScript β ΡΡΠΎ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈ ΡΠΈΠΏΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΡΠ·ΡΠΊ, Π° ΡΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ ΡΠΈΠΏΡ Π΄Π°Π½Π½ΡΡ ΠΌΠΎΠ³ΡΡ ΠΏΠΎΡΡΠΎΡΠ½Π½ΠΎ ΠΌΠ΅Π½ΡΡΡΡΡ. ΠΡΠ»ΠΎ Π±Ρ ΠΎΡΠ΅Π½Ρ ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎ, Π΅ΡΠ»ΠΈ Π±Ρ Π΄Π²ΠΈΠΆΠΊΡ JavaScript ΠΏΡΠΈΡ ΠΎΠ΄ΠΈΠ»ΠΎΡΡ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ°Π· ΠΏΡΠΎΠ²Π΅ΡΡΡΡ, ΠΊΠ°ΠΊΠΎΠΉ ΡΠΈΠΏ Π΄Π°Π½Π½ΡΡ ΠΈΠΌΠ΅Π΅Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅.
Π§ΡΠΎΠ±Ρ ΡΠΎΠΊΡΠ°ΡΠΈΡΡ Π²ΡΠ΅ΠΌΡ, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΠ΅ Π΄Π»Ρ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΈΠΈ ΠΊΠΎΠ΄Π°, ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΠΌΠ°ΡΠΈΠ½Π½ΡΠΉ ΠΊΠΎΠ΄ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°Π΅Ρ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ΅ ΡΠ»ΡΡΠ°ΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ Π΄Π²ΠΈΠΆΠΎΠΊ Π²ΠΈΠ΄Π΅Π» ΡΠ°Π½ΡΡΠ΅ ΠΏΡΠΈ Π·Π°ΠΏΡΡΠΊΠ΅ Π±Π°ΠΉΡ-ΠΊΠΎΠ΄Π°. ΠΡΠ»ΠΈ ΠΌΡ Π½Π΅ΠΎΠ΄Π½ΠΎΠΊΡΠ°ΡΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠΉ ΡΡΠ°Π³ΠΌΠ΅Π½Ρ ΠΊΠΎΠ΄Π°, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠ½ΠΎΠ²Π° ΠΈ ΡΠ½ΠΎΠ²Π° Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π» ΠΎΠ΄ΠΈΠ½ ΠΈ ΡΠΎΡ ΠΆΠ΅ ΡΠΈΠΏ Π΄Π°Π½Π½ΡΡ , ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΠΌΠ°ΡΠΈΠ½Π½ΡΠΉ ΠΊΠΎΠ΄ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΎΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎ, ΡΡΠΎΠ±Ρ ΡΡΠΊΠΎΡΠΈΡΡ ΠΏΡΠΎΡΠ΅ΡΡ. ΠΠ΄Π½Π°ΠΊΠΎ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ JavaScript ΡΠ²Π»ΡΠ΅ΡΡΡ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈ ΡΠΈΠΏΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΌ, ΠΌΠΎΠΆΠ΅Ρ ΡΠ»ΡΡΠΈΡΡΡΡ ΡΠ°ΠΊ, ΡΡΠΎ ΠΎΠ΄ΠΈΠ½ ΠΈ ΡΠΎΡ ΠΆΠ΅ ΡΡΠ°Π³ΠΌΠ΅Π½Ρ ΠΊΠΎΠ΄Π° Π²Π½Π΅Π·Π°ΠΏΠ½ΠΎ Π²Π΅ΡΠ½Π΅Ρ Π΄Π°Π½Π½ΡΠ΅ Π΄ΡΡΠ³ΠΎΠ³ΠΎ ΡΠΈΠΏΠ°. ΠΡΠ»ΠΈ ΡΡΠΎ ΠΏΡΠΎΠΈΠ·ΠΎΠΉΠ΄Π΅Ρ, ΠΌΠ°ΡΠΈΠ½Π½ΡΠΉ ΠΊΠΎΠ΄ Π±ΡΠ΄Π΅Ρ Π΄Π΅ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°Π½, ΠΈ Π΄Π²ΠΈΠΆΠΎΠΊ Π²Π΅ΡΠ½Π΅ΡΡΡ ΠΊ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΈΠΈ ΡΠ³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ Π±Π°ΠΉΡ-ΠΊΠΎΠ΄Π°.
ΠΠΎΠΏΡΡΡΠΈΠΌ, ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½Π°Ρ ΡΡΠ½ΠΊΡΠΈΡ Π²ΡΠ·ΡΠ²Π°Π΅ΡΡΡ 100 ΡΠ°Π· ΠΈ Π΄ΠΎ ΡΠΈΡ ΠΏΠΎΡ Π²ΡΠ΅Π³Π΄Π° Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π»Π° ΠΎΠ΄Π½ΠΎ ΠΈ ΡΠΎ ΠΆΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅. ΠΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅ΡΡΡ , ΡΡΠΎ ΠΎΠ½ ΡΠ°ΠΊΠΆΠ΅ Π²Π΅ΡΠ½Π΅Ρ ΡΡΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΡΠΈ 101-ΠΌ Π²ΡΠ·ΠΎΠ²Π΅.
ΠΠΎΠΏΡΡΡΠΈΠΌ, Ρ Π½Π°Ρ Π΅ΡΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΠ°Ρ ΡΡΠ½ΠΊΡΠΈΡ sum
, ΠΊΠΎΡΠΎΡΠ°Ρ (Π΄ΠΎ ΡΠΈΡ
ΠΏΠΎΡ) Π²ΡΠ΅Π³Π΄Π° Π²ΡΠ·ΡΠ²Π°Π»Π°ΡΡ Ρ ΡΠΈΡΠ»ΠΎΠ²ΡΠΌΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΡΠΌΠΈ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ² ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ°Π·:
function sum(a, b) {
return a + b
}
sum(1, 2)
ΠΡΠ·ΠΎΠ² ΡΡΠ½ΠΊΡΠΈΠΈ Π² ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Π²ΡΡΠ΅ Π²Π΅ΡΠ½ΡΡ ΡΠΈΡΠ»ΠΎ 3
! Π ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΡΠ°Π·, ΠΊΠΎΠ³Π΄Π° ΠΌΡ Π²ΡΠ·ΠΎΠ²Π΅ΠΌ Π½Π°ΡΡ ΡΡΠ½ΠΊΡΠΈΡ, Π΄Π²ΠΈΠΆΠΎΠΊ Π±ΡΠ΄Π΅Ρ ΡΡΠΈΡΠ°ΡΡ, ΡΡΠΎ ΠΌΡ Π²ΡΠ·ΡΠ²Π°Π΅ΠΌ Π΅Ρ ΡΠ½ΠΎΠ²Π° Ρ Π΄Π²ΡΠΌΡ ΡΠΈΡΠ»ΠΎΠ²ΡΠΌΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΡΠΌΠΈ.
ΠΡΠ»ΠΈ ΡΡΠΎ ΠΏΡΠ°Π²Π΄Π°, Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΏΠΎΠΈΡΠΊ Π½Π΅ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ, ΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΎΡΡΠΎ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΠΌΠ°ΡΠΈΠ½Π½ΡΠΉ ΠΊΠΎΠ΄. Π ΠΏΡΠΎΡΠΈΠ²Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅, Π΅ΡΠ»ΠΈ ΠΏΡΠ΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π±ΡΠ»ΠΎ Π½Π΅Π²Π΅ΡΠ½ΡΠΌ, Π²ΠΌΠ΅ΡΡΠΎ ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΌΠ°ΡΠΈΠ½Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° ΠΏΡΠΎΠΈΠ·ΠΎΠΉΠ΄Π΅Ρ Π²ΠΎΠ·Π²ΡΠ°Ρ ΠΊ ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠΌΡ Π±Π°ΠΉΡΠΎΠ²ΠΎΠΌΡ ΠΊΠΎΠ΄Ρ.
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΡΠΈ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ Π²ΡΠ·ΠΎΠ²Π΅ ΠΌΡ ΠΏΠ΅ΡΠ΅Π΄Π°Π΄ΠΈΠΌ ΡΡΡΠΎΠΊΡ Π²ΠΌΠ΅ΡΡΠΎ ΡΠΈΡΠ»Π°. ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ JavaScript ΡΠ²Π»ΡΠ΅ΡΡΡ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈ ΡΠΈΠΏΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΌ, ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠ΄Π΅Π»Π°ΡΡ ΡΡΠΎ Π±Π΅Π· ΠΊΠ°ΠΊΠΈΡ
-Π»ΠΈΠ±ΠΎ ΠΎΡΠΈΠ±ΠΎΠΊ!
function sum(a, b) {
return a + b
}
sum('1', 2)
Π ΡΠ°ΠΊΠΎΠΌ ΡΠ»ΡΡΠ°Π΅, ΡΠΈΡΠ»ΠΎΒ 2
Π±ΡΠ΄Π΅Ρ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΎ Π² ΡΡΡΠΎΠΊΡ, ΠΈ Π²ΠΌΠ΅ΡΡΠΎ ΡΠΈΡΠ»Π° 3 ΡΡΠ½ΠΊΡΠΈΡ Π²Π΅ΡΠ½Π΅Ρ ΡΡΡΠΎΠΊΡΒ "12"
. ΠΠ²ΠΈΠΆΠΎΠΊ JavaScript Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΡΡΡ ΠΊ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ Π±Π°ΠΉΡ-ΠΊΠΎΠ΄Π° ΠΈ ΠΎΠ±Π½ΠΎΠ²Π»ΡΠ΅Ρ ΠΎΠ±ΡΠ°ΡΠ½ΡΡ ΡΠ²ΡΠ·Ρ ΠΎ ΡΠΈΠΏΠ΅.
ΠΠ°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
ΠΠ°Π΄Π΅ΡΡΡ, ΡΡΠΎΡ ΠΏΠΎΡΡ Π±ΡΠ» ΠΏΠΎΠ»Π΅Π·Π΅Π½ Π΄Π»Ρ Π²Π°Ρ! ΠΠΎΠ½Π΅ΡΠ½ΠΎ, ΠΎΡΡΠ°ΡΡΡΡ Π΅ΡΡ ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ°ΡΡΠ΅ΠΉ ΡΠ΄ΡΠ° JS, ΠΊΠΎΡΠΎΡΡΠ΅ Ρ Π½Π΅ ΡΠ°ΡΠΊΡΡΠ»Π° Π² ΡΡΠΎΠΌ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»Π΅ (JS heap, ΡΡΠ΅ΠΊ Π²ΡΠ·ΠΎΠ²ΠΎΠ², ΠΈ Ρ.Π΄.), ΠΎ ΠΊΠΎΡΠΎΡΡΡ Ρ ΡΠ°ΡΡΠΊΠ°ΠΆΡ ΠΏΠΎΠ·ΠΆΠ΅! Π― ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΡ Π²Π°ΠΌ Π½Π°ΡΠ°ΡΡ ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎ ΠΏΡΠΎΠ²ΠΎΠ΄ΠΈΡΡ ΠΈΡΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΡ, Π΅ΡΠ»ΠΈ Π²Ρ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΡΠ΅ΡΠ΅ΡΡ Π²Π½ΡΡΡΠ΅Π½Π½ΠΈΠΌΠΈ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΡΠΌΠΈ JavaScript. V8 ΠΈΠΌΠ΅Π΅Ρ ΠΎΡΠΊΡΡΡΡΠΉ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄ ΠΈ ΠΈΠΌΠ΅Π΅Ρ ΠΎΡΠ»ΠΈΡΠ½ΡΡ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ ΠΎ ΡΠΎΠΌ, ΠΊΠ°ΠΊ ΠΎΠ½ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΏΠΎΠ΄ ΠΊΠ°ΠΏΠΎΡΠΎΠΌ!Β π€
ΠΠΎΠ»Π΅Π·Π½ΡΠ΅ ΡΡΡΠ»ΠΊΠΈ: V8 DocsΒ ||Β V8 GithubΒ ||Β Chrome University 2018: Life Of A Script
Π ΠΎΠ»ΠΈΠΊ Π½Π° YouTube Π½Π° Π°Π½Π³Π»ΠΈΠΉΡΠΊΠΎΠΌ, Π³Π΄Π΅ ΠΠΈΠ΄ΠΈΡ Π΅ΡΡ Π±ΠΎΠ»Π΅Π΅ Π½Π°Π³Π»ΡΠ΄Π½ΠΎ ΡΠ°Π·Π±ΠΈΡΠ°Π΅Ρ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ Π΄Π²ΠΈΠΆΠΊΠ° JavaScript:
Understanding the V8 JavaScript Engine
Lydia Hallie Π² ΡΠΎΡΡΠ΅ΡΡΡ : TwitterΒ ||Β InstagramΒ ||Β GitHubΒ ||Β LinkedIn || Website
P.S. ΠΠ²ΡΠΎΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»Π° Keynote Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π°Π½ΠΈΠΌΠ°ΡΠΈΠΉ ΠΈ Π·Π°ΠΏΠΈΡΠ΅ΠΉ ΡΠΊΡΠ°Π½Π°.
P.P.S. Π ΡΠ»Π΅Π΄ΡΡΡΠΈΡ ΡΡΠ°ΡΡΡΡ Π±ΡΠ΄ΡΡ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π½Ρ ΡΠ°ΠΊΠΈΠ΅ ΡΡΡΠΊΠΈ, ΠΊΠ°ΠΊ ΠΠΎΠ΄Π½ΡΡΠΈΠ΅ (hoisting), Π¦ΠΈΠΊΠ» ΡΠΎΠ±ΡΡΠΈΠΉ (event loop), ΠΎΠ±Π»Π°ΡΡΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ (scope chain), ΠΏΡΠΎΡΠΎΡΠΈΠΏΠ½ΠΎΠ΅ Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΠ΅ (prototypal inheritance), Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΡ ΠΈ ΠΈΡΠ΅ΡΠ°ΡΠΎΡΡ (generators ans iterators), ΠΏΡΠΎΠΌΠΈΡΡ (promises) ΠΈ async/await
Posted on December 6, 2023
Join Our Newsletter. No Spam, Only the good stuff.
Sign up to receive the latest update from our blog.
Related
December 6, 2023