Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΠΎΠ»ΠΈΡ„ΠΈΠ»Ρ‹ Π² js

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΠΎΠ»ΠΈΡ„ΠΈΠ»?

ΠŸΠ΅Ρ€Π΅Π²ΠΎΠ΄ ΡΡ‚Π°Ρ‚ΡŒΠΈ: What is a polyfill?
Автор: Remy Sharp.

ΠžΡ‚ΠΊΡƒΠ΄Π° взялся ΠΏΠΎΠ»ΠΈΡ„ΠΈΠ» ΠΈ ΠΊΠ°ΠΊ формировался Ρ‚Π΅Ρ€ΠΌΠΈΠ½?

Π­Ρ‚ΠΎ ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ»ΠΎ Ρ€Π°Π½Π΅Π΅, Π² 2009 Π³ΠΎΠ΄Ρƒ, ΠΊΠΎΠ³Π΄Π° я Π±Ρ‹Π» занят написаниСм ΠΊΠ½ΠΈΠ³ΠΈ «Introducing HTML5» («Знакомство с HTML5Β»). Бидя Π² ΠΊΠΎΡ„Π΅ΠΉΠ½Π΅ (ΠΊΠ°ΠΊ ΠΈ Π²Ρ‹, Π½Π°Π²Π΅Ρ€Π½ΠΎ, сСйчас) я пытался ΠΏΠΎΠ΄Ρ‹ΡΠΊΠ°Ρ‚ΡŒ подходящСС слово, с ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ ΠΌΠΎΠΆΠ½ΠΎ Π°ΡΡΠΎΡ†ΠΈΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Β«ΠΌΠΎΠ΄Π΅Π»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ API интСрфСйса с использованиСм JavaScript (ΠΈΠ»ΠΈ Flash, Π»ΠΈΠ±ΠΎ Ρ‡Π΅Π³ΠΎ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ), для Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°, Ρƒ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Π½Π΅ прСдусмотрСн Ρ‚Π°ΠΊΠΎΠ²ΠΎΠΉ ΠΈΠ·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΒ».

Π― прСкрасно ΠΏΠΎΠ½ΠΈΠΌΠ°Π», Ρ‡Ρ‚ΠΎ крутящийся Π² Π³ΠΎΠ»ΠΎΠ²Π΅ ΠΎΠ±Ρ€Π°Π· Π½ΠΎΠ²ΠΎΠ³ΠΎ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π° Π½Π΅ ΠΈΠΌΠ΅Π» Π½ΠΈΡ‡Π΅Π³ΠΎ ΠΎΠ±Ρ‰Π΅Π³ΠΎ с ΡƒΠΆΠ΅ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΌ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ Β«ΠΏΡ€ΠΎΠ³Ρ€Π΅ΡΡΠΈΡ€ΡƒΡŽΡ‰Π΅Π΅ ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΠ΅Β», ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ исходный ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ ΠΌΠΎΠΈΡ… Π½Π°Ρ€Π°Π±ΠΎΡ‚ΠΎΠΊ Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π» наличия JavaScript ΠΈ эмитируСмой с Π΅Π³ΠΎ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π½ΠΎΠ²ΠΎΠΉ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ Β«ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΡΒ» JavaScript ΠΊΠ°ΠΊ Ρ‚Π°ΠΊΠΎΠ²ΠΎΠ³ΠΎ здСсь Π½Π΅Ρ‚ ΠΈ Π±Π»ΠΈΠ·ΠΊΠΎ.

Π― Ρ‚Π°ΠΊΠΆΠ΅ отбросил Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ с Ρ‚Π΅Ρ€ΠΌΠΈΠ½ΠΎΠΌ «плавная дСградация», Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΏΡ€ΠΈ отсутствии, самого исходного Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»Π° Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π΄ΠΎΠ»ΠΆΠ΅Π½, Ρ‚Π°ΠΊ ΡΠΊΠ°Π·Π°Ρ‚ΡŒ, Β«Π΄Π΅Π³Ρ€Π°Π΄ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΒ», Π° Ρ‚Π°ΠΊΠΆΠ΅ Π±Π΅Π· JavaScript (прСдполагая, Ρ‡Ρ‚ΠΎ Π² вашСм ΠΏΠΎΠ»ΠΈΡ„ΠΈΠ»Π΅ использован JavaScript) это Ρ‚ΠΎΠΆΠ΅ Π½Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Π»ΠΎ.

Π’ΠΎ Π΅ΡΡ‚ΡŒ идСя Π±Ρ‹Π»Π° ΠΎΡ‚Ρ‹ΡΠΊΠ°Ρ‚ΡŒ Π»Π΅Π³ΠΊΠΎΠ΅ Π² ΠΏΡ€ΠΎΠΈΠ·Π½ΠΎΡˆΠ΅Π½ΠΈΠΈ слово, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π°ΡΡΠΎΡ†ΠΈΠΈΡ€ΠΎΠ²Π°Π»ΠΎΡΡŒ Π±Ρ‹ с достаточно ΡˆΠΈΡ€ΠΎΠΊΠΎΠΉ ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΠ΅ΠΉ Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ эта ΡˆΡ‚ΡƒΠΊΠ°, собствСнно, Π΄ΠΎΠ»ΠΆΠ½Π° Π΄Π΅Π»Π°Ρ‚ΡŒ. Β«ΠŸΠΎΠ»ΠΈΡ„ΠΈΠ»Β» (Π°Π½Π³Π». «Polyfill») β€” Π²ΠΎΡ‚ Ρ‡Ρ‚ΠΎ ΠΌΠ½Π΅ просто ΠΏΡ€ΠΈΡˆΠ»ΠΎ Π½Π° ΡƒΠΌ, Ρ‚Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ это слово Π²ΠΏΠΎΠ»Π½Π΅ удовлСтворяло ΠΌΠΎΠΈΠΌ трСбованиям. ΠŸΠ΅Ρ€Π²Π°Ρ Π΅Π³ΠΎ Ρ‡Π°ΡΡ‚ΡŒ «Poly-« ( *ΠΎΡ‚ грСчСского «Polloi» β€” Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΌΠ½ΠΎΠ³ΠΎ ) Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ ΠΎ ΠΏΡ€ΠΈΠ²Π»Π΅Ρ‡Π΅Π½ΠΈΠΈ любого числа Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ с поставлСнной Π·Π°Π΄Π°Ρ‡Π΅ΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΏΡ€Π°Π²ΠΈΡ‚ΡŒΡΡ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ посрСдством JavaScript, Π° вторая Ρ‡Π°ΡΡ‚ΡŒ «-fill» ( *Π½Π°ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ, Π·Π°ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ ) ΠΏΠΎΠ΄Ρ€Π°Π·ΡƒΠΌΠ΅Π²Π°Π΅Ρ‚ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Ρ‚ΠΎΠΉ Π΄Ρ‹Ρ€Ρ‹ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΈ Π΄ΠΎΠ»ΠΆΠ½Π° Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ рСализуСмая Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ тСхнология. Π—Π΄Π΅ΡΡŒ, ΠΊ Ρ‚ΠΎΠΌΡƒ ΠΆΠ΅ отсутствуСт Ρ‚Π°ΠΊΠΎΠ΅ понятиС ΠΊΠ°ΠΊ Β«ΡƒΡΡ‚Π°Ρ€Π΅Π²ΡˆΠΈΠΉ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Β», ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Π½Π°ΠΌ понадобится Β«ΠΏΠΎΠ»ΠΈΡ„ΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΒ» ΠΈ Π½ΠΎΠ²Ρ‹Π΅ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Ρ‹.

