Π 1995 Π³ΠΎΠ΄Ρ ΠΡΠ΅Π½Π΄Π°Π½ ΠΠΉΠΊ Π±ΡΠ» Π½Π°Π½ΡΡ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠ΅ΠΉ Netscape ΠΈ ΠΏΠΎΠΏΡΠΎΡΠΈΠ»ΠΈ ΡΠΎΠ·Π΄Π°ΡΡ ΡΠ·ΡΠΊ Π΄Π»Ρ ΠΈΡ Π±ΡΠ°ΡΠ·Π΅ΡΠ° HTML. Π‘Π»ΡΡ ΠΈ Π³ΠΎΠ²ΠΎΡΡΡ, ΡΡΠΎ ΠΎΠ½ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π» Mocha Π·Π° 10 Π΄Π½Π΅ΠΉ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΠ·ΠΆΠ΅ Π±ΡΠ» ΠΏΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ Π² LiveScript, Π° Π·Π°ΡΠ΅ΠΌ Π² JavaScript. ΠΠ»Π°Π½ΠΈΡΠΎΠ²Π°Π»ΠΎΡΡ, ΡΡΠΎ ΠΎΠ½ Π±ΡΠ΄Π΅Ρ ΠΏΠΎΡ ΠΎΠΆ Π½Π° Scheme, ΡΠ·ΡΠΊ Ρ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠΎΠΌ LISP. ΠΠ΄Π½Π°ΠΊΠΎ, ΡΡΠΎΠ±Ρ ΡΠ³ΠΎΠ΄ΠΈΡΡ ΡΠ΅Π»Π΅Π²ΠΎΠΉ Π°ΡΠ΄ΠΈΡΠΎΡΠΈΠΈ ΠΊΠΎΠ΄Π΅ΡΠΎΠ² Π½Π° C++/Java, ΠΎΠ½ Π±ΡΠ» ΡΠ΄Π΅Π»Π°Π½ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ ΠΏΠΎΡ ΠΎΠΆΠΈΠΌ Π½Π° Java. Π 2008 Π³ΠΎΠ΄Ρ ΠΡΠ΅Π½Π΄Π°Π½ ΡΠΎΠ²Π΅ΡΡΠΈΠ» ΡΡΠ°Π³ΠΈΡΠ΅ΡΠΊΡΡ ΠΎΡΠΈΠ±ΠΊΡ: ΠΎΠ½ ΠΏΠΎΠΆΠ΅ΡΡΠ²ΠΎΠ²Π°Π» $1,000 Π² ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΡ ΠΊΠ°Π»ΠΈΡΠΎΡΠ½ΠΈΠΉΡΠΊΠΎΠ³ΠΎ Π·Π°ΠΊΠΎΠ½Π° ΠΏΡΠΎΡΠΈΠ² ΠΎΠ΄Π½ΠΎΠΏΠΎΠ»ΡΡ Π±ΡΠ°ΠΊΠΎΠ² Proposition 8. Π 2014 Π³ΠΎΠ΄Ρ ΠΎΠ½ ΡΡΠ°Π» CEO Mozilla, ΠΈ ΠΏΡΠ±Π»ΠΈΠΊΠ° Π²ΡΠΏΠΎΠΌΠ½ΠΈΠ»Π° Π΅Π³ΠΎ ΠΆΠ΅ΡΡ ΠΏΡΠΎΡΠΈΠ² ΡΠ°Π·Π½ΠΎΠΎΠ±ΡΠ°Π·ΠΈΡ. ΠΠΌΡ ΠΏΡΠΈΡΠ»ΠΎΡΡ ΡΠΉΡΠΈ ΡΠΎ ΡΠ²ΠΎΠ΅Π³ΠΎ ΠΏΠΎΡΡΠ° ΠΈ ΠΎΡΠ½ΠΎΠ²Π°ΡΡ Brave Software, ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ° Brave Π±ΡΠ°ΡΠ·Π΅ΡΠ°. ΠΠ΄Π΅-ΡΠΎ Π² ΡΡΠΎ Π²ΡΠ΅ΠΌΡ ΠΎΠ½ΠΈ Π½Π°ΡΠ°Π»ΠΈ ΡΠ±ΠΈΠ²Π°ΡΡ JavaScript. ΠΠ΄Π½Π°ΠΊΠΎ Π΄ΠΎ ΡΠΈΡ ΠΏΠΎΡ ΡΡΠΎ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ ΡΡΠΏΠ΅ΡΠ½ΠΎ, Π±Π»Π°Π³ΠΎΠ΄Π°ΡΡ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΌ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡΠΌ ECMAScript ΠΈ TypeScript.
Π JavaScript, ΡΠΎΠ·Π΄Π°Π½Π½ΠΎΠΌ 30 Π»Π΅Ρ Π½Π°Π·Π°Π΄, ΠΎΠ±ΡΠ΅ΠΊΡΡ Π±ΡΠ»ΠΈ ΠΏΡΠΈΠΌΠΈΡΠΈΠ²Π½ΡΠΌΠΈ Π°ΡΡΠΎΡΠΈΠ°ΡΠΈΠ²Π½ΡΠΌΠΈ ΠΌΠ°ΡΡΠΈΠ²Π°ΠΌΠΈ ΡΠ²ΠΎΠΉΡΡΠ². Π ΡΠ²ΠΎΠΉΡΡΠ²Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠ° ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΈΠΊΡΠ΅ΠΏΠΈΡΡ ΠΊΠ°ΠΊ Π΄Π°Π½Π½ΡΠ΅, ΡΡΠ½ΠΊΡΠΈΡ, ΡΠ°ΠΊ ΠΈ Π΄ΡΡΠ³ΠΎΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ. ΠΠΎΡΠΌΠΎΡΡΠΈΠΌ, ΡΡΠΎ ΡΠΊΠ°Π·Π°Π» ΠΡΠ΅Π½Π΄Π°Π½ ΠΎ JS Π² 2008 Π³ΠΎΠ΄Ρ:
Π€ΡΠ½ΠΊΡΠΈΠΈ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ° ΠΎΠ·Π½Π°ΡΠ°ΡΡ, ΡΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΠ½ΠΊΡΠΈΡ ΠΊΠ°ΠΊ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅, ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π΅ΠΌΠΎΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ. Π ΡΠΎΠ³Π΄Π° ΠΎΠ½ Π·Π°ΠΊΠ»ΡΡΠΈΠ» (ΠΎΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ C, Π° Π½Π΅ C++):
Self, Π½Π° ΠΊΠΎΡΠΎΡΡΠΉ ΠΎΠ½ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ°Π· ΡΡΡΠ»Π°Π΅ΡΡΡ, ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ·ΡΠΊΠΎΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΠΎΡΠ½ΠΎΠ²Π°Π½Π½ΡΠΌ Π½Π° ΠΏΡΠΎΡΠΎΡΠΈΠΏΠ°Ρ , ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π½Π½ΡΠΌ ΠΡΠ²ΠΈΠ΄ΠΎΠΌ Π£Π½Π³Π°ΡΠΎΠΌ ΠΈ Π ΡΠ½Π΄Π°Π»Π»ΠΎΠΌ Π‘ΠΌΠΈΡΠΎΠΌ Π² Xerox PARC, Π·Π°ΡΠ΅ΠΌ Π² Π‘ΡΡΠ½ΡΠΎΡΠ΄ΡΠΊΠΎΠΌ ΡΠ½ΠΈΠ²Π΅ΡΡΠΈΡΠ΅ΡΠ΅, Π° Π·Π°ΡΠ΅ΠΌ Π² Sun Microsystems. Π Self Π½Π΅Ρ ΠΊΠ»Π°ΡΡΠΎΠ², Π² ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΠΎΡ Java ΠΈΠ»ΠΈ C++. ΠΠΌΠ΅ΡΡΠΎ ΡΡΠΎΠ³ΠΎ Ρ Π½Π΅Π³ΠΎ Π΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΡ. ΠΠ»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ° Π² Self ΠΌΡ ΡΠΎΠ·Π΄Π°Π΅ΠΌ ΠΊΠΎΠΏΠΈΡ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠ΅Π³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ°, ΠΈΠ·Π²Π΅ΡΡΠ½ΠΎΠ³ΠΎ ΠΊΠ°ΠΊ ΠΏΡΠΎΡΠΎΡΠΈΠΏ, Π° Π·Π°ΡΠ΅ΠΌ ΠΌΠΎΠ΄ΠΈΡΠΈΡΠΈΡΡΠ΅ΠΌ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΠ· Π΅Π³ΠΎ ΡΠ»ΠΎΡΠΎΠ² (Π°ΡΡΠΈΠ±ΡΡΠΎΠ²).
Π Self ΠΎΠ±ΡΠ΅ΠΊΡΡ Π½Π΅ ΠΈΠΌΠ΅ΡΡ ΡΠΈΠΏΠΎΠ²: Π²ΡΠ΅ Π²ΡΠ·ΠΎΠ²Ρ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΡΡΡΡ Π²ΠΎ Π²ΡΠ΅ΠΌΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΌΡ ΠΏΡΠΎΡΠΈΠΌ ΠΊΠ½ΠΈΠ³Ρ ΠΏΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°ΡΡ ΡΠ΅Π±Ρ:
rename - ΡΡΠΎ ΠΌΠ΅ΡΠΎΠ΄ book, ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΡ Π²ΡΠ·ΡΠ²Π°Π΅ΠΌ Ρ ΠΎΠ΄Π½ΠΈΠΌ ΡΡΡΠΎΠΊΠΎΠ²ΡΠΌ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠΌ. ΠΠΎΠΌΠΏΡΡΡΠ΅Ρ Π½ΠΈΡΠ΅Π³ΠΎ Π½Π΅ Π·Π½Π°Π΅Ρ ΠΎ book Π΄ΠΎ ΡΠΎΠ³ΠΎ ΠΌΠΎΠΌΠ΅Π½ΡΠ°, ΠΏΠΎΠΊΠ° Π½Π΅ ΠΏΡΠΈΠ΄Π΅Ρ Π²ΡΠ΅ΠΌΡ Π²ΡΠ·Π²Π°ΡΡ ΠΌΠ΅ΡΠΎΠ΄ rename. ΠΡΠ΅Π²ΠΈΠ΄Π½ΠΎ, ΡΠ°ΠΊΠΎΠ΅ duck typing ΠΈΠΌΠ΅Π΅Ρ ΡΠ²ΠΎΠΈ Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΊΠΈ Π² ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ. ΠΠ°ΠΆΠ΄ΡΠΉ Π²ΡΠ·ΠΎΠ² rename ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡ ΠΊ ΠΏΠΎΠΈΡΠΊΡ Π² Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠΉ ΡΠ°Π±Π»ΠΈΡΠ΅ book. Π ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΠΎΡ ΡΡΠΎΠ³ΠΎ, C++, Π³Π΄Π΅ ΡΠΈΠΏΡ ΠΈΠ·Π²Π΅ΡΡΠ½Ρ Π½Π° ΡΡΠ°ΠΏΠ΅ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ, ΠΌΠΎΠΆΠ΅Ρ ΠΌΠ³Π½ΠΎΠ²Π΅Π½Π½ΠΎ ΠΎΡΠΏΡΠ°Π²ΠΈΡΡ rename():
Π’ΠΈΠΏΡ (ΠΊΠ»Π°ΡΡΡ Π² C++ ΠΈ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡ Π² Java) ΠΈ Π°Π½Π½ΠΎΡΠ°ΡΠΈΠΈ ΡΠΈΠΏΠΎΠ² ΠΏΠΎΠ»Π΅Π·Π½Ρ β Π΄Π»Ρ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠ°. ΠΠ»Ρ Π½Π°Ρ, Π»ΡΠ΄Π΅ΠΉ, ΠΎΠ½ΠΈ ΡΠ²Π»ΡΡΡΡΡ ΠΎΠ±ΡΠ΅ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ. ΠΠ½ΠΈ ΡΡΠ΅Π±ΡΡΡ ΠΎΡ Π½Π°Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΠ°Π±ΠΎΡΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠ°. ΠΠ°ΠΌ ΠΏΡΠΈΡ
ΠΎΠ΄ΠΈΡΡΡ Π·Π°Π³ΡΡΠ·Π½ΡΡΡ Π½Π°Ρ ΠΊΠΎΠ΄ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡΠΌΠΈ Π²ΡΠΎΠ΄Π΅: βΠΡΠΎΡ ΠΎΠ±ΡΠ΅ΠΊΡ b ΠΈΠΌΠ΅Π΅Ρ ΡΠΈΠΏ Book, ΠΏΠΎΠΆΠ°Π»ΡΠΉΡΡΠ°, Π·Π°ΠΏΠΎΠΌΠ½ΠΈΡΠ΅.β ΠΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΡΠΌΠ½ΡΠΌ, ΡΡΠΎΠ±Ρ ΠΏΠΎΠ½ΡΡΡ ΡΡΠΎ Π±Π΅Π· Π½Π°ΡΠΈΡ
Π½Π°ΠΌΠ΅ΠΊΠΎΠ².
Π₯ΠΎΡΡ ΡΡΠΎ ΠΈ ΡΠΏΠΎΡΠ½Π°Ρ ΡΠ΅ΠΌΠ°. ΠΠ΅ΠΊΠΎΡΠΎΡΡΠ΅ ΡΡΠΈΡΠ°ΡΡ, ΡΡΠΎ Π°Π½Π½ΠΎΡΠ°ΡΠΈΠΈ ΡΠΈΠΏΠΎΠ² ΠΏΠΎΠΌΠΎΠ³Π°ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠ°ΠΌ Π»ΡΡΡΠ΅ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡΡ ΠΊΠΎΠ΄ ΠΈ Π΄Π΅Π»Π°ΡΡ ΠΌΠ΅Π½ΡΡΠ΅ ΠΎΡΠΈΠ±ΠΎΠΊ. Π― ΡΠΎΠΆΠ΅ Π·Π° ΠΌΠ΅Π½ΡΡΠ΅Π΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΎΡΠΈΠ±ΠΎΠΊ, Π½ΠΎ ΠΏΡΠ΅Π΄ΠΏΠΎΡΠ΅Π» Π±Ρ, ΡΡΠΎΠ±Ρ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎ Π²ΡΠ²ΠΎΠ΄ΠΈΠ» ΡΠΈΠΏΡ, Π±Π΅Π· ΠΌΠΎΠΈΡ
Π°Π½Π½ΠΎΡΠ°ΡΠΈΠΉ. ΠΡΠ»ΠΈ Ρ Π²ΡΠ·ΡΠ²Π°Ρ b.rename() ΠΈ b ΠΈΠ·Π²Π΅ΡΡΠ½ΠΎ ΠΊΠ°ΠΊ ΠΌΠ°ΡΠΈΠ½Π°, Π° Π½Π΅ ΠΊΠ½ΠΈΠ³Π°, Ρ ΠΎΠΆΠΈΠ΄Π°Ρ, ΡΡΠΎ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎ ΡΠ°Π·Π±Π΅ΡΠ΅ΡΡΡ Π² ΡΡΠΎΠΌ ΠΈ ΠΎΡΠΊΠ°ΠΆΠ΅ΡΡΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°ΡΡ.
Π Π»ΡΠ±ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅, JavaScript Π±ΡΠ» ΡΠΎΠ·Π΄Π°Π½ ΠΊΠ°ΠΊ ΡΠ·ΡΠΊ Ρ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΎΠΉ ΡΠΈΠΏΠΈΠ·Π°ΡΠΈΠ΅ΠΉ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΠΏΡΠΎΡΠΎΡΠΈΠΏΠΎΠ² Ρ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΠΈΡΡΠΈΡΠ½ΡΠΌ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠΎΠΌ, Π½Π°ΠΏΠΎΠΌΠΈΠ½Π°ΡΡΠΈΠΌ Java. ΠΡΠΎ ΡΠ°Π±ΠΎΡΠ°Π»ΠΎ ΠΏΡΠ΅ΠΊΡΠ°ΡΠ½ΠΎ Π΄ΠΎ ΡΠ΅Ρ ΠΏΠΎΡ, ΠΏΠΎΠΊΠ° ΠΈΠ½Π΄ΡΡΡΡΠΈΡ Π½Π΅ ΡΠ΅ΡΠΈΠ»Π° βΠΈΡΠΏΡΠ°Π²ΠΈΡΡβ Π΅Π³ΠΎ.
Π 2008 Π³ΠΎΠ΄Ρ Mozilla ΠΈ Π΄ΡΡΠ³ΠΈΠ΅ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠΈΠ»ΠΈ ECMAScript 4, ΠΊΠΎΡΠΎΡΡΠΉ Π²ΠΊΠ»ΡΡΠ°Π» ΠΊΠ»Π°ΡΡΡ, ΠΌΠΎΠ΄ΡΠ»ΠΈ ΠΈ Π΄ΡΡΠ³ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ. Microsoft Π·Π°Π½ΡΠ»Π° ΠΊΡΠ°ΠΉΠ½ΡΡ ΠΏΠΎΠ·ΠΈΡΠΈΡ, ΠΎΡΠΊΠ°Π·Π°Π²ΡΠΈΡΡ ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡ Π»ΡΠ±ΡΡ ΡΠ°ΡΡΡ ES4. ΠΡΠΈΡ Π£ΠΈΠ»ΡΠΎΠ½, Π°ΡΡ ΠΈΡΠ΅ΠΊΡΠΎΡ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ Internet Explorer Π² Microsoft, ΠΊΡΠΈΡΠΈΠΊΠΎΠ²Π°Π» ES4 Π·Π° ΠΏΠΎΠΏΡΡΠΊΡ Π²Π½Π΅Π΄ΡΠΈΡΡ ΡΠ»ΠΈΡΠΊΠΎΠΌ ΠΌΠ½ΠΎΠ³ΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ. ΠΡΠ΅Π½Π΄Π°Π½ ΠΠΉΠΊ ΠΎΠ±Π²ΠΈΠ½ΠΈΠ» Π£ΠΈΠ»ΡΠΎΠ½Π° Π² ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½ΠΈΠΈ Π»ΠΎΠΆΠ½ΡΡ ΡΠ²Π΅Π΄Π΅Π½ΠΈΠΉ ΠΈ ΠΈΠ³ΡΠ΅ Π² ΠΏΠΎΠ»ΠΈΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΈΠ³ΡΡ. ES4 Π±ΡΠ» ΠΏΠΎΠΊΠΈΠ½ΡΡ, ΠΈ ΠΊΠ»Π°ΡΡΡ Π±ΡΠ»ΠΈ ΠΎΡΠ±ΡΠΎΡΠ΅Π½Ρ.
ΠΠ°ΡΠ΅ΠΌ, Π² 2012 Π³ΠΎΠ΄Ρ, Microsoft ΡΠΎΠ·Π΄Π°Π»Π° TypeScript, JavaScript Ρ Π°Π½Π½ΠΎΡΠ°ΡΠΈΡΠΌΠΈ ΡΠΈΠΏΠΎΠ² ΠΈ ΠΊΠ»Π°ΡΡΠ°ΠΌΠΈ. ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΊΠ»Π°ΡΡΠΎΠ² Π½Π΅ Π±ΡΠ»ΠΎ Π² ΡΡΠ°Π½Π΄Π°ΡΡΠ΅, Microsoft ΡΠΎΠ·Π΄Π°Π»Π° ΡΠ²ΠΎΠΉ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠΉ.
ΠΠ°ΠΊΠΎΠ½Π΅Ρ, Π² 2015 Π³ΠΎΠ΄Ρ, ECMAScript 6 Π΄ΠΎΠ±Π°Π²ΠΈΠ» ΠΊΠ»Π°ΡΡΡ (ΡΡΠ΅Π΄ΠΈ Π΄ΡΡΠ³ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΉ) Π² ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ JavaScript. ΠΠ½ΠΎΠ³ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ ES4, Π²ΠΊΠ»ΡΡΠ°Ρ ΠΊΠ»Π°ΡΡΡ, Π±ΡΠ»ΠΈ Π²ΠΎΠ·ΡΠΎΠΆΠ΄Π΅Π½Ρ Π² βΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΠΎΠΉβ ΡΠΎΡΠΌΠ΅. Π‘ΠΊΠΎΠΏΠ»Π΅Π½ΠΈΠ΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ² Java/C++ ΠΏΠΎΠ»ΡΡΠΈΠ»ΠΎ ΡΠΎ, ΡΡΠΎ Ρ ΠΎΡΠ΅Π»ΠΎ.
ΠΠ°Π²Π°ΠΉΡΠ΅ ΡΡΠ»ΡΡΠΈΠΌ, ΡΡΠΎ ΠΡΠ³Π»Π°Ρ ΠΡΠΎΠΊΡΠΎΡΠ΄, ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΠΏΡΠΎΠΏΠ°Π³Π°Π½Π΄ΠΈΡΡΠΎΠ² JS, ΡΠΊΠ°Π·Π°Π» Π² 2014 Π³ΠΎΠ΄Ρ:
Π ΡΠΎΠΆΠ°Π»Π΅Π½ΠΈΡ, ΡΡΠΎ ΡΠΆΠ΅ Π½Π΅ ΡΠ°ΠΊ. ΠΠΎΡ ΠΎΠΆΠ΅, ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΡ Π²Π΅ΡΡΠΈΠΉ JS Π²Π΅ΡΡΡ Π² ΡΡΠΎ-ΡΠΎ Π΄ΡΡΠ³ΠΎΠ΅. ΠΠ»ΠΈ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ, ΠΎΠ½ΠΈ Π±ΠΎΠ»ΡΡΠ΅ Π½Π΅ Ρ ΠΎΡΡΡ Π΄Π΅Π»Π°ΡΡ Π²ΠΊΠ»Π°Π΄ Π² ΡΠ΅Π»ΠΎΠ²Π΅ΡΠ΅ΡΡΠ²ΠΎ. ΠΠΎΠΆΠ΅Ρ Π±ΡΡΡ, ΠΈΠΌ ΠΏΡΠΎΡΡΠΎ Ρ ΠΎΡΠ΅ΡΡΡ ΠΏΠΎΡΠ°Π΄ΠΎΠ²Π°ΡΡ ΡΠΎΠ»ΠΏΡ.
ΠΠ½Π½ΠΎΡΠ°ΡΠΈΠΈ ΡΠΈΠΏΠΎΠ² ΠΈ ΠΊΠ»Π°ΡΡΡ Π½Π΅ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡ ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΠΈ ΠΊΠ»Π°ΡΡΠ½ΠΎ-ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΠΎ-ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ JavaScript. ΠΠ½ΠΈ ΠΏΡΠΈΡΠ»ΠΈ ΠΈΠ· Java ΠΈΠ»ΠΈ C++, Π½ΠΎ Π½Π΅ Π²ΠΏΠΈΡΡΠ²Π°ΡΡΡΡ. ΠΠ΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΡ ΠΌΠΎΠ³ΡΡ ΡΡΠΈΡΠ°ΡΡ ΠΈΡ ΠΏΠΎΠ»Π΅Π·Π½ΡΠΌΠΈ, Π½ΠΎ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΡΠΎΠΌΡ, ΡΡΠΎ ΠΎΠ½ΠΈ ΠΏΡΠΈΠ²ΡΠΊΠ»ΠΈ Π²ΠΈΠ΄Π΅ΡΡ ΠΈΡ Π² Π΄ΡΡΠ³ΠΈΡ ΡΠ·ΡΠΊΠ°Ρ . JavaScript Π½Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ Java, Π΄Π°ΠΆΠ΅ Π΅ΡΠ»ΠΈ ΠΈΠΌΠ΅Π½Π° ΠΏΠΎΡ ΠΎΠΆΠΈ.
Java ΡΠΎ ΡΠ²ΠΎΠΈΠΌΠΈ ΠΊΠ»Π°ΡΡΠ°ΠΌΠΈ, Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΈ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΌΠΈ ΠΌΠ΅ΡΠΎΠ΄Π°ΠΌΠΈ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ ΠΠΠ Π΄Π»Ρ ΡΠ°ΠΉΠ½ΠΈΠΊΠΎΠ². ΠΡΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΠΎ-ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π΄Π»Ρ ΡΠ΅Ρ , ΠΊΡΠΎ, ΠΏΠΎ ΠΌΠ½Π΅Π½ΠΈΡ ΠΡΠ³Π»Π°ΡΠ° ΠΡΠΎΠΊΡΠΎΡΠ΄Π°, Π½Π΅ Π·Π½Π°Π΅Ρ, ΡΡΠΎ ΡΠ°ΠΊΠΎΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΠΎ-ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅. JavaScript, Ρ Π΄ΡΡΠ³ΠΎΠΉ ΡΡΠΎΡΠΎΠ½Ρ, ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ»Π΅Π½ΠΎΠΌ ΠΊΠΎΠ½ΡΠ΅ΠΏΡΡΠ°Π»ΡΠ½ΠΎ ΠΏΡΠΎΡΠ½ΡΡ ΡΠ·ΡΠΊΠΎΠ² ΠΠ, ΡΠ°ΠΊΠΈΡ ΠΊΠ°ΠΊ Smalltalk ΠΈ Self. Π‘ΠΌΠ΅ΡΠΈΠ²Π°Π½ΠΈΠ΅ Π²ΠΊΡΡΠΎΠ² Java Π² JavaScript ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΡΡΠΈΡ Π²ΠΊΡΡ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π³ΠΎ.
ΠΡΡΡΡΠ½ΠΎ Π²ΠΈΠ΄Π΅ΡΡ, ΠΊΠ°ΠΊ ΠΊΠΎΠ³Π΄Π°-ΡΠΎ ΠΏΡΡΠΌΠ°Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΠΎ-ΡΠ΅Π½ΡΡΠΈΡΠ½Π°Ρ ΠΏΠ°ΡΠ°Π΄ΠΈΠ³ΠΌΠ° ΡΠ·ΡΠΊΠ° ΠΏΡΠ΅Π²ΡΠ°ΡΠΈΠ»Π°ΡΡ Π² ΠΌΠ½ΠΎΠ³ΠΎΠΎΠ±ΡΠ°Π·ΠΈΠ΅ Π½Π΅ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡΠΈΡ ΠΈ Π½Π΅ΠΎΠΏΡΠΈΠΌΠ°Π»ΡΠ½ΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ.
P.S. JavaScript ΠΏΠΎ-ΠΏΡΠ΅ΠΆΠ½Π΅ΠΌΡ Π·Π°ΠΌΠ΅ΡΠ°ΡΠ΅Π»ΡΠ½ΡΠΉ ΡΠ·ΡΠΊ, Π΅ΡΠ»ΠΈ Π²Ρ ΠΈΠ³Π½ΠΎΡΠΈΡΡΠ΅ΡΠ΅ ΠΊΠ»Π°ΡΡΡ ΠΈ Π°Π½Π½ΠΎΡΠ°ΡΠΈΠΈ ΡΠΈΠΏΠΎΠ². ΠΠΎΠ³Π΄Π° Ρ ΠΏΠΈΡΡ Π½Π° JavaScript, Ρ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΠΈΡ . ΠΠΎΡΠΌΠΎΡΡΠΈΡΠ΅ ΠΊΠΎΠ΄ Π² ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ yegor256/jo. ΠΠ½ ΠΈΠ»Π»ΡΡΡΡΠΈΡΡΠ΅Ρ ΠΌΠΎΡ ΠΊΠ½ΠΈΠ³Ρ Junior Objects. Π― Π³ΠΎΡΠΆΡΡΡ ΡΡΠΈΠΌ ΠΊΠΎΠ΄ΠΎΠΌ.
Translated by ChatGPT gpt-3.5-turbo/42 on 2025-12-28 at 12:46