Насколько я знаю, сущСствуСт Ρ‚Π°ΠΊΠΎΠΉ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ ΠΊΠ°ΠΊ «Polyfilla» (шпаклСвка Π² БША), ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΠΈΠΉ собой Π½Π°Π½ΠΎΡΠΈΠΌΡƒΡŽ Π½Π° стСны пасту с Ρ†Π΅Π»ΡŒΡŽ замазывания Π΄Ρ‹Ρ€ ΠΈ Ρ‚Ρ€Π΅Ρ‰ΠΈΠ½. И ΠΌΠ½Π΅ Π½Π° самом Π΄Π΅Π»Π΅ ΠΏΠΎ-Π΄ΡƒΡˆΠ΅ эта идСя Π²ΠΈΠ·ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΌΡ‹, Ρ‚Π°ΠΊ ΡΠΊΠ°Π·Π°Ρ‚ΡŒ, Β«Ρ€Π΅ΠΌΠΎΠ½Ρ‚ΠΈΡ€ΡƒΠ΅ΠΌΒ» Π±Ρ€Π°ΡƒΠ·Π΅Ρ€. ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ стСна сама ΠΏΠΎ сСбС плоская Π·Π½Π°Ρ‡ΠΈΡ‚, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π½Π°Ρ€ΠΈΡΠΎΠ²Π°Ρ‚ΡŒ Π½Π° Π½Π΅ΠΉ Ρ‡Ρ‚ΠΎ ΡƒΠ³ΠΎΠ΄Π½ΠΎ ΠΈΠ»ΠΈ Π½Π°ΠΊΠ»Π΅ΠΈΡ‚ΡŒ ΠΎΠ±ΠΎΠΈ Π½Π° ваш вкус.

Π’ своС врСмя я ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ» ΠΎΡ‚Π·Ρ‹Π², Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Π²Ρ‹Ρ€Π°ΠΆΠ°Π»ΠΎΡΡŒ ΠΌΠ½Π΅Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ Β«Π΄Π°Π½Π½ΠΎΠ΅ слово Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΌΠ΅Π½ΠΈΡ‚ΡŒΒ», ΠΎΠ΄Π½Π°ΠΊΠΎ Π½Π° Ρ‚ΠΎΡ‚ ΠΌΠΎΠΌΠ΅Π½Ρ‚ сообщСство ΠΊΠ°ΠΊ Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½ΡƒΠΆΠ΄Π°Π»ΠΎΡΡŒ Π² подходящСм словС, Ρ‚Π°ΠΊ, ΠΊΠ°ΠΊ ΠΊΠΎΠ³Π΄Π°-Ρ‚ΠΎ ΠΌΡ‹ Π½ΡƒΠΆΠ΄Π°Π»ΠΈΡΡŒ Π² Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Ρ… ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Ρ… Ajax, HTML5, Web 2.0 β€” Π² Ρ‡Π΅ΠΌ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ, Ρ‡Π΅ΠΌ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡ΠΈΡ‚ΡŒ наши ΠΈΠ΄Π΅ΠΈ. И Π½Π΅Π²Π°ΠΆΠ½ΠΎ, Ρ‡Ρ‚ΠΎ слово Π½Π΅ идСально, ΠΎΠ½ΠΎ Ρ‚Π²Π΅Ρ€Π΄ΠΎ стоит Π½Π° Π½ΠΎΠ³Π°Ρ…, принято сообщСством Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² ΠΈ Π΄ΠΈΠ·Π°ΠΉΠ½Π΅Ρ€ΠΎΠ² ΠΈ всС прСкрасно ΠΏΠΎΠ½ΠΈΠΌΠ°ΡŽΡ‚ Π΅Π³ΠΎ смысл.

На самом Π΄Π΅Π»Π΅ я Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π°ΠΌΠ΅Ρ€Π΅Π½Π½ΠΎ Π½Π΅ навязывал этот Ρ‚Π΅Ρ€ΠΌΠΈΠ½, Π° просто ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΠ» Π΅Π³ΠΎ Π² Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Ρ… мСстах (ΠΏΠΎ большСй части Π² ΠΊΠ½ΠΈΠ³Π΅) ΠΈ Π½Π° сколько я помню спустя ΠΏΠ°Ρ€Ρƒ (ΠΈΠ»ΠΈ достаточно ΠΌΠ½ΠΎΠ³ΠΎ) мСсяцСв, ΠΈΠΌΠ΅Π½Π½ΠΎ послС ΠΏΡ€Π΅Π·Π΅Π½Ρ‚Π°Ρ†ΠΈΠΈ Пола ΠΠΉΡ€ΠΈΡˆΠ° (Paul Irish), Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΈΠΌ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ Π±Ρ‹Π»ΠΎ ΠΎΡ‚Ρ€Π°ΠΆΠ΅Π½ΠΎ слово Β«ΠΏΠΎΠ»ΠΈΡ„ΠΈΠ»Β», Π΄Π°Π½Π½Ρ‹ΠΉ Ρ‚Π΅Ρ€ΠΌΠΈΠ½ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ» ΡˆΠΈΡ€ΠΎΠΊΠΎΠ΅ распространСниС. (МнС каТСтся, Ρ‡Ρ‚ΠΎ Π½Π΅ΠΌΠ°Π»ΡƒΡŽ Ρ€ΠΎΠ»ΡŒ сыграло Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Π² эту ΠΏΡ€Π΅Π·Π΅Π½Ρ‚Π°Ρ†ΠΈΡŽ страницы «Modernizr HTML5 shims & polyfill».)

ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΡ.

НСсколько ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ².

Π’ΠΎΡ‚ Π²Π°ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€: интСрфСйс sessionStorage доступСн Π²ΠΎ всСх послСдних вСрсиях Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ΠΎΠ² (IE8 ΠΈ Π²Ρ‹ΡˆΠ΅), Π½ΠΎ отсутствуСт Π² IE7 ΠΈ Π½ΠΈΠΆΠ΅.

Для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Ρ‚Π°ΠΊΡƒΡŽ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ Π² старых, Π½Π΅ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‰ΠΈΡ… интСрфСйс sessionStorage Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°Ρ…, ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠΎΠ»ΠΈΡ„ΠΈΠ».

Π’Π΅ΠΏΠ΅Ρ€ΡŒ, имСя Π² Π½Π°Π»ΠΈΡ‡ΠΈΠΈ ΠΏΠΎΠ»ΠΈΡ„ΠΈΠ»Π΅Ρ€, я, ΠΊΠ°ΠΊ Π²Π΅Π±-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ ΠΌΠΎΠ³Ρƒ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ Ρ€Π°ΡΡΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ Π½Π° использованиС сСссионного интСрфСйса Web Storage API ΠΈ Π±ΠΎΠ»Π΅Π΅ Π½Π΅ Π½ΡƒΠΆΠ΄Π°ΡŽΡΡŒ Π² дальнСйшСм тСстировании своСго ΠΊΠΎΠ΄Π° Π»ΠΈΠ±ΠΎ Π΅Π³ΠΎ Ρ„ΠΎΡ€ΠΊΠΈΠ½Π³Π΅ для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… ситуаций.

Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅.

НС Ρ‚Π°ΠΊ Π΄Π°Π²Π½ΠΎ Пол ΠΠΉΡ€ΠΈΡˆ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π» список доступных ΠΏΠΎΠ»ΠΈΡ„ΠΈΠ»ΠΎΠ² ΠΈ шимов β€” ΠΎΡ‚Π»ΠΈΡ‡Π½Ρ‹ΠΉ рСсурс, содСрТащий Π²ΠΏΠ΅Ρ‡Π°Ρ‚Π»ΡΡŽΡ‰ΠΈΠΉ список срСдств ΠΎΡ‚ Π³ΠΎΠ»ΠΎΠ²Π½ΠΎΠΉ Π±ΠΎΠ»ΠΈ, Π²Ρ‹Π·Ρ‹Π²Π°Π΅ΠΌΠΎΠΉ Ρƒ нас Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² старыми вСрсиями Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ΠΎΠ².

По всСй видимости, использованиС ΠΏΠΎΠ»ΠΈΡ„ΠΈΠ»ΠΎΠ² ΠΎΡ‚Π»ΠΈΡ‡Π½ΠΎ Π·Π°Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΠΎΠ²Π°Π»ΠΎ сСбя, ΠΈ Π½Π΅ΠΏΠ»ΠΎΡ…ΠΎ Π±Ρ‹Π»ΠΎ Π±Ρ‹ ΠΈ Π²Π°ΠΌ Π½Π°Ρ‡Π°Ρ‚ΡŒ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒ этот ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ Π² Ρ‚Π΅Ρ… случаях, ΠΊΠΎΠ³Π΄Π° Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠΎΠ²Ρ‹ΡΠΈΡ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ старых (Π° ΠΈΠ½ΠΎΠ³Π΄Π° ΠΈ Π½ΠΎΠ²Ρ‹Ρ…) Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ΠΎΠ² Π΄ΠΎ ΠΆΠ΅Π»Π°Π΅ΠΌΠΎΠ³ΠΎ уровня.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

ИспользованиС ΠΏΠΎΠ»ΠΈΡ„ΠΈΠ»Π»ΠΎΠ² ΠΏΡ€ΠΈ написании кросс-Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π½Ρ‹Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ

НСдавно со ΠΌΠ½ΠΎΠΉ ΡΠ»ΡƒΡ‡ΠΈΠ»Π°ΡΡŒ ΠΎΠ΄Π½Π° вСсёлая история. Π― сдСлал Π²Π΅Π±-ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ ΠΈ Ρ€Π°ΡΡˆΠΈΡ€ΠΈΠ» возмоТности ΡƒΠΆΠ΅ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ прилоТСния, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ Π² ΠΌΠΎΠ΅ΠΉ ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ ΠΊΠ°Π΄Ρ€ΠΎΠ²ΠΈΠΊΠΈ. Всё выглядСло просто ΠΎΡ‚Π»ΠΈΡ‡Π½ΠΎ, я радовался Ρ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Π±Ρ‹Π» Π·Π°ΠΏΡƒΡ‰Π΅Π½, с Π½Π΅Ρ‚Π΅Ρ€ΠΏΠ΅Π½ΠΈΠ΅ΠΌ оТидая благодарствСнных писСм.

Π§Π΅Ρ€Π΅Π· нСсколько Π΄Π½Π΅ΠΉ послС ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ Ρ€Π΅Π»ΠΈΠ·Π° я, ΠΈ ΠΏΡ€Π°Π²Π΄Π°, Π½Π°Ρ‡Π°Π» ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ΡŒ письма. Но благодарностСй Π² Π½ΠΈΡ… Π½Π΅ наблюдалось. МнС писали ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€Ρ‹, Ρ€Π°Π±ΠΎΡ‚Π½ΠΈΠΊΠΈ ΠΊΠ°Π΄Ρ€ΠΎΠ²ΠΎΠΉ слуТбы, ΠΈ всС Ρ‚Π΅, ΠΊΡ‚ΠΎ пытался Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΌΠΎΠ΅ΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΎΠΉ. ВсС ΠΎΠ½ΠΈ Π³ΠΎΠ²ΠΎΡ€ΠΈΠ»ΠΈ, Ρ‡Ρ‚ΠΎ Ρƒ Π½ΠΈΡ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ.

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΠΎΠ»ΠΈΡ„ΠΈΠ»Ρ‹ Π² js. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΠΎΠ»ΠΈΡ„ΠΈΠ»Ρ‹ Π² js. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΠΎΠ»ΠΈΡ„ΠΈΠ»Ρ‹ Π² js. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΠΎΠ»ΠΈΡ„ΠΈΠ»Ρ‹ Π² js. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΠΎΠ»ΠΈΡ„ΠΈΠ»Ρ‹ Π² js

Π’ Ρ‡Ρ‘ΠΌ ΠΆΠ΅ Π΄Π΅Π»ΠΎ? А Π΄Π΅Π»ΠΎ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ я, создавая ΠΏΡ€ΠΎΠ΅ΠΊΡ‚, тСстировал Π΅Π³ΠΎ Π² Chrome. Но ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ этого ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° постоянно ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡŽΡ‚ Firefox ΠΈ IE. Π Π°Π±ΠΎΡ‚Π° с ΠΌΠΎΠΈΠΌ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ Π½Π΅ стала ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ΠΌ. МнС, Π² ΠΈΡ‚ΠΎΠ³Π΅, Π±Ρ‹Π»ΠΎ совсСм нСвСсСло ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚, Π·Π°ΠΏΡƒΡ‰Π΅Π½Π½Ρ‹ΠΉ ΠΏΠ°Ρ€Ρƒ Π΄Π½Π΅ΠΉ Π½Π°Π·Π°Π΄, Π½Π°Π΄ΠΎ Π±Ρ‹Π»ΠΎ Π΄ΠΎΡ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ.

БобствСнно говоря, Ρ‚ΡƒΡ‚ ΠΌΠ½Π΅ Π½Π° ΠΏΠΎΠΌΠΎΡ‰ΡŒ ΠΈ ΠΏΡ€ΠΈΡˆΠ»ΠΈ ΠΏΠΎΠ»ΠΈΡ„ΠΈΠ»Π»Ρ‹.

ΠŸΠΎΠ»ΠΈΡ„ΠΈΠ»Π»Ρ‹

ΠŸΠΎΠ»ΠΈΡ„ΠΈΠ»Π» (polyfill ΠΈΠ»ΠΈ polyfiller) β€” это Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚ ΠΊΠΎΠ΄Π° (ΠΈΠ»ΠΈ Π½Π΅ΠΊΠΈΠΉ ΠΏΠ»Π°Π³ΠΈΠ½), Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΡŽΡ‰ΠΈΠΉ Ρ‚ΠΎ, наличия Ρ‡Π΅Π³ΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ ΠΎΠΆΠΈΠ΄Π°Π΅Ρ‚ срСди стандартных возмоТностСй Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°. ΠŸΠΎΠ»ΠΈΡ„ΠΈΠ»Π»Ρ‹ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚, Ρ‚Π°ΠΊ ΡΠΊΠ°Π·Π°Ρ‚ΡŒ, Β«ΡΠ³Π»Π°Π΄ΠΈΡ‚ΡŒΒ» нСровности Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π½Ρ‹Ρ… API.

Π’ Π²Π΅Π±-срСдС ΠΏΠΎΠ»ΠΈΡ„ΠΈΠ»Π»Ρ‹ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ прСдставлСны JavaScript-ΠΊΠΎΠ΄ΠΎΠΌ. Π­Ρ‚ΠΎΡ‚ ΠΊΠΎΠ΄ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для оснащСния ΡƒΡΡ‚Π°Ρ€Π΅Π²ΡˆΠΈΡ… Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ΠΎΠ² соврСмСнными возмоТностями, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ эти Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Ρ‹ Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚.

НапримСр, с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΏΠΎΠ»ΠΈΡ„ΠΈΠ»Π»Π° ΠΌΠΎΠΆΠ½ΠΎ ΡΡ‹ΠΌΠΈΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π» HTML-элСмСнта Canvas Π² Microsoft Internet Explorer 7. Для этого примСняСтся ΠΏΠ»Π°Π³ΠΈΠ½ Silverlight. БрСдствами ΠΏΠΎΠ»ΠΈΡ„ΠΈΠ»Π»Π° ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Π΅Π΄ΠΈΠ½ΠΈΡ† измСрСния rem Π² CSS, ΠΈΠ»ΠΈ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Π° text-shadow, ΠΈΠ»ΠΈ Ρ‡Π΅Π³ΠΎ ΡƒΠ³ΠΎΠ΄Π½ΠΎ Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ. ΠŸΡ€ΠΈΡ‡ΠΈΠ½Ρ‹, ΠΏΠΎ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ Π½Π΅ ΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ ΠΈΡΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΏΠΎΠ»ΠΈΡ„ΠΈΠ»Π»Π°ΠΌΠΈ, Π½Π΅ обращая Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° встроСнныС возмоТности Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ΠΎΠ², Π·Π°ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ стандартныС возмоТности Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ΠΎΠ² ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‚ Π±ΠΎΠ»Π΅Π΅ качСствСнный Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π» ΠΈ Π±ΠΎΠ»Π΅Π΅ Π²Ρ‹ΡΠΎΠΊΡƒΡŽ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ. БобствСнныС Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π½Ρ‹Π΅ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… API ΠΎΠ±Π»Π°Π΄Π°ΡŽΡ‚ Π±ΠΎΠ»Π΅Π΅ ΡˆΠΈΡ€ΠΎΠΊΠΈΠΌΠΈ возмоТностями, Ρ‡Π΅ΠΌ ΠΏΠΎΠ»ΠΈΡ„ΠΈΠ»Π»Ρ‹, Π΄Π° ΠΈ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ быстрСС.

Иногда ΠΏΠΎΠ»ΠΈΡ„ΠΈΠ»Π»Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ, связанных с Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Ρ‹ ΠΏΠΎ-Ρ€Π°Π·Π½ΠΎΠΌΡƒ Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΡŽΡ‚ ΠΎΠ΄Π½ΠΈ ΠΈ Ρ‚Π΅ ΠΆΠ΅ возмоТности. ΠŸΠΎΠ΄ΠΎΠ±Π½Ρ‹Π΅ ΠΏΠΎΠ»ΠΈΡ„ΠΈΠ»Π»Ρ‹ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡ‚Π²ΡƒΡŽΡ‚ с Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°ΠΌΠΈ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΈΡ… нСстандартныС особСнности, ΠΈ Π΄Π°ΡŽΡ‚ Π΄Ρ€ΡƒΠ³ΠΈΠΌ JavaScript-ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°ΠΌ доступ ΠΊ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½Ρ‹ΠΌ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ°ΠΌ, ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ стандартам. Надо ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Π΅ ΠΏΡ€ΠΈΡ‡ΠΈΠ½Ρ‹ использования ΠΏΠΎΠ»ΠΈΡ„ΠΈΠ»Π»ΠΎΠ² сСгодня ΡƒΠΆΠ΅ Π½Π΅ Ρ‚Π°ΠΊ Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹, ΠΊΠ°ΠΊ Ρ€Π°Π½ΡŒΡˆΠ΅. ΠžΡΠΎΠ±ΡƒΡŽ Ρ€Π°ΡΠΏΡ€ΠΎΡΡ‚Ρ€Π°Π½Ρ‘Π½Π½ΠΎΡΡ‚ΡŒ ΠΏΠΎΠ»ΠΈΡ„ΠΈΠ»Π»Ρ‹ ΠΈΠΌΠ΅Π»ΠΈ Π²ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½Π° IE6, Netscape ΠΈ NNav, ΠΊΠΎΠ³Π΄Π° ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Ρ‹Π²Π°Π» возмоТности JavaScript Π½Π΅ Ρ‚Π°ΠΊ, ΠΊΠ°ΠΊ Π΄Ρ€ΡƒΠ³ΠΈΠ΅.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€

НСдавно я ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π» руководство ΠΏΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ прилоТСния, ΠΊΠΎΠ½Π²Π΅Ρ€Ρ‚ΠΈΡ€ΡƒΡŽΡ‰Π΅Π³ΠΎ CSV ΠΈ Excel-Ρ„Π°ΠΉΠ»Ρ‹ Π² JSON с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ JavaScript. Π—Π΄Π΅ΡΡŒ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Π½Π° Π³ΠΎΡ‚ΠΎΠ²ΠΎΠ΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅.

Для Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ€Π°Π·ΠΎΠ±Ρ€Π°Ρ‚ΡŒΡΡ с Ρ‚Π΅ΠΌ, ΠΎ Ρ‡Ρ‘ΠΌ ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ΡŒ дальшС, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π»ΠΈΠ±ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ всё Ρ‚ΠΎ, ΠΎ Ρ‡Ρ‘ΠΌ ΠΈΠ΄Ρ‘Ρ‚ Ρ€Π΅Ρ‡ΡŒ Π² руководствС, Π»ΠΈΠ±ΠΎ ΠΊΠ»ΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠΎΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ:

Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΡŽ Π² процСссС Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ VS Code. Π—Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Π²Π΅Π±-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ½ΠΎ локально, с использованиСм Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ для VS Code Live Server.

Π”Π°Π²Π°ΠΉΡ‚Π΅ ΠΌΠΎΠ΄ΠΈΡ„ΠΈΡ†ΠΈΡ€ΡƒΠ΅ΠΌ это Π²Π΅Π±-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΈ посмотрим Π½Π° ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡŽΡ‚ ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с Π½ΠΈΠΌ с использованиСм Ρ€Π°Π·Π½Ρ‹Ρ… Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ΠΎΠ².

Π‘ΠΎΠ·Π΄Π°Π΄ΠΈΠΌ Π² Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ Π²Π΅Ρ‚ΠΊΡƒ polyfill ΠΈ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡ΠΈΠΌΡΡ Π½Π° Π½Π΅Ρ‘:

Π― ΡΠΎΠ±ΠΈΡ€Π°ΡŽΡΡŒ ΠΈΡΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚ΡŒ ΡΠΈΡ‚ΡƒΠ°Ρ†ΠΈΡŽ, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΌΡ‹ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ Π΄Π°Π½Π½Ρ‹Π΅ ΠΈΠ· Π΄Π²ΡƒΡ… ΠΈΠ»ΠΈ большСго количСства CSV-Ρ„Π°ΠΉΠ»ΠΎΠ², ΠΈ, послС Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ² запросов ΠΊ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΌ API, Π²Ρ‹Π²ΠΎΠ΄ΠΈΠΌ эти Π΄Π°Π½Π½Ρ‹Π΅ Π² HTML-Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ.

▍Доработка ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°

Π‘ΠΎΠ·Π΄Π°Π΄ΠΈΠΌ Π² ΠΊΠΎΡ€Π½Π΅Π²ΠΎΠΉ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π½ΠΎΠ²Ρ‹ΠΉ CSV-Ρ„Π°ΠΉΠ» ( team2.csv ), Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ Ρ‡Π΅Π³ΠΎ Ρ‚Π°ΠΌ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΠΎΠΊΠ°Π·Π°Ρ‚ΡŒΡΡ Π΄Π²Π° Ρ„Π°ΠΉΠ»Π°. Π’ΠΎΡ‚ Ρ„Π°ΠΉΠ», ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ я Π΄ΠΎΠ±Π°Π²ΠΈΠ» Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚.

ΠœΠΎΠ΄ΠΈΡ„ΠΈΡ†ΠΈΡ€ΡƒΠ΅ΠΌ Ρ„Π°ΠΉΠ» script.js Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ½ Ρ‡ΠΈΡ‚Π°Π» Π±Ρ‹ Π΄Π°Π½Π½Ρ‹Π΅ ΠΈΠ· 2 Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΈ Π²Ρ‹Π²ΠΎΠ΄ΠΈΠ» Π±Ρ‹ всС Π΄Π°Π½Π½Ρ‹Π΅ Π² HTML-Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ. Π’ΠΎΡ‚ ΠΌΠΎΠΉ script.js :

Π’Π΅ΠΏΠ΅Ρ€ΡŒ, скопировав адрСс страницы, ΠΎΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Π²ΠΎ всСх Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°Ρ…, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρƒ вас Π΅ΡΡ‚ΡŒ. Π’ ΠΌΠΎΡ‘ΠΌ случаС это Π±Ρ‹Π»ΠΈ Internet Explorer, Firefox Mozilla, Microsoft Edge ΠΈ Google Chrome. Оказалось, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ пСрСстало Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π² Internet Explorer ΠΈ Microsoft Edge. Π’Π°ΠΌ Π²Ρ‹Π²ΠΎΠ΄ΠΈΠ»ΠΈΡΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΈ.

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΠΎΠ»ΠΈΡ„ΠΈΠ»Ρ‹ Π² js. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΠΎΠ»ΠΈΡ„ΠΈΠ»Ρ‹ Π² js. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΠΎΠ»ΠΈΡ„ΠΈΠ»Ρ‹ Π² js. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΠΎΠ»ΠΈΡ„ΠΈΠ»Ρ‹ Π² js. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΠΎΠ»ΠΈΡ„ΠΈΠ»Ρ‹ Π² js
Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π² Chrome

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΠΎΠ»ΠΈΡ„ΠΈΠ»Ρ‹ Π² js. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΠΎΠ»ΠΈΡ„ΠΈΠ»Ρ‹ Π² js. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΠΎΠ»ΠΈΡ„ΠΈΠ»Ρ‹ Π² js. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΠΎΠ»ΠΈΡ„ΠΈΠ»Ρ‹ Π² js. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΠΎΠ»ΠΈΡ„ΠΈΠ»Ρ‹ Π² js
Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π² Microsoft Edge

Π£ Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ Π½Π° страницС, Π²Ρ‹Π²ΠΎΠ΄ΠΈΠΌΠΎΠΉ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°ΠΌΠΈ, Π½Π΅Ρ‚ Π΄Π°Π½Π½Ρ‹Ρ…, Π΄Π²Π΅ ΠΏΡ€ΠΈΡ‡ΠΈΠ½Ρ‹:

β–ΠŸΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΏΠΎΠ»ΠΈΡ„ΠΈΠ»Π»ΠΎΠ²

Π˜ΡΠΏΡ€Π°Π²ΠΈΠΌ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ промисов ΠΈ коллбэков, воспользовавшись Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΎΠΉ Bluebird. Π­Ρ‚ΠΎ β€” ΠΏΠΎΠ»Π½ΠΎΠΌΠ°ΡΡˆΡ‚Π°Π±Π½Π°Ρ JS-рСализация ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠΎΠ², связанных с промисами. Бамая интСрСсная ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΡŒ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Bluebird Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΎΠ½Π° позволяСт Β«ΠΏΡ€ΠΎΠΌΠΈΡΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΒ» Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Node-ΠΌΠΎΠ΄ΡƒΠ»ΠΈ, обрабатывая ΠΈΡ… Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ с Π½ΠΈΠΌΠΈ ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ Π±Ρ‹ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ асинхронно. Π’Π°ΠΊΡƒΡŽ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΊ ΠΊΠΎΠ΄Ρƒ, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ коллбэки.

Π—Π°Π³Ρ€ΡƒΠ·ΠΈΠΌ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ Bluebird Π½Π° страницу, воспользовавшись ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΌ CDN-рСсурсом. Для этого размСстим Π² Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ΅ Ρ„Π°ΠΉΠ»Π° index.html (Π² элСмСнтС head ) ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅:

Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π²ΠΎ всСх Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°Ρ… Ρ‚Π°ΠΊ, ΠΊΠ°ΠΊ оТидаСтся. Π’ΠΎΡ‚, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΊΠ°ΠΊ ΠΎΠ½ΠΎ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ выглядит Π² Microsoft Edge.

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΠΎΠ»ΠΈΡ„ΠΈΠ»Ρ‹ Π² js. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΠΎΠ»ΠΈΡ„ΠΈΠ»Ρ‹ Π² js. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΠΎΠ»ΠΈΡ„ΠΈΠ»Ρ‹ Π² js. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΠΎΠ»ΠΈΡ„ΠΈΠ»Ρ‹ Π² js. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΠΎΠ»ΠΈΡ„ΠΈΠ»Ρ‹ Π² js
Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Π° Π΄ΠΎΡ€Π°Π±ΠΎΡ‚Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π² Microsoft Edge

Π― Ρ€Π°Π·Π²Π΅Ρ€Π½ΡƒΠ» этот ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ здСсь. ΠœΠΎΠΆΠ΅Ρ‚Π΅ Π΅Π³ΠΎ ΠΈΡΠΏΡ‹Ρ‚Π°Ρ‚ΡŒ.

Если Ρƒ вас Π½Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΎΡΡŒ Π΄ΠΎΠ±ΠΈΡ‚ΡŒΡΡ работоспособности ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° β€” заглянитС Π² ΠΌΠΎΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ.

А Π²ΠΎΡ‚ β€” для ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° β€” Π΅Ρ‰Ρ‘ ΠΏΠ°Ρ€Π° ΠΏΠΎΠ»ΠΈΡ„ΠΈΠ»Π»ΠΎΠ².

Π˜Ρ‚ΠΎΠ³ΠΈ

ΠŸΠΎΠ»ΠΈΡ„ΠΈΠ»Π»Ρ‹ Π±Ρ‹Π»ΠΈ особСнно Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ Ρ€Π°Π½ΡŒΡˆΠ΅, Π½ΠΎ ΠΈ Π² наши Π΄Π½ΠΈ ΠΎΠ½ΠΈ способны ΠΏΠΎΠΌΠΎΡ‡ΡŒ Π² Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ кросс-Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π½Ρ‹Ρ… Π²Π΅Π±-ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ². НадССмся, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈΠ²Π΅Π΄Ρ‘Π½Π½Ρ‹ΠΉ здСсь ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΠ» Ρ‚Π΅ΠΌ, ΠΊΡ‚ΠΎ Ρ€Π°Π½ΡŒΡˆΠ΅ Π½Π΅ Π·Π½Π°Π» ΠΎ ΠΏΠΎΠ»ΠΈΡ„ΠΈΠ»Π»Π°Ρ…, ΠΏΠΎ-Π½ΠΎΠ²ΠΎΠΌΡƒ Π²Π·Π³Π»ΡΠ½ΡƒΡ‚ΡŒ Π½Π° ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ создания сайтов, рассчитанных Π½Π° Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Ρ‹.

Π£Π²Π°ΠΆΠ°Π΅ΠΌΡ‹Π΅ Ρ‡ΠΈΡ‚Π°Ρ‚Π΅Π»ΠΈ! ΠŸΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ΡΡŒ Π»ΠΈ Π²Ρ‹ ΠΏΠΎΠ»ΠΈΡ„ΠΈΠ»Π»Π°ΠΌΠΈ?

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

ΠŸΠΎΠ»ΠΈΡ„ΠΈΠ»Π»Ρ‹ β€” JS: DOM API

DOM Π½Π΅ΠΏΡ€Π΅Ρ€Ρ‹Π²Π½ΠΎ развиваСтся. КакиС-Ρ‚ΠΎ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Ρ‹ Π΅Π³ΠΎ Π°Π΄Π°ΠΏΡ‚ΠΈΡ€ΡƒΡŽΡ‚ быстрСС, ΠΊΠ°ΠΊΠΈΠ΅-Ρ‚ΠΎ ΠΌΠ΅Π΄Π»Π΅Π½Π½Π΅Π΅. ВсС это Π½Π΅ позволяСт Π»Π΅Π³ΠΊΠΎ ΠΈ Π½Π΅ΠΏΡ€ΠΈΠ½ΡƒΠΆΠ΄Π΅Π½Π½ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ послСдними Π½ΠΎΠ²ΠΈΠ½ΠΊΠ°ΠΌΠΈ. Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π· Π½ΡƒΠΆΠ½ΠΎ Π΄ΡƒΠΌΠ°Ρ‚ΡŒ ΠΎ Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊΠΈΠ΅ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Ρ‹ распространСны Ρƒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ ΠΈΡ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ².

Π˜Π½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ Ρ‚ΠΎΠΌ ΠΊΠ°ΠΊΠΈΠ΅ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Ρ‹ Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹, ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ, ΡƒΠ·Π½Π°ΡŽΡ‚ ΠΈΠ· Π°Π½Π°Π»ΠΈΡ‚ΠΈΠΊΠΈ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ google analytics, которая Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ собираСт Π΅Ρ‘ со всСх, ΠΊΡ‚ΠΎ Π·Π°Ρ…ΠΎΠ΄ΠΈΡ‚ Π½Π° сайт.

Π’ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ…, особо слоТных ситуациях, приходится ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒ совсСм старыС Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ практичСски Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅ ΠΌΠΎΠ³ΡƒΡ‚. Π’Π°ΠΊΠΎΠ΅ Π½Π΅Ρ€Π΅Π΄ΠΊΠΎ встрСчаСтся Π² государствСнных организациях.

К ΡΡ‡Π°ΡΡ‚ΡŒΡŽ, ΠΏΡ€ΠΈΡ€ΠΎΠ΄Π° JavaScript позволяСт частично ΠΊΠΎΠΌΠΏΠ΅Π½ΡΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ нСдостатки старых Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ΠΎΠ². Благодаря ΠΏΡ€ΠΎΡ‚ΠΎΡ‚ΠΈΠΏΠ°ΠΌ Ρƒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² Π΅ΡΡ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π½Π΅Π΄ΠΎΡΡ‚Π°ΡŽΡ‰ΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ прямо Π² Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ DOM. ДСлаСтся это с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΏΠΎΠ»ΠΈΡ„ΠΈΠ»Π»ΠΎΠ².

ΠžΠ±Ρ‰ΠΈΠΉ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏ Ρ€Π°Π±ΠΎΡ‚Ρ‹ этих Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ:

Π’Π°ΠΆΠ½ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° с ΠΏΠΎΠ»ΠΈΡ„ΠΈΠ»Π»Π°ΠΌΠΈ Π³Ρ€ΡƒΠ·ΠΈΠ»Π°ΡΡŒ Π΄ΠΎ выполнСния любого Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°. Волько Π² этом случаС ΠΎΡΡ‚Π°Π»ΡŒΠ½ΠΎΠΉ ΠΊΠΎΠ΄ ΠΌΠΎΠΆΠ΅Ρ‚ Ρ€Π°ΡΡΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ Π½Π° Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ Π½ΡƒΠΆΠ½Ρ‹Ρ… свойств.

Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Π°

Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ свойства

ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ Π²Ρ‹ΡˆΠ΅ Π½Π΅ ΡΠ²Π»ΡΡŽΡ‚ΡΡ ΠΏΠΎΠ»Π½Ρ‹ΠΌΠΈ. Если ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ исходники ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ, Ρ‚ΠΎ хочСтся ΠΈΡ… быстрСС Π·Π°ΠΊΡ€Ρ‹Ρ‚ΡŒ. ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ ΠΊΠΎΠ΄Π° ΠΈΠ½ΠΎΠ³Π΄Π° Π·Π°ΡˆΠΊΠ°Π»ΠΈΠ²Π°Π΅Ρ‚ Π΄ΠΎ нСприличия. ΠžΠ±Π΅ΡΠΏΠ΅Ρ‡Π΅Π½ΠΈΠ΅ ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π²ΠΎ всСх Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°Ρ… (ΠΈ всСх ΠΈΡ… вСрсиях) нСпростая Π·Π°Π΄Π°Ρ‡Π°.

Π§Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ·Π½Π°Ρ‚ΡŒ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… Ρ„ΠΈΡ‡ Π² Ρ€Π°Π·Π½Ρ‹Ρ… Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°Ρ…, ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ прСкрасным рСсурсом https://caniuse.com/. А самый простой способ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΏΠΎΠ»ΠΈΡ„ΠΈΠ»Π»Ρ‹ Π½Π° свой сайт β€” это Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠΌ polyfill.io. ΠšΡ€ΠΎΠΌΠ΅ этого ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°, Π½Π° Π³ΠΈΡ‚Ρ…Π°Π±Π΅ ΠΎΠ³Ρ€ΠΎΠΌΠ½ΠΎΠ΅ количСство Π³ΠΎΡ‚ΠΎΠ²Ρ‹Ρ… ΠΏΠΎΠ»ΠΈΡ„ΠΈΠ»Π»ΠΎΠ² для Π»ΡŽΠ±Ρ‹Ρ… частСй DOM. Они разбросаны ΠΏΠΎ Ρ€Π°Π·Π½Ρ‹ΠΌ рСпозиториям Ρ€Π°Π·Π½Ρ‹Ρ… людСй, поэтому Ссли Π²Π°ΠΌ понадобится Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ ΠΏΠΎΠ»ΠΈΡ„ΠΈΠ»Π»ΠΈΡ‚ΡŒ, Ρ‚ΠΎ сначала придСтся ΠΏΠΎΡ‚Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ врСмя Π½Π° поиск Π½ΡƒΠΆΠ½ΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ.

Иногда Π±Ρ‹Π²Π°Π΅Ρ‚ Π½ΡƒΠΆΠ½ΠΎ просто ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ Ρ„ΠΈΡ‡ΠΈ, ΠΈ Π² зависимости ΠΎΡ‚ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π° Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ Ρ€Π°Π·Π½Ρ‹ΠΉ ΠΊΠΎΠ΄. Π’ Ρ‚Π°ΠΊΠΎΠΉ ситуации ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° modernizr.

Π―Π΄Ρ€ΠΎ JavaScript

Но ΠΏΠΎΠ»ΠΈΡ„ΠΈΠ»Π»Ρ‹ Π±Ρ‹Π²Π°ΡŽΡ‚ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для DOM. Π‘Π°ΠΌ JavaScript Ρ‚ΠΎΠΆΠ΅ Π½Π΅ΠΏΡ€Π΅Ρ€Ρ‹Π²Π½ΠΎ развиваСтся, особСнно послСдниС Π³ΠΎΠ΄Ρ‹. МногиС Ρ„ΠΈΡ‡ΠΈ соврСмСнного JavaScript Π½Π°ΡΡ‚ΠΎΠ»ΡŒΠΊΠΎ ΡƒΠΏΡ€ΠΎΡ‰Π°ΡŽΡ‚ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ, Ρ‡Ρ‚ΠΎ Π±Π΅Π· Π½ΠΈΡ… ΡƒΠΆΠ΅ слоТно. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ практичСски Π½ΠΈ ΠΎΠ΄ΠΈΠ½ соврСмСнный ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Π½Π΅ обходится Π±Π΅Π· Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ core-js. Π­Ρ‚Π° Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° Π·Π°ΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚ ΠΏΠΎΡ‡Ρ‚ΠΈ всС возмоТности соврСмСнного JavaScript.

Она устанавливаСтся, ΠΊΠ°ΠΊ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° ΠΈ ΠΎΠ΄ΠΈΠ½ Ρ€Π°Π· ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π½Π° самом Π²Π΅Ρ€Ρ…Π½Π΅ΠΌ ΡƒΡ€ΠΎΠ²Π½Π΅ прилоТСния ΠΈ Π΄Π΅Π»Π°Π΅Ρ‚ сама всю Ρ€Π°Π±ΠΎΡ‚Ρƒ, Π±Π΅Π· нСобходимости сборки прилоТСния Π²Π΅Π±ΠΏΠ°ΠΊΠΎΠΌ.

ΠžΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ доступ

ΠšΡƒΡ€ΡΡ‹ программирования для Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΎΠ² ΠΈ ΠΎΠΏΡ‹Ρ‚Π½Ρ‹Ρ… Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ². НачнитС ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ бСсплатно.

Наши выпускники Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ Π² компаниях:

Π‘ нуля Π΄ΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°. Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌ дСньги, Ссли Π½Π΅ ΡƒΠ΄Π°Π»ΠΎΡΡŒ Π½Π°ΠΉΡ‚ΠΈ Ρ€Π°Π±ΠΎΡ‚Ρƒ.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

ΠŸΠΎΠ»ΠΈΡ„ΠΈΠ»Ρ‹ Ρ‡Ρ‚ΠΎ это Ρ‚Π°ΠΊΠΎΠ΅

ΠŸΠΎΠ»ΠΈΡ„ΠΈΠ»Ρ‹ Ρ‡Ρ‚ΠΎ это Ρ‚Π°ΠΊΠΎΠ΅

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΠΎΠ»ΠΈΡ„ΠΈΠ»Ρ‹ Π² js. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΠΎΠ»ΠΈΡ„ΠΈΠ»Ρ‹ Π² js. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΠΎΠ»ΠΈΡ„ΠΈΠ»Ρ‹ Π² js. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΠΎΠ»ΠΈΡ„ΠΈΠ»Ρ‹ Π² js. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΠΎΠ»ΠΈΡ„ΠΈΠ»Ρ‹ Π² jsЗдравствуйтС! Π’ этом ΡƒΡ€ΠΎΠΊΠ΅ я Π²ΠΊΡ€Π°Ρ‚Ρ†Π΅ Ρ…ΠΎΡ‡Ρƒ ΠΎΡΠ²Π΅Ρ‚ΠΈΡ‚ΡŒ Ρ‚Π°ΠΊΠΎΠΉ вопрос, ΠΊΠ°ΠΊ ΠΏΠΎΠ»ΠΈΡ„ΠΈΠ»Ρ‹. Надо ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ JavaScript – это Π΄ΠΈΠ½Π°ΠΌΠΈΡ‡Π½ΠΎ Ρ€Π°Π·Π²ΠΈΠ²Π°ΡŽΡ‰ΠΈΠΉΡΡ язык программирования. РСгулярно ΠΏΠΎΡΠ²Π»ΡΡŽΡ‚ΡΡ прСдлоТСния ΠΎ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠΈ Π² Π½Π΅Π³ΠΎ Π½ΠΎΠ²Ρ‹Ρ… возмоТностСй, ΠΎΠ½ΠΈ СстСствСнно Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΡƒΡŽΡ‚ΡΡ, ΠΈ, Ссли прСдлоТСния ΠΎΠ΄ΠΎΠ±Ρ€ΡΡŽΡ‚ΡΡ, Ρ‚ΠΎ описания Π½ΠΎΠ²Ρ‹Ρ… возмоТностСй языка пСрСносятся Π² Ρ‡Π΅Ρ€Π½ΠΎΠ²ΠΈΠΊ стандарта, Π° Π·Π°Ρ‚Π΅ΠΌ ΡƒΠΆΠ΅ ΠΏΡƒΠ±Π»ΠΈΠΊΡƒΡŽΡ‚ΡΡ Π² спСцификации.

Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ JavaScript-Π΄Π²ΠΈΠΆΠΊΠΎΠ² сами Ρ€Π΅ΡˆΠ°ΡŽΡ‚, ΠΊΠ°ΠΊΠΈΠ΅ прСдлоТСния Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Ρ‹Π²Π°Ρ‚ΡŒ. Они ΠΌΠΎΠ³ΡƒΡ‚ Π·Π°Ρ€Π°Π½Π΅Π΅ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π² Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Ρ‹ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ всё Π΅Ρ‰Ρ‘ находятся Π² Ρ‡Π΅Ρ€Π½ΠΎΠ²ΠΎΠΌ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π΅, ΠΈ ΠΎΡ‚Π»ΠΎΠΆΠΈΡ‚ΡŒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡƒΠΆΠ΅ пСрСнСсСны Π² ΡΠΏΠ΅Ρ†ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΡŽ, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ ΠΎΠ½ΠΈ ΠΌΠ΅Π½Π΅Π΅ интСрСсны Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌ ΠΈΠ»ΠΈ Π±ΠΎΠ»Π΅Π΅ слоТныС Π² Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ.

Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, довольно часто рСализуСтся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‡Π°ΡΡ‚ΡŒ стандарта.

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΠΎΠ»ΠΈΡ„ΠΈΠ»Ρ‹ Π² js. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΠΎΠ»ΠΈΡ„ΠΈΠ»Ρ‹ Π² js. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΠΎΠ»ΠΈΡ„ΠΈΠ»Ρ‹ Π² js. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΠΎΠ»ΠΈΡ„ΠΈΠ»Ρ‹ Π² js. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΠΎΠ»ΠΈΡ„ΠΈΠ»Ρ‹ Π² js

Babel

Когда ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ соврСмСнныС возмоТности JavaScript, Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΄Π²ΠΈΠΆΠΊΠΈ ΠΌΠΎΠ³ΡƒΡ‚ ΠΊ соТалСнию Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒ ΠΈΡ…. Как Π±Ρ‹Π»ΠΎ сказано Π²Ρ‹ΡˆΠ΅, Π½Π΅ Π²Π΅Π·Π΄Π΅ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Ρ‹ всС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ.

И Ρ‚ΡƒΡ‚ ΠΏΡ€ΠΈΡ…ΠΎΠ΄ΠΈΡ‚ Π½Π° ΠΏΠΎΠΌΠΎΡ‰ΡŒ Babel.

Babel – это Ρ‚Π°ΠΊΠΎΠΉ транспилСр. Он пСрСписываСт соврСмСнный JavaScript-ΠΊΠΎΠ΄ Π² ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΠΉ стандарт.

На самом Π΄Π΅Π»Π΅, Π΅ΡΡ‚ΡŒ 2 части Babel:

2 интСрСсных Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π° ΠΏΠΎΠ»ΠΈΡ„ΠΈΠ»ΠΎΠ²:

Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ соврСмСнныС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π»ΠΈΡΡŒ Π² старых Π΄Π²ΠΈΠΆΠΊΠ°Ρ…, Π²Π°ΠΌ Π½Π°Π΄ΠΎ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ транспилСр ΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΏΠΎΠ»ΠΈΡ„ΠΈΠ».

Π‘Ρ€Π°ΡƒΠ·Π΅Ρ€ Google Chrome ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ соврСмСнныС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ новСйшиС ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ Π±Π΅Π· ΠΊΠ°ΠΊΠΈΡ…-Π»ΠΈΠ±ΠΎ транспилСров, Π½ΠΎ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ соврСмСнныС Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Ρ‹ Ρ‚ΠΎΠΆΠ΅ Ρ…ΠΎΡ€ΠΎΡˆΠΎ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚.

Если Π²Ρ‹ нашли ΠΎΡˆΠΈΠ±ΠΊΡƒ, поТалуйста, Π²Ρ‹Π΄Π΅Π»ΠΈΡ‚Π΅ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚ тСкста ΠΈ Π½Π°ΠΆΠΌΠΈΡ‚Π΅ Ctrl+Enter.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

ΠŸΠΎΠ»ΠΈΡ„ΠΈΠ»Ρ‹

JavaScript – Π΄ΠΈΠ½Π°ΠΌΠΈΡ‡Π½ΠΎ Ρ€Π°Π·Π²ΠΈΠ²Π°ΡŽΡ‰ΠΈΠΉΡΡ язык программирования. РСгулярно ΠΏΠΎΡΠ²Π»ΡΡŽΡ‚ΡΡ прСдлоТСния ΠΎ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠΈ Π² JS Π½ΠΎΠ²Ρ‹Ρ… возмоТностСй, ΠΎΠ½ΠΈ Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΡƒΡŽΡ‚ΡΡ, ΠΈ, Ссли прСдлоТСния ΠΎΠ΄ΠΎΠ±Ρ€ΡΡŽΡ‚ΡΡ, Ρ‚ΠΎ описания Π½ΠΎΠ²Ρ‹Ρ… возмоТностСй языка пСрСносятся Π² Ρ‡Π΅Ρ€Π½ΠΎΠ²ΠΈΠΊ https://tc39.github.io/ecma262/, Π° Π·Π°Ρ‚Π΅ΠΌ ΠΏΡƒΠ±Π»ΠΈΠΊΡƒΡŽΡ‚ΡΡ Π² спСцификации.

Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ JavaScript-Π΄Π²ΠΈΠΆΠΊΠΎΠ² сами Ρ€Π΅ΡˆΠ°ΡŽΡ‚, ΠΊΠ°ΠΊΠΈΠ΅ прСдлоТСния Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Ρ‹Π²Π°Ρ‚ΡŒ Π² ΠΏΠ΅Ρ€Π²ΡƒΡŽ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ. Они ΠΌΠΎΠ³ΡƒΡ‚ Π·Π°Ρ€Π°Π½Π΅Π΅ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π² Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Ρ‹ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ всё Π΅Ρ‰Ρ‘ находятся Π² Ρ‡Π΅Ρ€Π½ΠΎΠ²ΠΈΠΊΠ΅, ΠΈ ΠΎΡ‚Π»ΠΎΠΆΠΈΡ‚ΡŒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡƒΠΆΠ΅ пСрСнСсСны Π² ΡΠΏΠ΅Ρ†ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΡŽ, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ ΠΎΠ½ΠΈ ΠΌΠ΅Π½Π΅Π΅ интСрСсны Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌ ΠΈΠ»ΠΈ Π±ΠΎΠ»Π΅Π΅ слоТныС Π² Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ.

Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, довольно часто рСализуСтся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‡Π°ΡΡ‚ΡŒ стандарта.

МоТно ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π΅ состояниС ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… возмоТностСй JavaScript Π½Π° страницС https://kangax.github.io/compat-table/es6/ (Π½Π°ΠΌ Π΅Ρ‰Ρ‘ прСдстоит ΠΈΠ·ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΌΠ½ΠΎΠ³ΠΎΠ΅ ΠΈΠ· этого списка).

Babel

Когда ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ соврСмСнныС возмоТности JavaScript, Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΄Π²ΠΈΠΆΠΊΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒ ΠΈΡ…. Как Π±Ρ‹Π»ΠΎ сказано Π²Ρ‹ΡˆΠ΅, Π½Π΅ Π²Π΅Π·Π΄Π΅ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Ρ‹ всС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ.

И Ρ‚ΡƒΡ‚ ΠΏΡ€ΠΈΡ…ΠΎΠ΄ΠΈΡ‚ Π½Π° ΠΏΠΎΠΌΠΎΡ‰ΡŒ Babel.

Babel – это транспилСр. Он пСрСписываСт соврСмСнный JavaScript-ΠΊΠΎΠ΄ Π² ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΠΉ стандарт.

На самом Π΄Π΅Π»Π΅, Π΅ΡΡ‚ΡŒ Π΄Π²Π΅ части Babel:

Π’ΠΎ-ΠΏΠ΅Ρ€Π²Ρ‹Ρ…, транспилСр, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ пСрСписываСт ΠΊΠΎΠ΄. Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ запускаСт Babel Π½Π° своём ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅. Он пСрСписываСт ΠΊΠΎΠ΄ Π² старый стандарт. И послС этого ΠΊΠΎΠ΄ отправляСтся Π½Π° сайт. Π‘ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ сборщики ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ², Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ webpack ΠΈΠ»ΠΈ brunch, ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ транспилСр автоматичСски послС ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ измСнСния ΠΊΠΎΠ΄Π°, Ρ‡Ρ‚ΠΎ позволяСт ΡΠΊΠΎΠ½ΠΎΠΌΠΈΡ‚ΡŒ врСмя.

НовыС возмоТности языка ΠΌΠΎΠ³ΡƒΡ‚ Π²ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ встроСнныС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈ синтаксичСскиС конструкции. ВранспилСр пСрСписываСт ΠΊΠΎΠ΄, прСобразовывая Π½ΠΎΠ²Ρ‹Π΅ синтаксичСскиС конструкции Π² старыС. Но Ρ‡Ρ‚ΠΎ касаСтся Π½ΠΎΠ²Ρ‹Ρ… встроСнных Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΠΈΡ… ΠΊΠ°ΠΊ-Ρ‚ΠΎ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ. JavaScript являСтся высокодинамичным языком, скрипты ΠΌΠΎΠ³ΡƒΡ‚ Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ/ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ Π»ΡŽΠ±Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ½ΠΈ Π²Π΅Π»ΠΈ сСбя Π² соотвСтствии с соврСмСнным стандартом.

Π’Π΅Ρ€ΠΌΠΈΠ½ Β«ΠΏΠΎΠ»ΠΈΡ„ΠΈΠ»Β» ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ скрипт «заполняСт» ΠΏΡ€ΠΎΠ±Π΅Π»Ρ‹ ΠΈ добавляСт соврСмСнныС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ.

Π”Π²Π° интСрСсных Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π° ΠΏΠΎΠ»ΠΈΡ„ΠΈΠ»ΠΎΠ²:

Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ соврСмСнныС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π»ΠΈΡΡŒ Π² старых Π΄Π²ΠΈΠΆΠΊΠ°Ρ…, Π½Π°ΠΌ Π½Π°Π΄ΠΎ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ транспилСр ΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΏΠΎΠ»ΠΈΡ„ΠΈΠ».

ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ Π² ΡƒΡ‡Π΅Π±Π½ΠΈΠΊΠ΅

Π‘ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ² ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Β«Π½Π° мСстС», ΠΊΠ°ΠΊ этот:

ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ соврСмСнныС возмоТности JS, Π±ΡƒΠ΄ΡƒΡ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ, Ссли ваш Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ ΠΈΡ… ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚.

Google Chrome ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ соврСмСнныС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ новСйшиС ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ Π±Π΅Π· ΠΊΠ°ΠΊΠΈΡ…-Π»ΠΈΠ±ΠΎ транспилСров, Π½ΠΎ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ соврСмСнныС Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Ρ‹ Ρ‚ΠΎΠΆΠ΅ Ρ…ΠΎΡ€ΠΎΡˆΠΎ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

Π’Π°Ρˆ адрСс email Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½. ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ поля ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Ρ‹ *