Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Π»ΠΈΡ‚Π΅Ρ€Π°Π» Π² javascript

ΠΠΎΠ²ΡˆΠ΅ΡΡ‚Π²Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½Ρ‹Ρ… Π»ΠΈΡ‚Π΅Ρ€Π°Π»ΠΎΠ² Π² JavaScript ES6

ΠœΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π», ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΌΡ‹ прСдставляСм Π²Π°ΡˆΠ΅ΠΌΡƒ вниманию, посвящён исслСдованию особСнностСй ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½Ρ‹Ρ… Π»ΠΈΡ‚Π΅Ρ€Π°Π»ΠΎΠ² Π² JavaScript, Π² частности β€” Π½ΠΎΠ²ΡˆΠ΅ΡΡ‚Π², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ появились Π² свСТих вСрсиях стандарта ECMAScript.

JavaScript ΠΎΠ±Π»Π°Π΄Π°Π΅Ρ‚ ΠΌΠΎΡ‰Π½ΠΎΠΉ ΠΈ ΡƒΠ΄ΠΎΠ±Π½ΠΎΠΉ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒΡŽ создания ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² с использованиСм ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½Ρ‹Ρ… Π»ΠΈΡ‚Π΅Ρ€Π°Π»ΠΎΠ². Π‘Ρ‚Π°Π½Π΄Π°Ρ€Ρ‚ ES2015 (ES6) ΡƒΠΏΡ€ΠΎΡ‰Π°Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Ρƒ с ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ ΠΏΡ€ΠΈ создании ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ для соврСмСнных Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ΠΎΠ² (ΠΊΡ€ΠΎΠΌΠ΅ IE) ΠΈ для ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ Node.js.

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

ΠžΡΠ½ΠΎΠ²Ρ‹

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Π² Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… языках ΠΌΠΎΠΆΠ΅Ρ‚ Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Ρ‚ΡŒ Π±ΠΎΠ»ΡŒΡˆΠΈΡ… Π·Π°Ρ‚Ρ€Π°Ρ‚ рСсурсов, ΠΏΠΎΠ΄ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ ΠΌΡ‹ ΠΈΠΌΠ΅Π΅ΠΌ Π² Π²ΠΈΠ΄Ρƒ ΠΈ Ρ€Π°Π±ΠΎΡ‡Π΅Π΅ врСмя программиста, ΠΈ Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ рСсурсы систСм. Π’ частности, Ρ€Π΅Ρ‡ΡŒ ΠΈΠ΄Ρ‘Ρ‚ ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ, ΠΏΡ€Π΅ΠΆΠ΄Π΅ Ρ‡Π΅ΠΌ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ классы (скаТСм, с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ³ΠΎ слова class ). Π’ JavaScript ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΠΎΡ‡Π΅Π½ΡŒ быстро ΠΈ просто, Π±Π΅Π· нСобходимости выполнСния ΠΊΠ°ΠΊΠΈΡ…-Π»ΠΈΠ±ΠΎ ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… дСйствий. Рассмотрим ΠΏΡ€ΠΈΠΌΠ΅Ρ€:

Π’ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Β«ΠΎΠ΄Π½ΠΎΡ€Π°Π·ΠΎΠ²Ρ‹Π΅Β» ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹. Они хранят настройки ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Π΅, ΠΎΠ½ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ Π² качСствС ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, Π² качСствС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ, Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌΡ‹Ρ… функциями, ΠΈ Π² Π΄Ρ€ΡƒΠ³ΠΈΡ… ситуациях. ΠžΠ±ΡŠΠ΅ΠΊΡ‚Π½Ρ‹Π΅ Π»ΠΈΡ‚Π΅Ρ€Π°Π»Ρ‹ JavaScript Π² ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Ρ… случаях ΠΎΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ ΠΎΡ‡Π΅Π½ΡŒ кстати, Π° ES6 Ρ€Π°ΡΡˆΠΈΡ€ΡΠ΅Ρ‚ ΠΈΡ… возмоТности.

Π˜Π½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΡ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² ΠΈΠ· ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…

Бвойства ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² часто ΡΠΎΠ·Π΄Π°ΡŽΡ‚ ΠΈΠ· ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…, назначая ΠΈΠΌ Ρ‚Π΅ ΠΆΠ΅ ΠΈΠΌΠ΅Π½Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡƒΠΆΠ΅ Π½Π°Π·Π½Π°Ρ‡Π΅Π½Ρ‹ этим ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌ. НапримСр:

Π’ ES6 большС Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΡΡ‚ΡŒ ΠΈΠΌΠ΅Π½Π° ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…:

Π­Ρ‚ΠΎΡ‚ ΠΏΡ€ΠΈΡ‘ΠΌ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΠΊΠ°Π·Π°Ρ‚ΡŒΡΡ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ΠΌ для Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌΡ‹Ρ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² ΠΏΡ€ΠΈ использовании ΠΏΠ°Ρ‚Ρ‚Π΅Ρ€Π½Π° Revealing Module, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ позволяСт ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ пространства ΠΈΠΌΡ‘Π½ для Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚ΠΎΠ² ΠΊΠΎΠ΄Π° для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ΠΎΠ² ΠΈΠΌΡ‘Π½. НапримСр:

Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π²Ρ‹ Π²ΠΈΠ΄Π΅Π»ΠΈ ΠΊΠ°ΠΊ этот ΠΏΡ€ΠΈΡ‘ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² ES6-модулях:

Π‘ΠΎΠΊΡ€Π°Ρ‰Ρ‘Π½Π½Ρ‹ΠΉ синтаксис объявлСния ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ²

ΠŸΡ€ΠΈ объявлСнии ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Π² ES5 Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ΅ слово function :

Π’Π΅ΠΏΠ΅Ρ€ΡŒ, Π² ES6, Ρ‚Π°ΠΊ большС ΠΌΠΎΠΆΠ½ΠΎ Π½Π΅ Π΄Π΅Π»Π°Ρ‚ΡŒ. Π—Π΄Π΅ΡΡŒ допустим ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ сокращённый способ объявлСния ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ²:

Надо ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ здСсь нСльзя ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ стрСлочныС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ES6 ( => ), Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Ρƒ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ ΠΈΠΌΠ΅Π½Π°. Однако стрСлочныС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ссли явно Π½Π°Π·Π½Π°Ρ‡Π°Ρ‚ΡŒ ΠΈΠΌΠ΅Π½Π° ΠΌΠ΅Ρ‚ΠΎΠ΄Π°ΠΌ (ΠΊΠ°ΠΊ Π² ES5). НапримСр:

ДинамичСскиС ΠΊΠ»ΡŽΡ‡ΠΈ

Π’ ES5 нСльзя Π±Ρ‹Π»ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Π² качСствС ΠΈΠΌΡ‘Π½ ΠΊΠ»ΡŽΡ‡Π΅ΠΉ, хотя ΠΊΠ»ΡŽΡ‡, имя ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ задаётся ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ, ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ послС создания ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°. НапримСр:

Π’ ES6 ΠΊΠ»ΡŽΡ‡ΠΈ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°Π·Π½Π°Ρ‡Π°Ρ‚ΡŒ динамичСски, помСщая Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅, ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‰Π΅Π΅ имя, Π² ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½Ρ‹Π΅ скобки ( [] ). НапримСр:

Для создания ΠΊΠ»ΡŽΡ‡Π° ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ любоС Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅:

ДинамичСскиС ΠΊΠ»ΡŽΡ‡ΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ для ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ², ΠΈ для свойств:

Π”Ρ€ΡƒΠ³ΠΎΠΉ вопрос β€” Π½Π°Π΄ΠΎ Π»ΠΈ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ свойства ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ с динамичСски Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΌΠΈ ΠΈΠΌΠ΅Π½Π°ΠΌΠΈ. Π§ΠΈΡ‚Π°Π±Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΊΠΎΠ΄Π°, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ этот ΠΏΡ€ΠΈΡ‘ΠΌ, ΠΌΠΎΠΆΠ΅Ρ‚ ΡƒΡ…ΡƒΠ΄ΡˆΠΈΡ‚ΡŒΡΡ. Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Ссли Π²Ρ‹ ΡΡ‚Π°Π»ΠΊΠΈΠ²Π°Π΅Ρ‚Π΅ΡΡŒ с ситуациями, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… динамичСскиС ΠΈΠΌΠ΅Π½Π° каТутся умСстными, Π»ΡƒΡ‡ΡˆΠ΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠ΄ΡƒΠΌΠ°Ρ‚ΡŒ ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠΈ для создания ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Ρ„Π°Π±Ρ€ΠΈΡ‡Π½Ρ‹Ρ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ ΠΈΠ»ΠΈ классов.

ДСструктурированиС

ДСструктурированиС β€” это ΠΈΠ·Π²Π»Π΅Ρ‡Π΅Π½ΠΈΠ΅ свойств ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² ΠΈ Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΈΡ… ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌ. Часто Π² Ρ…ΠΎΠ΄Π΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΠ·Π²Π»Π΅Ρ‡ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ свойства ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ΠΈ Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Π΅Π³ΠΎ Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ. Π’ ES5 Π½ΡƒΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ ΠΎΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ это ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, ΠΏΠΎΠ»ΡŒΠ·ΡƒΡΡΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌΠΈ доступа ΠΊ свойствам:

ES6 ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ дСструктурированиС. МоТно ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ с Ρ‚Π΅ΠΌ ΠΆΠ΅ ΠΈΠΌΠ΅Π½Π΅ΠΌ, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ носит ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π΅ свойство ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°, ΠΈ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅:

ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠΏΠ°Π΄Π°ΡŽΡ‚ значСния свойств ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°, ΠΌΠΎΠ³ΡƒΡ‚, Π½Π° самом Π΄Π΅Π»Π΅, ΠΈΠΌΠ΅Ρ‚ΡŒ Π»ΡŽΠ±Ρ‹Π΅ ΠΈΠΌΠ΅Π½Π°, Π½ΠΎ Π² Ρ‚ΠΎΠΌ случаС, Ссли ΠΎΠ½ΠΈ ΠΎΡ‚Π»ΠΈΡ‡Π°ΡŽΡ‚ΡΡ ΠΎΡ‚ ΠΈΠΌΡ‘Π½ свойств, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ конструкциСй < propertyName: newVariable >:

ΠžΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹, ΠΎΠ±Π»Π°Π΄Π°ΡŽΡ‰ΠΈΠ΅ слоТной структурой, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Π»ΠΎΠΆΠ΅Π½Ρ‹ массивы ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹, Ρ‚ΠΎΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π² опСрациях Π΄Π΅ΡΡ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€ΠΈΡ€ΡƒΡŽΡ‰Π΅Π³ΠΎ присваивания:

ΠŸΠΎΠ½Π°Ρ‡Π°Π»Ρƒ всё это ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒΡΡ слоТным, ΠΎΠ΄Π½Π°ΠΊΠΎ, с этим Π½Π΅ Ρ‚Π°ΠΊ ΡƒΠΆ ΠΈ тяТСло Ρ€Π°Π·ΠΎΠ±Ρ€Π°Ρ‚ΡŒΡΡ, Π³Π»Π°Π²Π½ΠΎΠ΅ β€” ΠΏΠΎΠΌΠ½ΠΈΡ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅:

Π­Ρ‚Π° конструкция Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎ воспринимаСтся систСмой ΠΏΡ€ΠΈ объявлСнии ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…:

Если ΠΆΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ ΡƒΠΆΠ΅ ΠΎΠ±ΡŠΡΠ²Π»Π΅Π½Ρ‹, Π½Π°Π΄ΠΎ Π·Π°ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π² ΠΊΡ€ΡƒΠ³Π»Ρ‹Π΅ скобки:

Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅, занимаясь дСструктурированиСм, слСдуСт Π²Π½ΠΈΠΌΠ°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΠΎΡ‚Π½ΠΎΡΠΈΡ‚ΡŒΡΡ ΠΊ ΠΊΠΎΠ΄Ρƒ ΠΈ Π½Π΅ ΡΠΌΠ΅ΡˆΠΈΠ²Π°Ρ‚ΡŒ ΠΎΠ±ΡŠΡΠ²Π»Π΅Π½Π½Ρ‹Π΅ ΠΈ Π½Π΅ΠΎΠ±ΡŠΡΠ²Π»Π΅Π½Π½Ρ‹Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅.

ДСструктурированиС β€” это ΠΏΡ€ΠΈΡ‘ΠΌ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΈΠ³ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ… ситуациях.

ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ

Если функция нуТдаСтся Π² Π΄Π»ΠΈΠ½Π½ΠΎΠΌ спискС Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ², ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΏΡ€ΠΎΡ‰Π΅ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ Π΅ΠΉ ΠΎΠ΄ΠΈΠ½ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ с ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°ΠΌΠΈ. НапримСр:

Π’ ES5 Π±Ρ‹Π»ΠΎ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Ρ€Π°Π·Π±ΠΈΡ€Π°Ρ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ с ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°ΠΌΠΈ для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹, Π² Ρ‚ΠΎΠΌ случаС, Ссли Π² Ρ‚Π°ΠΊΠΈΡ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°Ρ… Π½Π΅Ρ‚ Ρ‚ΠΎΠ³ΠΎ, Ρ‡Π΅Π³ΠΎ Π½ΡƒΠΆΠ½ΠΎ, Π½Π°Π·Π½Π°Ρ‡ΠΈΡ‚ΡŒ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΌ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°ΠΌ значСния ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ:

Π’ ES6 Π»ΡŽΠ±Ρ‹ΠΌ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°ΠΌ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°Π·Π½Π°Ρ‡Π°Ρ‚ΡŒ значСния ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ:

Π—Π°Ρ‚Π΅ΠΌ ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ дСструктурированиСм для извлСчСния ΠΈΠ· ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ, ΠΈ, ΠΏΡ€ΠΈ нСобходимости, для назначСния Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ:

Π’ΡƒΡ‚ стоит ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹ΠΉ ΠΊΠΎΠ΄, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π±ΡƒΠ΄Π΅Ρ‚ слоТнСС Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ, Ρ‡Π΅ΠΌ Π±ΠΎΠ»Π΅Π΅ Ρ‚Ρ€Π°Π΄ΠΈΡ†ΠΈΠΎΠ½Π½Ρ‹ΠΉ, хотя это β€” вопрос Π»ΠΈΡ‡Π½Ρ‹Ρ… пристрастий программиста.

Π Π°Π·Π±ΠΎΡ€ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ², Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌΡ‹Ρ… функциями

Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Ρ‚ΡŒ лишь ΠΎΠ΄Π½ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, Π½ΠΎ это Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠΌ с сотнСй свойств ΠΈΠ»ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ². Π’ ES5 Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π±Ρ‹Π»ΠΎ сначала ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌΡ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚, Π° ΡƒΠΆΠ΅ послС этого ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ ΠΈΠ·Π²Π»Π΅ΠΊΠ°Ρ‚ΡŒ ΠΈΠ· Π½Π΅Π³ΠΎ значСния:

ДСструктурированиС ΡƒΠΏΡ€ΠΎΡ‰Π°Π΅Ρ‚ этот процСсс. Π’Π΅ΠΏΠ΅Ρ€ΡŒ всё это ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π±Π΅Π· нСобходимости сохранСния ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π³ΠΎ Π΅Π³ΠΎ Ρ€Π°Π·Π±ΠΎΡ€Π°:

Бинтаксис ΠΎΡΡ‚Π°Π²ΡˆΠΈΡ…ΡΡ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ ES2018 (ES9)

=Π’ ES2015 синтаксис ΠΎΡΡ‚Π°Π²ΡˆΠΈΡ…ΡΡ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ (ΠΈ Ρ‚ΠΎΡ‚ ΠΈ Π΄Ρ€ΡƒΠ³ΠΎΠΉ выглядят ΠΊΠ°ΠΊ Ρ‚Ρ€ΠΈ Ρ‚ΠΎΡ‡ΠΊΠΈ, … ) ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΠ»ΠΈΡΡŒ лишь ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с массивами. Π’ ES2018 ΠΏΠΎΡ…ΠΎΠΆΠΈΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π» ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ:

ΠŸΠΎΡ…ΠΎΠΆΠΈΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ для ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ Π½Π΅ΠΊΠΈΡ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ:

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Π² ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Ρ… ситуациях ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ лишь ΠΎΠ΄Π½ΠΎ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ с трСмя Ρ‚ΠΎΡ‡ΠΊΠ°ΠΌΠΈ, Π² ΠΊΠΎΠ½Ρ†Π΅ списка. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, для ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ², Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Ρ… Π² Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹, это Π½Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚.

ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ²:

Бинтаксис ΠΎΡΡ‚Π°Π²ΡˆΠΈΡ…ΡΡ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ ΠΏΠΎΠΊΠ° ΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Π½Π΅ слишком ΡˆΠΈΡ€ΠΎΠΊΠΎΠΉ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΎΠΉ. Π’ настоящий ΠΌΠΎΠΌΠ΅Π½Ρ‚ ΠΈΠΌΠΈ, Π±Π΅Π· Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… усилий, ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π² Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°Ρ… Chrome ΠΈ Firefox, ΠΈ ΠΏΡ€ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ для ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ Node.js вСрсии 8.6 ΠΈ Π²Ρ‹ΡˆΠ΅.

Π˜Ρ‚ΠΎΠ³ΠΈ

ΠžΠ±ΡŠΠ΅ΠΊΡ‚Π½Ρ‹Π΅ Π»ΠΈΡ‚Π΅Ρ€Π°Π»Ρ‹ всСгда Π±Ρ‹Π»ΠΈ ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠΉ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒΡŽ JavaScript. ΠΠΎΠ²ΡˆΠ΅ΡΡ‚Π²Π°, ΠΏΠΎΡΠ²Π»ΡΡŽΡ‰ΠΈΠ΅ΡΡ Π² JavaScript начиная со стандарта ES2015, Π½Π΅ нСсут Π² сСбС Ρ„ΡƒΠ½Π΄Π°ΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½Ρ‹Ρ… ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ, Π½ΠΎ ΠΎΠ½ΠΈ экономят врСмя программиста ΠΈ ΠΏΠΎΠΌΠΎΠ³Π°ΡŽΡ‚ ΠΏΠΈΡΠ°Ρ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ чистый ΠΈ Π»Π°ΠΊΠΎΠ½ΠΈΡ‡Π½Ρ‹ΠΉ ΠΊΠΎΠ΄.

Π£Π²Π°ΠΆΠ°Π΅ΠΌΡ‹Π΅ Ρ‡ΠΈΡ‚Π°Ρ‚Π΅Π»ΠΈ! Какими способами создания JS-ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Π²Ρ‹ ΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ΡΡŒ Ρ‡Π°Ρ‰Π΅ всСго?

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

ΠžΡΠ½ΠΎΠ²Ρ‹ языка JavaScript.

ЛСксСмы

ЛСксСмы (tokens) β€” это наимСньшиС ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ слова, Ρ„Ρ€Π°Π·Ρ‹, символы, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Ρ€Π°ΡΠΏΠΎΠ·Π½Π°Ρ‚ΡŒ JavaScript. Π’ΠΎ врСмя ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ†ΠΈΠΈ JavaScript-ΠΊΠΎΠ΄Π° Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ Ρ€Π°Π·Π±ΠΈΠ²Π°Π΅Ρ‚ сцСнарии Π½Π° лСксСмы, игнорируя ΠΏΡ€ΠΈ этом ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ ΠΈ лишниС ΠΏΡ€ΠΎΠ±Π΅Π»Ρ‹. ЛСксСмы ΠΏΠΎΠ΄Ρ€Π°Π·Π΄Π΅Π»ΡΡŽΡ‚ΡΡ Π½Π° Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅ ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠΈ: ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρ‹, ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Π΅ слова, Π»ΠΈΡ‚Π΅Ρ€Π°Π»Ρ‹ ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹. Как ΠΈ Π² любом ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½ΠΎΠΌ языкС, сущСствуСт мноТСство способов ΠΏΠΎΠ΄Π°Ρ‡ΠΈ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Ρƒ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ² Π·Π° счСт Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΎΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΊΠΈ лСксСм. Бинтаксис (syntax) языка β€” это Π½Π°Π±ΠΎΡ€ ΠΏΡ€Π°Π²ΠΈΠ» ΠΈ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠΉ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΉ ΠΏΡ€ΠΈ ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ лСксСм.

Π˜Π΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρ‹

Π˜Π΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρ‹ (identifiers) β€” ΡΡƒΡ‚ΡŒ Π½ΠΈ Ρ‡Ρ‚ΠΎ ΠΈΠ½ΠΎΠ΅ ΠΊΠ°ΠΊ ΠΈΠΌΠ΅Π½Π° ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…, ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² ΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ². Они состоят ΠΈΠ· ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΠΈ Π±ΡƒΠΊΠ² ΠΈ Ρ†ΠΈΡ„Ρ€. НСкоторыС ΠΈΠΌΠ΅Π½Π° ΡƒΠΆΠ΅ встроСны Π² язык JavaScript ΠΈ поэтому Π·Π°Ρ€Π΅Π·Π΅Ρ€Π²ΠΈΡ€ΠΎΠ²Π°Π½Ρ‹ ΠΎΡ‚ использования. НСзависимо ΠΎΡ‚ ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Ρ… слов, ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡ‚ΡŒ собствСнныС, ΠΏΡ€ΠΈΡ‚ΠΎΠΌ Π·Π½Π°Ρ‡Π°Ρ‰ΠΈΠ΅ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρ‹. РазумССтся, для этого сущСствуСт нСсколько ΠΏΡ€Π°Π²ΠΈΠ»:

ΠšΠ»ΡŽΡ‡Π΅Π²Ρ‹Π΅ слова ΠΈ Π·Π°Ρ€Π΅Π·Π΅Ρ€Π²ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ слова

ΠšΠ»ΡŽΡ‡Π΅Π²Ρ‹Π΅ слова (keywords) β€” ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Π΅ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρ‹, ΡΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΠΈΠ΅ ядро языка программирования. Π’ JavaScript ΠΎΠ½ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ особыС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, объявлСниС Π½ΠΎΠ²Ρ‹Ρ… ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…, Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, принятиС Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ Π½Π° основС Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ состояния ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π° ΠΈΠ»ΠΈ организация Ρ†ΠΈΠΊΠ»Π° Π²Π½ΡƒΡ‚Ρ€ΠΈ прилоТСния.

Π—Π°Ρ€Π΅Π·Π΅Ρ€Π²ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ слова (reserved words) β€” это ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π² качСствС ΠΈΠΌΠ΅Π½ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…, Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² ΠΊΠ°ΠΊ сСйчас, Ρ‚Π°ΠΊ ΠΈ Π² Π±ΡƒΠ΄ΡƒΡ‰Π΅ΠΌ.

Π›ΠΈΡ‚Π΅Ρ€Π°Π»Ρ‹

Π›ΠΈΡ‚Π΅Ρ€Π°Π»Ρ‹ (literals) β€” это числа ΠΈΠ»ΠΈ строки, ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΠΈΠ΅ постоянныС значСния JavaScript. Π­Ρ‚ΠΎ значСния, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ ΠΈΠ·ΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ Π²ΠΎ врСмя выполнСния сцСнария.

ЦСлочислСнныС Π»ΠΈΡ‚Π΅Ρ€Π°Π»Ρ‹

ЦСлочислСнныС Π»ΠΈΡ‚Π΅Ρ€Π°Π»Ρ‹ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ прСдставлСны Π² дСсятичном (дСсятичная систСма счислСния), Π²ΠΎΡΡŒΠΌΠ΅Ρ€ΠΈΡ‡Π½ΠΎΠΌ (Π²ΠΎΡΡŒΠΌΠ΅Ρ€ΠΈΡ‡Π½Π°Ρ систСма счислСния) ΠΈΠ»ΠΈ ΡˆΠ΅ΡΡ‚Π½Π°Π΄Ρ†Π°Ρ‚Π΅Ρ€ΠΈΡ‡Π½ΠΎΠΌ (ΡˆΠ΅ΡΡ‚Π½Π°Π΄Ρ†Π°Ρ‚Π΅Ρ€ΠΈΡ‡Π½Π°Ρ систСма счислСния) Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅. ЦСлочислСнный Π»ΠΈΡ‚Π΅Ρ€Π°Π» Π² дСсятичном Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ Π»ΡŽΠ±ΡƒΡŽ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Ρ†ΠΈΡ„Ρ€, Π½ΠΎ Π½Π΅ Π½Π°Ρ‡ΠΈΠ½Π°Ρ‚ΡŒΡΡ с 0. Ноль Π² Π½Π°Ρ‡Π°Π»Π΅ цСлочислСнного Π»ΠΈΡ‚Π΅Ρ€Π°Π»Π° опрСдСляСт Π²ΠΎΡΡŒΠΌΠ΅Ρ€ΠΈΡ‡Π½Ρ‹ΠΉ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚. Π’ Π²ΠΎΡΡŒΠΌΠ΅Ρ€ΠΈΡ‡Π½ΠΎΠΉ записи цСлочислСнный Π»ΠΈΡ‚Π΅Ρ€Π°Π» ΠΌΠΎΠΆΠ΅Ρ‚ Π²ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Ρ†ΠΈΡ„Ρ€ ΠΎΡ‚ 0 Π΄ΠΎ 7. Для опрСдСлСния ΡˆΠ΅ΡΡ‚Π½Π°Π΄Ρ†Π°Ρ‚Π΅Ρ€ΠΈΡ‡Π½ΠΎΠ³ΠΎ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° числа ΠΏΠ΅Ρ€Π΅Π΄ Π»ΠΈΡ‚Π΅Ρ€Π°Π»ΠΎΠΌ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ставится ΠžΡ… ΠΈΠ»ΠΈ ОΠ₯. ШСстнадцатСричныС цСлочислСнныС Π»ΠΈΡ‚Π΅Ρ€Π°Π»Ρ‹ ΠΌΠΎΠ³ΡƒΡ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ Ρ†ΠΈΡ„Ρ€Ρ‹ ΠΎΡ‚ 0 Π΄ΠΎ 9 ΠΈ Π±ΡƒΠΊΠ²Ρ‹ Π° β€” f ΠΈΠ»ΠΈ А β€” F. Рассмотрим нСсколько ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ²:

Π›ΠΈΡ‚Π΅Ρ€Π°Π»Ρ‹ с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ Ρ‚ΠΎΡ‡ΠΊΠΎΠΉ

Π›ΠΈΡ‚Π΅Ρ€Π°Π»Ρ‹ с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ Ρ‚ΠΎΡ‡ΠΊΠΎΠΉ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‚ дСсятичныС числа с Π΄Ρ€ΠΎΠ±Π½ΠΎΠΉ Ρ‡Π°ΡΡ‚ΡŒΡŽ. Π˜Ρ… ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹Ρ€Π°ΠΆΠ°Ρ‚ΡŒ Π² стандартном ΠΈ ΡΠΊΡΠΏΠΎΠ½Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΌ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π°Ρ…. Π­ΠΊΡΠΏΠΎΠ½Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ ΠΏΠΎΠ΄Ρ€Π°Π·ΡƒΠΌΠ΅Π²Π°Π΅Ρ‚ использованиС Π΅ ΠΈΠ»ΠΈ Π• для опрСдСлСния порядка числа. И дСсятСричноС число, ΠΈ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ стСпСни ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ со Π·Π½Π°ΠΊΠΎΠΌ ΠΈΠ»ΠΈ Π±Π΅Π· Π·Π½Π°ΠΊΠΎΠ²Ρ‹ΠΌΠΈ (ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΈ ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅):

ЛогичСскиС Π»ΠΈΡ‚Π΅Ρ€Π°Π»Ρ‹

Π’ JavaScript Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ логичСский Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ…, поэтому ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ΡΡ Π΄Π²Π° Π»ΠΈΡ‚Π΅Ρ€Π°Π»Π° true ΠΈ false, ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΠΈΠ΅ соотвСтствСнно значСния логичСской 1 ΠΈ 0. Если Π²Ρ‹ Π½ΠΎΠ²ΠΈΡ‡ΠΎΠΊ Π² области программирования, Π½Π΅ ΠΎΡ‚Ρ‡Π°ΠΈΠ²Π°ΠΉΡ‚Π΅ΡΡŒ β€” ΠΎΡ‡Π΅Π½ΡŒ скоро Π²Ρ‹ ΠΏΠΎΠΉΠΌΠ΅Ρ‚Π΅ всю Π²Π°ΠΆΠ½ΠΎΡΡ‚ΡŒ true ΠΈ false. ΠšΠ»ΡŽΡ‡Π΅Π²Ρ‹Π΅ слова true ΠΈ false Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π·Π°ΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒΡΡ строчными Π±ΡƒΠΊΠ²Π°ΠΌΠΈ. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, TRUE ΠΈ FALSE прописными Π±ΡƒΠΊΠ²Π°ΠΌΠΈ ΠΎΡΡ‚Π°ΡŽΡ‚ΡΡ доступными для примСнСния Π² качСствС собствСнных ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΎΠ². Однако, Π²ΠΎ ΠΈΠ·Π±Π΅ΠΆΠ°Π½ΠΈΠ΅ Π½Π΅Π΄ΠΎΡ€Π°Π·ΡƒΠΌΠ΅Π½ΠΈΠΉ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΡ… Π² Ρ‚Π°ΠΊΠΎΠΌ контСкстС Π½Π΅ рСкомСндуСтся.

Π‘Ρ‚Ρ€ΠΎΠΊΠΎΠ²Ρ‹Π΅ Π»ΠΈΡ‚Π΅Ρ€Π°Π»Ρ‹

Π‘Ρ‚Ρ€ΠΎΠΊΠΎΠ²Ρ‹ΠΉ Π»ΠΈΡ‚Π΅Ρ€Π°Π» β€” это ноль ΠΈ Π±ΠΎΠ»Π΅Π΅ символов, Π·Π°ΠΊΠ»ΡŽΡ‡Π΅Π½Π½Ρ‹Ρ… Π² Π΄Π²ΠΎΠΉΠ½Ρ‹Π΅ (β€œβ€) ΠΈΠ»ΠΈ ΠΎΠ΄ΠΈΠ½ΠΎΡ‡Π½Ρ‹Π΅ (β€œ) ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠΈ. НСсмотря Π½Π° Ρ‚ΠΎ Ρ‡Ρ‚ΠΎ JavaScript Ρ€Π°Π·Ρ€Π΅ΡˆΠ°Π΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ±Π° Ρ‚ΠΈΠΏΠ° ΠΊΠ°Π²Ρ‹Ρ‡Π΅ΠΊ, для строки Π»ΡƒΡ‡ΡˆΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒ ΠΎΠ΄ΠΈΠ½ ΠΈ Ρ‚ΠΎΡ‚ ΠΆΠ΅ Ρ‚ΠΈΠΏ ΠΊΠ°Π²Ρ‹Ρ‡Π΅ΠΊ ΠΊΠ°ΠΊ Π² Π½Π°Ρ‡Π°Π»Π΅, Ρ‚Π°ΠΊ ΠΈ Π² ΠΊΠΎΠ½Ρ†Π΅. Рассмотрим ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ строковых Π»ΠΈΡ‚Π΅Ρ€Π°Π»ΠΎΠ²:

ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ

ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ (operators) β€” это символы ΠΈΠ»ΠΈ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‚ способ ΠΎΡ†Π΅Π½ΠΊΠΈ ΠΈΠ»ΠΈ манипуляции комбинациями Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ. НаиболСС ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠΎΠΉ ΠΎΠ±Ρ‰Π΅ΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠ΅ΠΉ являСтся Π΄Π°Π»Π΅ΠΊΠΎ Π½Π΅ опСрация присваивания. Π’ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ Ρ…=10 ΠΊΠ°ΠΊ собствСнно 10, Ρ‚Π°ΠΊ ΠΈ пСрСмСнная Ρ… β€” это выраТСния. Когда JavaScript встрСчаСт ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΡŽ присваивания ΠΌΠ΅ΠΆΠ΄Ρƒ двумя выраТСниями, Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ дСйствия Π² соотвСтствиС с ΠΏΡ€Π°Π²ΠΈΠ»Π°ΠΌΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° присваивания. Π’ рассматриваСмом случаС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ выраТСния Π² ΠΏΡ€Π°Π²ΠΎΠΉ части присваиваСтся ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π² Π»Π΅Π²ΠΎΠΉ части. Наряду с арифмСтичСскими, JavaScript ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ 30 Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ.

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

Π¨Π°Π±Π»ΠΎΠ½Π½Ρ‹Π΅ строки

Бинтаксис

ОписаниС

ΠœΠ½ΠΎΠ³ΠΎΡΡ‚Ρ€ΠΎΡ‡Π½Ρ‹Π΅ Π»ΠΈΡ‚Π΅Ρ€Π°Π»Ρ‹

Π‘ΠΈΠΌΠ²ΠΎΠ»Ρ‹ Π½ΠΎΠ²ΠΎΠΉ строки ΡΠ²Π»ΡΡŽΡ‚ΡΡ Ρ‡Π°ΡΡ‚ΡŒΡŽ ΡˆΠ°Π±Π»ΠΎΠ½Π½Ρ‹Ρ… Π»ΠΈΡ‚Π΅Ρ€Π°Π»ΠΎΠ². Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹Π΅ строки, вставка пСрСноса ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΎΠ²Π°Π»Π° Π±Ρ‹ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π³ΠΎ синтаксиса:

Π’ΠΎ ΠΆΠ΅ с использованиСм ΡˆΠ°Π±Π»ΠΎΠ½Π½Ρ‹Ρ… Π»ΠΈΡ‚Π΅Ρ€Π°Π»ΠΎΠ²:

Π˜Π½Ρ‚Π΅Ρ€ΠΏΠΎΠ»ΡΡ†ΠΈΡ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ

Для вставки Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ Π² ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹Π΅ строки Π²Π°ΠΌ ΠΏΡ€ΠΈΡˆΠ»ΠΎΡΡŒ Π±Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ синтаксис:

Π’Π΅ΠΏΠ΅Ρ€ΡŒ, ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ ΡˆΠ°Π±Π»ΠΎΠ½Π½Ρ‹Ρ… Π»ΠΈΡ‚Π΅Ρ€Π°Π»ΠΎΠ², Π²Π°ΠΌ доступСн «ΡΠΈΠ½Ρ‚Π°ΠΊΡΠΈΡ‡Π΅ΡΠΊΠΈΠΉ сахар», Π΄Π΅Π»Π°ΡŽΡ‰ΠΈΠΉ подстановки Π²Ρ€ΠΎΠ΄Π΅ Ρ‚ΠΎΠΉ Π±ΠΎΠ»Π΅Π΅ Ρ‡ΠΈΡ‚Π°Π±Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ:

Π’Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Π΅ ΡˆΠ°Π±Π»ΠΎΠ½Ρ‹

Π’ ES2015 с ΡˆΠ°Π±Π»ΠΎΠ½Π½Ρ‹ΠΌΠΈ Π»ΠΈΡ‚Π΅Ρ€Π°Π»Π°ΠΌΠΈ Π±Π΅Π· влоТСния:

Π’ ES2015 с Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹ΠΌΠΈ ΡˆΠ°Π±Π»ΠΎΠ½Π½Ρ‹ΠΌΠΈ Π»ΠΈΡ‚Π΅Ρ€Π°Π»Π°ΠΌΠΈ:

Π’Π΅Π³ΠΎΠ²Ρ‹Π΅ ΡˆΠ°Π±Π»ΠΎΠ½Ρ‹

Π Π°ΡΡˆΠΈΡ€Π΅Π½Π½ΠΎΠΉ Ρ„ΠΎΡ€ΠΌΠΎΠΉ ΡˆΠ°Π±Π»ΠΎΠ½Π½Ρ‹Ρ… Π»ΠΈΡ‚Π΅Ρ€Π°Π»ΠΎΠ² ΡΠ²Π»ΡΡŽΡ‚ΡΡ Ρ‚Π΅Π³ΠΎΠ²Ρ‹Π΅ ΡˆΠ°Π±Π»ΠΎΠ½Ρ‹. Они ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ Ρ€Π°Π·Π±ΠΈΡ€Π°Ρ‚ΡŒ ΡˆΠ°Π±Π»ΠΎΠ½Π½Ρ‹Π΅ Π»ΠΈΡ‚Π΅Ρ€Π°Π»Ρ‹ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ. ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ Ρ‚Π°ΠΊΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ содСрТит массив строковых Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ, Π° ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Π΅ содСрТат выраТСния ΠΈΠ· подстановок. Π’ ΠΈΡ‚ΠΎΠ³Π΅, функция Π΄ΠΎΠ»ΠΆΠ½Π° Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ ΡΠΎΠ±Ρ€Π°Π½Π½ΡƒΡŽ строку (ΠΈΠ»ΠΈ Ρ‡Ρ‚ΠΎ-Π»ΠΈΠ±ΠΎ совсСм ΠΈΠ½ΠΎΠ΅, ΠΊΠ°ΠΊ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π΄Π°Π»Π΅Π΅). Имя Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π»ΡŽΠ±Ρ‹ΠΌ.

Ѐункция Ρ‚Π΅Π³Π° Π½Π΅ обязана Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Ρ‚ΡŒ строку, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π² ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ Π½ΠΈΠΆΠ΅:

Π‘Ρ‹Ρ€Ρ‹Π΅ строки

Π’Π΅Π³ΠΎΠ²Ρ‹Π΅ ΡˆΠ°Π±Π»ΠΎΠ½Ρ‹ ΠΈ экранированиС символов

ПовСдСниС в ES2016

Π’ ECMAScript 2016 Ρ‚Π΅Π³ΠΎΠ²Ρ‹Π΅ ΡˆΠ°Π±Π»ΠΎΠ½Ρ‹ ΡΠ»Π΅Π΄ΡƒΡŽΡ‚ ΠΏΡ€Π°Π²ΠΈΠ»Π°ΠΌ экранирования ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… символов:

ПовСдСниС в ES2018

Π’Π΅Π³ΠΎΠ²Ρ‹Π΅ ΡˆΠ°Π±Π»ΠΎΠ½Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡ‚ΡŒ Π²ΡΡ‚Ρ€Π°ΠΈΠ²Π°Ρ‚ΡŒ языки (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, DSLs ΠΈΠ»ΠΈ LaTeX), Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΡˆΠΈΡ€ΠΎΠΊΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ экранирования. ΠŸΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ РСдакция ΡˆΠ°Π±Π»ΠΎΠ½Π½Ρ‹Ρ… Π»ΠΈΡ‚Π΅Ρ€Π°Π»ΠΎΠ² (ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ 4, ΠΎΠ΄ΠΎΠ±Ρ€Π΅Π½Π½Ρ‹ΠΉ ΠΊ добавлСнию Π² стандарт ECMAScript 2018) устраняСт синтаксичСскиС ограничСния экранирования Ρ‚Π΅Π³ΠΎΠ²Ρ‹Ρ… шаблонов Π² ECMAScript.

Однако, Π½Π΅ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎΠ΅ экранированиС символов ΠΏΠΎ-ΠΏΡ€Π΅ΠΆΠ½Π΅ΠΌΡƒ Π½ΡƒΠΆΠ½ΠΎ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ‚ΡŒ Π² «ΠΏΡ€ΠΈΠ³ΠΎΡ‚ΠΎΠ²Π»Π΅Π½Π½ΠΎΠΌ» ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΈ. Оно показываСтся Π² Π²ΠΈΠ΄Π΅ undefined Π² «ΠΏΡ€ΠΈΠ³ΠΎΡ‚ΠΎΠ²Π»Π΅Π½Π½ΠΎΠΌ» массивС:

Π—Π°ΠΌΠ΅Ρ‚ΡŒΡ‚Π΅, Ρ‡Ρ‚ΠΎ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅ Π½Π° экранированиС символов проявляСтся лишь Π² Ρ‚Π΅Π³ΠΎΠ²Ρ‹Ρ… ΡˆΠ°Π±Π»ΠΎΠ½Π°Ρ…, ΠΈ Π½Π΅ проявляСтся Π² Π½Π΅Ρ‚Π΅Π³ΠΎΠ²Ρ‹Ρ… ΡˆΠ°Π±Π»ΠΎΠ½Π½Ρ‹Ρ… Π»ΠΈΡ‚Π΅Ρ€Π°Π»Π°Ρ…:

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

ΠŸΡƒΡ‚ΡŒ ΠΊ пониманию ΡˆΠ°Π±Π»ΠΎΠ½Π½Ρ‹Ρ… Π»ΠΈΡ‚Π΅Ρ€Π°Π»ΠΎΠ² Π² JavaScript

БпСцификация ECMAScript, Π²Ρ‹ΡˆΠ΅Π΄ΡˆΠ°Ρ Π² 2015 Π³ΠΎΠ΄Ρƒ (ES6), Π΄ΠΎΠ±Π°Π²ΠΈΠ»Π° Π² JavaScript Π½ΠΎΠ²ΡƒΡŽ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ β€” ΡˆΠ°Π±Π»ΠΎΠ½Π½Ρ‹Π΅ Π»ΠΈΡ‚Π΅Ρ€Π°Π»Ρ‹ (template literals). Π¨Π°Π±Π»ΠΎΠ½Π½Ρ‹Π΅ Π»ΠΈΡ‚Π΅Ρ€Π°Π»Ρ‹ Π΄Π°ΡŽΡ‚ Π½Π°ΠΌ Π½ΠΎΠ²Ρ‹ΠΉ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ создания строковых Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ. Π­Ρ‚ΠΎΡ‚ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ отличаСтся мноТСством ΠΌΠΎΡ‰Π½Ρ‹Ρ… возмоТностСй, срСди ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… β€” ΡƒΠΏΡ€ΠΎΡ‰Π΅Π½ΠΈΠ΅ создания многострочных конструкций ΠΈ использованиС мСстозаполнитСлСй для внСдрСния Π² строки Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ² вычислСния Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, Ρ‚ΡƒΡ‚ имССтся ΠΈ Π΅Ρ‰Ρ‘ ΠΎΠ΄Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ β€” Ρ‚Π΅Π³ΠΎΠ²Ρ‹Π΅ ΡˆΠ°Π±Π»ΠΎΠ½Ρ‹ (tagged template literals). Π­Ρ‚ΠΎ β€” Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π½Π°Ρ Ρ„ΠΎΡ€ΠΌΠ° ΡˆΠ°Π±Π»ΠΎΠ½Π½Ρ‹Ρ… Π»ΠΈΡ‚Π΅Ρ€Π°Π»ΠΎΠ². Π’Π΅Π³ΠΎΠ²Ρ‹Π΅ ΡˆΠ°Π±Π»ΠΎΠ½Ρ‹ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ строки с использованиСм Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ, находящихся Π²Π½ΡƒΡ‚Ρ€ΠΈ строк, ΠΈ с ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ особых Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ. Всё это Ρ€Π°ΡΡˆΠΈΡ€ΡΠ΅Ρ‚ возмоТности программистов ΠΏΠΎ Ρ€Π°Π±ΠΎΡ‚Π΅ со строками, позволяя, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ динамичСскиС строки, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ собой URL, ΠΈΠ»ΠΈ ΠΏΠΈΡΠ°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ для Ρ‚ΠΎΠ½ΠΊΠΎΠΉ настройки HTML-элСмСнтов.

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

Из этого ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Π° Π²Ρ‹ ΡƒΠ·Π½Π°Π΅Ρ‚Π΅ ΠΎ различиях ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΌΠΈ строковыми значСниями, Π·Π°Π΄Π°Π²Π°Π΅ΠΌΡ‹ΠΌΠΈ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΎΠ΄ΠΈΠ½Π°Ρ€Π½Ρ‹Ρ… ΠΈΠ»ΠΈ Π΄Π²ΠΎΠΉΠ½Ρ‹Ρ… ΠΊΠ°Π²Ρ‹Ρ‡Π΅ΠΊ, ΠΈ ΡˆΠ°Π±Π»ΠΎΠ½Π½Ρ‹ΠΌΠΈ Π»ΠΈΡ‚Π΅Ρ€Π°Π»Π°ΠΌΠΈ. Π’Ρ‹ ΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡ‚Π΅ΡΡŒ с Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌΠΈ способами объявлСния строк с Ρ€Π°Π·Π½Ρ‹ΠΌΠΈ характСристиками, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ многострочныС строки ΠΈ динамичСскиС строки, ΠΌΠ΅Π½ΡΡŽΡ‰ΠΈΠ΅ΡΡ Π² зависимости ΠΎΡ‚ значСния Π½Π΅ΠΊΠΎΠ΅ΠΉ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΈΠ»ΠΈ Π½Π΅ΠΊΠΎΠ΅Π³ΠΎ выраТСния. Π’Ρ‹ Π½Π°ΡƒΡ‡ΠΈΡ‚Π΅ΡΡŒ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с Ρ‚Π΅Π³ΠΎΠ²Ρ‹ΠΌΠΈ шаблонами ΠΈ ΡƒΠ²ΠΈΠ΄ΠΈΡ‚Π΅ Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹Π΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΈΡ… использования.

ОбъявлСниС строк

Π’ этом Ρ€Π°Π·Π΄Π΅Π»Π΅ ΠΌΡ‹ вспомним ΠΎ Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊ ΠΎΠ±ΡŠΡΠ²Π»ΡΡŽΡ‚ΡΡ строки, описываСмыС с использованиСм ΠΎΠ΄ΠΈΠ½Π°Ρ€Π½Ρ‹Ρ… ΠΈΠ»ΠΈ Π΄Π²ΠΎΠΉΠ½Ρ‹Ρ… ΠΊΠ°Π²Ρ‹Ρ‡Π΅ΠΊ, Π° Π·Π°Ρ‚Π΅ΠΌ взглянСм Π½Π° Ρ‚ΠΎ, ΠΊΠ°ΠΊ Ρ‚ΠΎ ΠΆΠ΅ самоС дСлаСтся ΠΏΡ€ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠΈ ΡˆΠ°Π±Π»ΠΎΠ½Π½Ρ‹Ρ… Π»ΠΈΡ‚Π΅Ρ€Π°Π»ΠΎΠ².

Π‘Ρ‚Ρ€ΠΎΠΊΡƒ Π² JavaScript ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΠΊΠ°ΠΊ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ символов, Π·Π°ΠΊΠ»ΡŽΡ‡Ρ‘Π½Π½ΡƒΡŽ Π² ΠΎΠ΄ΠΈΠ½Π°Ρ€Π½Ρ‹Π΅ ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠΈ ( ‘ ‘ ):

Π•Ρ‰Ρ‘ ΠΎΠ΄ΠΈΠ½ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ объявлСния строк Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² использовании Π΄Π²ΠΎΠΉΠ½Ρ‹Ρ… ΠΊΠ°Π²Ρ‹Ρ‡Π΅ΠΊ ( » » ):

Π’ JavaScript ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ‚Π°ΠΊΠΈΠΌΠΈ строками Π½Π΅Ρ‚ ΡΠ΅Ρ€ΡŒΡ‘Π·Π½Ρ‹Ρ… Ρ€Π°Π·Π»ΠΈΡ‡ΠΈΠΉ. Π’ Π΄Ρ€ΡƒΠ³ΠΈΡ… языках использованиС Ρ€Π°Π·Π½Ρ‹Ρ… ΠΊΠ°Π²Ρ‹Ρ‡Π΅ΠΊ ΠΏΡ€ΠΈ объявлСнии строк ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΠ·Π½Π°Ρ‡Π°Ρ‚ΡŒ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ строки ΠΎΠ΄Π½ΠΎΠ³ΠΎ Π²ΠΈΠ΄Π° ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ, Π° Π΄Ρ€ΡƒΠ³ΠΈΠ΅ β€” Π½Π΅Ρ‚. Π—Π΄Π΅ΡΡŒ ΠΌΡ‹ ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅ΠΌ ΠΏΠΎΠ΄ «интСрполяциСй» Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ вычислСния Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ-мСстозаполнитСлСй, ΠΈΠ³Ρ€Π°ΡŽΡ‰ΠΈΡ… Ρ€ΠΎΠ»ΡŒ динамичСских частСй строк ΠΈ ΡƒΡ‡Π°ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… Π² Ρ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ ΠΈΡ‚ΠΎΠ³ΠΎΠ²Ρ‹Ρ… строковых Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ.

КакиС ΠΈΠΌΠ΅Π½Π½ΠΎ строки ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ, ΠΎΠ±ΡŠΡΠ²Π»Π΅Π½Π½Ρ‹Π΅ с ΠΎΠ΄ΠΈΠ½Π°Ρ€Π½Ρ‹ΠΌΠΈ ΠΈΠ»ΠΈ с Π΄Π²ΠΎΠΉΠ½Ρ‹ΠΌΠΈ ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠ°ΠΌΠΈ, это, ΠΏΠΎ большСй части, Π΄Π΅Π»ΠΎ Π»ΠΈΡ‡Π½Ρ‹Ρ… ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡Ρ‚Π΅Π½ΠΈΠΉ программиста ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… ΠΈΠΌ соглашСний ΠΏΠΎ написанию ΠΊΠΎΠ΄Π°. Но Ссли Π² строкС, ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π½ΠΎΠΉ ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠ°ΠΌΠΈ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ· этих Π²ΠΈΠ΄ΠΎΠ², Π²ΡΡ‚Ρ€Π΅Ρ‡Π°ΡŽΡ‚ΡΡ ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠΈ Ρ‚ΠΎΠ³ΠΎ ΠΆΠ΅ Π²ΠΈΠ΄Π°, ΠΈΡ… Π½ΡƒΠΆΠ½ΠΎ ΡΠΊΡ€Π°Π½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ. ΠšΠ°Π²Ρ‹Ρ‡ΠΊΠΈ ΠΆΠ΅ Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ Π²ΠΈΠ΄Π° Π² ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Ρ… строках Π² экранировании Π½Π΅ Π½ΡƒΠΆΠ΄Π°ΡŽΡ‚ΡΡ.

Π’Ρ‹Π·ΠΎΠ² ΠΏΠ°Ρ€Ρ‹ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² log() ΠΏΡ€ΠΈΠ²Π΅Π΄Ρ‘Ρ‚ ΠΊ Ρ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ Π² консоль ΠΏΠΎΠΏΠ°Π΄ΡƒΡ‚ Π΄Π²Π΅ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹Ρ… строки.

Π¨Π°Π±Π»ΠΎΠ½Π½Ρ‹Π΅ Π»ΠΈΡ‚Π΅Ρ€Π°Π»Ρ‹, с Π΄Ρ€ΡƒΠ³ΠΎΠΉ стороны, ΠΎΠ±ΡŠΡΠ²Π»ΡΡŽΡ‚ с использованиСм ΠΎΠ±Ρ€Π°Ρ‚Π½Ρ‹Ρ… ΠΊΠ°Π²Ρ‹Ρ‡Π΅ΠΊ ( ` ` ):

Π—Π΄Π΅ΡΡŒ Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ ΡΠΊΡ€Π°Π½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ΄ΠΈΠ½Π°Ρ€Π½Ρ‹Π΅ ΠΈΠ»ΠΈ Π΄Π²ΠΎΠΉΠ½Ρ‹Π΅ ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠΈ:

Но ΠΎΠ±Ρ€Π°Ρ‚Π½Ρ‹Π΅ ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠΈ Π² Ρ‚Π°ΠΊΠΈΡ… строках ΡΠΊΡ€Π°Π½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ:

Π¨Π°Π±Π»ΠΎΠ½Π½Ρ‹Π΅ Π»ΠΈΡ‚Π΅Ρ€Π°Π»Ρ‹ ΠΈΠΌΠ΅ΡŽΡ‚ всС возмоТности, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΅ΡΡ‚ΡŒ Ρƒ ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹Ρ… строк. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ Π²Ρ‹, вСроятно, ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π·Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ всС строки Π² своём ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅ Π½Π° ΡˆΠ°Π±Π»ΠΎΠ½Π½Ρ‹Π΅ Π»ΠΈΡ‚Π΅Ρ€Π°Π»Ρ‹ ΠΈ ΠΏΡ€ΠΈ этом Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅ ΠΏΠΎΡ‚Π΅Ρ€ΡΡ‚ΡŒ. Однако Ρ‡Π°Ρ‰Π΅ всСго Π² ΡΠΎΠ³Π»Π°ΡˆΠ΅Π½ΠΈΡΡ…, ΠΊΠ°ΡΠ°ΡŽΡ‰ΠΈΡ…ΡΡ написания ΠΊΠΎΠ΄Π°, ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚, Ρ‡Ρ‚ΠΎ ΡˆΠ°Π±Π»ΠΎΠ½Π½Ρ‹Π΅ Π»ΠΈΡ‚Π΅Ρ€Π°Π»Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‚ΠΎΠ³Π΄Π°, ΠΊΠΎΠ³Π΄Π° Π½ΡƒΠΆΠ½Ρ‹ ΠΈΡ… особыС возмоТности. ΠžΠ±Ρ‹Ρ‡Π½Ρ‹Π΅ ΠΆΠ΅ строки всСгда, Ρ€Π°Π΄ΠΈ поддСрТания Сдинообразия ΠΊΠΎΠ΄Π°, ΠΎΠ±ΡŠΡΠ²Π»ΡΡŽΡ‚ с использованиСм ΠΈΠ»ΠΈ ΠΎΠ΄ΠΈΠ½Π°Ρ€Π½Ρ‹Ρ…, ΠΈΠ»ΠΈ Π΄Π²ΠΎΠΉΠ½Ρ‹Ρ… ΠΊΠ°Π²Ρ‹Ρ‡Π΅ΠΊ. ΠšΠΎΠ΄ΠΎΠ²ΡƒΡŽ Π±Π°Π·Ρƒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°, ΠΏΡ€ΠΈ написании ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΡΠ»Π΅Π΄ΡƒΡŽΡ‚ этому стандарту, Π±ΡƒΠ΄Π΅Ρ‚ Π»Π΅Π³Ρ‡Π΅ Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌ, с Π½Π΅ΠΉ Ρ€Π°Π½Π΅Π΅ Π½Π΅ Π·Π½Π°ΠΊΠΎΠΌΡ‹ΠΌ.

Π’Π΅ΠΏΠ΅Ρ€ΡŒ, ΠΊΠΎΠ³Π΄Π° ΠΌΡ‹ ΠΏΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΈΠ»ΠΈ ΠΎΠ± объявлСнии строк с использованиСм ΠΎΠ΄ΠΈΠ½Π°Ρ€Π½Ρ‹Ρ…, Π΄Π²ΠΎΠΉΠ½Ρ‹Ρ… ΠΈ ΠΎΠ±Ρ€Π°Ρ‚Π½Ρ‹Ρ… ΠΊΠ°Π²Ρ‹Ρ‡Π΅ΠΊ, ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ ΠΊ Ρ€Π°Π·Π±ΠΎΡ€Ρƒ ΠΏΠ΅Ρ€Π²ΠΎΠΉ сильной стороны ΡˆΠ°Π±Π»ΠΎΠ½Π½Ρ‹Ρ… Π»ΠΈΡ‚Π΅Ρ€Π°Π»ΠΎΠ². А ΠΈΠΌΠ΅Π½Π½ΠΎ β€” ΠΊ возмоТности описания многострочных строк.

ΠœΠ½ΠΎΠ³ΠΎΡΡ‚Ρ€ΠΎΡ‡Π½Ρ‹Π΅ строки

Π’ этом Ρ€Π°Π·Π΄Π΅Π»Π΅ ΠΌΡ‹ сначала ΠΏΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΈΠΌ ΠΎ Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊ многострочныС строки объявлялись Π΄ΠΎ ES6, Π° ΠΏΠΎΡ‚ΠΎΠΌ остановимся Π½Π° Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ этой Π·Π°Π΄Π°Ρ‡ΠΈ ΡƒΠΏΡ€ΠΎΡ‰Π°ΡŽΡ‚ ΡˆΠ°Π±Π»ΠΎΠ½Π½Ρ‹Π΅ Π»ΠΈΡ‚Π΅Ρ€Π°Π»Ρ‹.

Π˜Π·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ, Ссли Π½ΡƒΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ ввСсти Π² тСкстовом Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π΅ ΡΡ‚Ρ€ΠΎΠΊΠΎΠ²ΡƒΡŽ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ, ΡΠΎΡΡ‚ΠΎΡΡ‰ΡƒΡŽ ΠΈΠ· Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… строк, использовался ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ ΠΊΠΎΠ½ΠΊΠ°Ρ‚Π΅Π½Π°Ρ†ΠΈΠΈ строк. Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΊΠΎΠ½ΠΊΠ°Ρ‚Π΅Π½Π°Ρ†ΠΈΠΈ строк ΠΈΠ»Π»ΡŽΡΡ‚Ρ€ΠΈΡ€ΡƒΠ΅Ρ‚ эту идСю:

Π•Ρ‰Ρ‘ ΠΎΠ΄ΠΈΠ½ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ ΠΊ записи ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Ρ… строк Π² Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π°Ρ… ΠΊΠΎΠ΄Π° Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² использовании символа ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠΉ косой Ρ‡Π΅Ρ€Ρ‚Ρ‹ ( \ ), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ставится Π² ΠΊΠΎΠ½Ρ†Π΅ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚ΠΎΠ² строк, ΠΈ послС ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ, с Π½ΠΎΠ²ΠΎΠΉ строки, Ρ€Π°ΡΠΏΠΎΠ»Π°Π³Π°ΡŽΡ‚ΡΡ Π½ΠΎΠ²Ρ‹Π΅ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Ρ‹:

ΠŸΡ€ΠΈ Ρ‚Π°ΠΊΠΎΠΌ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π΅ ΡΠΎΡ…Ρ€Π°Π½ΡΡŽΡ‚ΡΡ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΡ€ΠΎΠ±Π΅Π»Ρ‹, находящиСся ΠΏΠ΅Ρ€Π΅Π΄ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Π°ΠΌΠΈ строки, Π½ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ, Ссли вывСсти Π΅Π³ΠΎ Π² консоль, снова Π±ΡƒΠ΄Π΅Ρ‚ прСдставлСно СдинствСнной строкой:

Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ Π½Π°ΡΡ‚ΠΎΡΡ‰ΡƒΡŽ ΠΌΠ½ΠΎΠ³ΠΎΡΡ‚Ρ€ΠΎΡ‡Π½ΡƒΡŽ строку ΠΌΠΎΠΆΠ½ΠΎ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ символ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Π° строки ( \n ):

Если вывСсти эту константу Π² консоль, Ρ‚ΠΎ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ тСкст Π±ΡƒΠ΄Π΅Ρ‚ Ρ‚Π°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ Π² Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π΅:

Π’ΡƒΡ‚ Π½Π°Π΄ΠΎ ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Ссли ΠΌΠ΅ΠΆΠ΄Ρƒ символами ΠΎΠ±Ρ€Π°Ρ‚Π½Ρ‹Ρ… ΠΊΠ°Π²Ρ‹Ρ‡Π΅ΠΊ содСрТатся ΠΏΡ€ΠΎΠ±Π΅Π»Ρ‹, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ для выравнивания ΠΊΠΎΠ΄Π°, эти ΠΏΡ€ΠΎΠ±Π΅Π»Ρ‹ ΠΏΠΎΠΏΠ°Π΄ΡƒΡ‚ Π² ΠΈΡ‚ΠΎΠ³ΠΎΠ²Ρ‹ΠΉ ΡˆΠ°Π±Π»ΠΎΠ½Π½Ρ‹ΠΉ Π»ΠΈΡ‚Π΅Ρ€Π°Π». Рассмотрим ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€:

Π₯отя Ρ‚Π°ΠΊΠΎΠΉ ΡΡ‚ΠΈΠ»ΡŒ написания ΠΊΠΎΠ΄Π° ΡƒΠΏΡ€ΠΎΡ‰Π°Π΅Ρ‚ Π΅Π³ΠΎ Ρ‡Ρ‚Π΅Π½ΠΈΠ΅, Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ ΠΏΠΎΠΏΠ°Π΄Ρ‘Ρ‚ Π² консоль послС Π΅Π³ΠΎ Π²Ρ‹Π²ΠΎΠ΄Π°, Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ Π½Π΅ ΠΎΡ‡Π΅Π½ΡŒ-Ρ‚ΠΎ ΠΏΡ€ΠΈΠ²Π»Π΅ΠΊΠ°Ρ‚Π΅Π»ΡŒΠ½ΠΎ:

Π’Π΅ΠΏΠ΅Ρ€ΡŒ, Ρ€Π°Π·ΠΎΠ±Ρ€Π°Π²ΡˆΠΈΡΡŒ с многострочными строками, Π΄Π°Π²Π°ΠΉΡ‚Π΅ ΠΏΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΈΠΌ ΠΎ Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊ Π² строки, ΠΎΠ±ΡŠΡΠ²Π»Π΅Π½Π½Ρ‹Π΅ Ρ€Π°Π·Π½Ρ‹ΠΌΠΈ способами, ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΡ‚Ρ€Π°ΠΈΠ²Π°Ρ‚ΡŒ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ вычислСния Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ β€” ΠΏΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΈΠΌ ΠΎΠ± интСрполяции Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ.

Π˜Π½Ρ‚Π΅Ρ€ΠΏΠΎΠ»ΡΡ†ΠΈΡ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ

РаньшС, Π΄ΠΎ Π²Ρ‹Ρ…ΠΎΠ΄Π° ES6, для создания динамичСских строк, Π² Ρ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… участвовали значСния ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… ΠΈΠ»ΠΈ выраТСния, использовалась конкатСнация:

Если вывСсти dynamicString Π² консоль, Ρ‚ΠΎ получится ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅:

ΠŸΡ€ΠΈ Π²Ρ‹Π²ΠΎΠ΄Π΅ dynamicString Π² консоль получится ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚:

Распространённый ΠΏΡ€ΠΈΠΌΠ΅Ρ€ встраивания Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π² строки β€” это созданиС динамичСских URL. ИспользованиС для этой Ρ†Π΅Π»ΠΈ ΠΊΠΎΠ½ΠΊΠ°Ρ‚Π΅Π½Π°Ρ†ΠΈΠΈ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ появлСнию Π³Ρ€ΠΎΠΌΠΎΠ·Π΄ΠΊΠΈΡ… ΠΈ Π½Π΅ΡƒΠ΄ΠΎΠ±Π½Ρ‹Ρ… конструкций. НапримСр, Π²ΠΎΡ‚ функция, которая Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΠ΅Ρ‚ строку доступа OAuth:

Если вывСсти Π² консоль Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Ρ€Π°Π±ΠΎΡ‚Ρ‹ этой Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, Ρ‚ΠΎ получится ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅:

ΠŸΡ€ΠΈ использовании интСрполяции программистам большС Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ Π²Π½ΠΈΠΌΠ°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΡΠ»Π΅Π΄ΠΈΡ‚ΡŒ Π·Π° ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠ°ΠΌΠΈ, ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΠ²Π°ΡŽΡ‰ΠΈΠΌΠΈ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Ρ‹ строки, ΠΈ Π·Π° Ρ‚Π΅ΠΌ, Π³Π΄Π΅ ΠΈΠΌΠ΅Π½Π½ΠΎ располоТСн ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ ΠΊΠΎΠ½ΠΊΠ°Ρ‚Π΅Π½Π°Ρ†ΠΈΠΈ. Π’ΠΎΡ‚ β€” Ρ‚ΠΎΡ‚ ΠΆΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€, пСрСписанный с использованиСм ΡˆΠ°Π±Π»ΠΎΠ½Π½Ρ‹Ρ… Π»ΠΈΡ‚Π΅Ρ€Π°Π»ΠΎΠ²:

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π±ΡƒΠ΄Π΅Ρ‚ Ρ‚Π°ΠΊΠΈΠΌ:

Для Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ±Ρ€Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ±Π΅Π»Ρ‹ Π² Π½Π°Ρ‡Π°Π»Π΅ ΠΈ Π² ΠΊΠΎΠ½Ρ†Π΅ строки, создаваСмой с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ шаблонного Π»ΠΈΡ‚Π΅Ρ€Π°Π»Π°, ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ trim(). НапримСр, Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Π΅ ΠΊΠΎΠ΄Π° для создания HTML-элСмСнта с настраиваСмой ссылкой ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ стрСлочная функция:

Из ΠΈΡ‚ΠΎΠ³ΠΎΠ²ΠΎΠΉ строки Π±ΡƒΠ΄ΡƒΡ‚ ΡƒΠ΄Π°Π»Π΅Π½Ρ‹ Π½Π°Ρ‡Π°Π»ΡŒΠ½Ρ‹Π΅ ΠΈ ΠΊΠΎΠ½Π΅Ρ‡Π½Ρ‹Π΅ ΠΏΡ€ΠΎΠ±Π΅Π»Ρ‹, Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΡ‚ΡŒ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΡΡ‚ΡŒ Ρ€Π΅Π½Π΄Π΅Ρ€ΠΈΠ½Π³Π° элСмСнта:

Π˜Π½Ρ‚Π΅Ρ€ΠΏΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠΎΠΆΠ½ΠΎ Ρ†Π΅Π»Ρ‹Π΅ выраТСния, Π° Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅. НапримСр β€” ΠΊΠ°ΠΊ здСсь, Π³Π΄Π΅ Π² строку встраиваСтся Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ слоТСния Π΄Π²ΡƒΡ… чисСл:

Π­Ρ‚ΠΎΡ‚ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΠΊΠ°Π·Π°Ρ‚ΡŒΡΡ особСнно ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ΠΌ ΠΏΡ€ΠΈ использовании Ρ‚Π΅Ρ€Π½Π°Ρ€Π½ΠΎΠ³ΠΎ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ позволяСт ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΡ‚ΡŒ условия ΠΏΡ€ΠΈ Ρ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ строки:

Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π²Ρ‹ Π·Π½Π°Π΅Ρ‚Π΅ ΠΎ Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊΡƒΡŽ ΠΏΠΎΠ»ΡŒΠ·Ρƒ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ·Π²Π»Π΅Ρ‡ΡŒ ΠΈΠ· интСрполяции Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ ΠΏΡ€ΠΈ примСнСния ΡˆΠ°Π±Π»ΠΎΠ½Π½Ρ‹Ρ… Π»ΠΈΡ‚Π΅Ρ€Π°Π»ΠΎΠ². Π’ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ Ρ€Π°Π·Π΄Π΅Π»Π΅ ΠΌΡ‹ ΠΏΠΎΠΉΠ΄Ρ‘ΠΌ Π΅Ρ‰Ρ‘ дальшС ΠΈ исслСдуСм Ρ‚Π΅Π³ΠΎΠ²Ρ‹Π΅ ΡˆΠ°Π±Π»ΠΎΠ½Ρ‹, ΠΏΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΈΠΌ ΠΎ Ρ€Π°Π±ΠΎΡ‚Π΅ с выраТСниями, ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Π΅ΠΌΡ‹ΠΌΠΈ Π² области, ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ мСстозаполнитСлям.

Π’Π΅Π³ΠΎΠ²Ρ‹Π΅ ΡˆΠ°Π±Π»ΠΎΠ½Ρ‹

Π’Π΅Π³ΠΎΠ²Ρ‹Π΅ ΡˆΠ°Π±Π»ΠΎΠ½Ρ‹ ΡΠ²Π»ΡΡŽΡ‚ΡΡ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π½ΠΎΠΉ Ρ„ΠΎΡ€ΠΌΠΎΠΉ ΡˆΠ°Π±Π»ΠΎΠ½Π½Ρ‹Ρ… Π»ΠΈΡ‚Π΅Ρ€Π°Π»ΠΎΠ². Π’Π΅Π³ΠΎΠ²Ρ‹Π΅ ΡˆΠ°Π±Π»ΠΎΠ½Ρ‹ Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‚ΡΡ с Ρ‚Π΅Π³ΠΎΠ²ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, которая Ρ€Π°Π·Π±ΠΈΡ€Π°Π΅Ρ‚ ΡˆΠ°Π±Π»ΠΎΠ½Π½Ρ‹ΠΉ Π»ΠΈΡ‚Π΅Ρ€Π°Π», давая Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΡƒ Π±ΠΎΠ»Π΅Π΅ высокий ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ контроля Π½Π°Π΄ процСссом формирования динамичСских строк.

Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ выполнСния этого ΠΊΠΎΠ΄Π° Π² консоль ΠΏΠΎΠΏΠ°Π΄Ρ‘Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅:

Π’ популярных JavaScript-Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°Ρ… ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ нСсколько ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ² использования Ρ‚Π΅Π³ΠΎΠ²Ρ‹Ρ… шаблонов. Π’Π°ΠΊ, Π² Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ΅ graphql-tag ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΡˆΠ°Π±Π»ΠΎΠ½Π½Ρ‹ΠΉ Π»ΠΈΡ‚Π΅Ρ€Π°Π» gql для Ρ€Π°Π·Π±ΠΎΡ€Π° строк запроса GraphQL ΠΈ прСобразования ΠΈΡ… Π² абстрактноС синтаксичСскоС Π΄Π΅Ρ€Π΅Π²ΠΎ (abstract syntax tree, AST), понятноС GraphQL:

Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ Ρ‚Π΅Π³ΠΎΠ²Ρ‹Ρ… шаблонов ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ ΠΈ Π² Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ΅ styled-components, Ρ‡Ρ‚ΠΎ позволяСт ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Π½ΠΎΠ²Ρ‹Π΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ React ΠΈΠ· ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹Ρ… элСмСнтов DOM ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒ ΠΊ Π½ΠΈΠΌ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ CSS-стили:

ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ стандартным ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ String.raw, примСняя Π΅Π³ΠΎ ΠΊ Ρ‚Π΅Π³ΠΎΠ²Ρ‹ΠΌ шаблонам для Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€Π΅Π΄ΠΎΡ‚Π²Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‰ΠΈΡ… ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚Π΅ΠΉ:

Π’ консоль послС выполнСния этого ΠΊΠΎΠ΄Π° ΠΏΠΎΠΏΠ°Π΄Ρ‘Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅:

Π˜Ρ‚ΠΎΠ³ΠΈ

Π’ этом ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Π΅ ΠΌΡ‹ вспомнили основныС свСдСния ΠΎΠ± ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹Ρ… строковых Π»ΠΈΡ‚Π΅Ρ€Π°Π»Π°Ρ…, оформляСмых с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΎΠ΄ΠΈΠ½Π°Ρ€Π½Ρ‹Ρ… ΠΈΠ»ΠΈ Π΄Π²ΠΎΠΉΠ½Ρ‹Ρ… ΠΊΠ°Π²Ρ‹Ρ‡Π΅ΠΊ, Π° Ρ‚Π°ΠΊ ΠΆΠ΅ β€” ΠΏΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΈΠ»ΠΈ ΠΎ ΡˆΠ°Π±Π»ΠΎΠ½Π½Ρ‹Ρ… Π»ΠΈΡ‚Π΅Ρ€Π°Π»Π°Ρ… ΠΈ ΠΎ Ρ‚Π΅Π³ΠΎΠ²Ρ‹Ρ… ΡˆΠ°Π±Π»ΠΎΠ½Π°Ρ…. Π¨Π°Π±Π»ΠΎΠ½Π½Ρ‹Π΅ Π»ΠΈΡ‚Π΅Ρ€Π°Π»Ρ‹ ΡƒΠΏΡ€ΠΎΡ‰Π°ΡŽΡ‚ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ мноТСства Π·Π°Π΄Π°Ρ‡, связанных с ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΎΠΉ строк. Π’ частности, Ρ€Π΅Ρ‡ΡŒ ΠΈΠ΄Ρ‘Ρ‚ ΠΎ встраивании Π² строки Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΈ ΠΎ создании многострочных строк Π±Π΅Π· использования ΠΊΠΎΠ½ΠΊΠ°Ρ‚Π΅Π½Π°Ρ†ΠΈΠΈ ΠΈΠ»ΠΈ экранирования. Π’Π΅Π³ΠΎΠ²Ρ‹Π΅ ΡˆΠ°Π±Π»ΠΎΠ½Ρ‹ β€” это полСзная продвинутая Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΡˆΠ°Π±Π»ΠΎΠ½Π½Ρ‹Ρ… Π»ΠΈΡ‚Π΅Ρ€Π°Π»ΠΎΠ², которая ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ… популярных Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°Ρ….

А Π²Ρ‹ ΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ΡΡŒ ΡˆΠ°Π±Π»ΠΎΠ½Π½Ρ‹ΠΌΠΈ Π»ΠΈΡ‚Π΅Ρ€Π°Π»Π°ΠΌΠΈ?

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

ΠžΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹

Как ΠΌΡ‹ Π·Π½Π°Π΅ΠΌ ΠΈΠ· Π³Π»Π°Π²Ρ‹ Π’ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ…, Π² JavaScript сущСствуСт 8 Ρ‚ΠΈΠΏΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ…. БСмь ΠΈΠ· Π½ΠΈΡ… Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ Β«ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²Π½Ρ‹ΠΌΠΈΒ», Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ содСрТат Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄Π½ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ (Π±ΡƒΠ΄ΡŒ Ρ‚ΠΎ строка, число ΠΈΠ»ΠΈ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π΄Ρ€ΡƒΠ³ΠΎΠ΅).

ΠžΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ ΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ для хранСния ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΉ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΈ Π±ΠΎΠ»Π΅Π΅ слоТных сущностСй. Π’ JavaScript ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ ΠΎΡ‡Π΅Π½ΡŒ часто, это ΠΎΠ΄Π½Π° ΠΈΠ· основ языка. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ ΠΌΡ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΏΠΎΠ½ΡΡ‚ΡŒ ΠΈΡ…, ΠΏΡ€Π΅ΠΆΠ΄Π΅ Ρ‡Π΅ΠΌ ΡƒΠ³Π»ΡƒΠ±Π»ΡΡ‚ΡŒΡΡ ΠΊΡƒΠ΄Π°-Π»ΠΈΠ±ΠΎ Π΅Ρ‰Ρ‘.

ΠžΠ±ΡŠΠ΅ΠΊΡ‚ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ создан с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ„ΠΈΠ³ΡƒΡ€Π½Ρ‹Ρ… скобок <…>с Π½Π΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ списком свойств. Бвойство – это ΠΏΠ°Ρ€Π° Β«ΠΊΠ»ΡŽΡ‡: Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅Β», Π³Π΄Π΅ ΠΊΠ»ΡŽΡ‡ – это строка (Ρ‚Π°ΠΊΠΆΠ΅ называСмая Β«ΠΈΠΌΠ΅Π½Π΅ΠΌ свойства»), Π° Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Ρ‡Π΅ΠΌ ΡƒΠ³ΠΎΠ΄Π½ΠΎ.

ΠœΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π² Π²ΠΈΠ΄Π΅ ящика с подписанными ΠΏΠ°ΠΏΠΊΠ°ΠΌΠΈ. ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ элСмСнт Π΄Π°Π½Π½Ρ‹Ρ… хранится Π² своСй ΠΏΠ°ΠΏΠΊΠ΅, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ написан ΠΊΠ»ΡŽΡ‡. По ΠΊΠ»ΡŽΡ‡Ρƒ ΠΏΠ°ΠΏΠΊΡƒ Π»Π΅Π³ΠΊΠΎ Π½Π°ΠΉΡ‚ΠΈ, ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ ΠΈΠ»ΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π² Π½Π΅Ρ‘ Ρ‡Ρ‚ΠΎ-Π»ΠΈΠ±ΠΎ.

ΠŸΡƒΡΡ‚ΠΎΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ («пустой ящик») ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Π΄Π²ΡƒΡ… Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ² синтаксиса:

ΠžΠ±Ρ‹Ρ‡Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ с Ρ„ΠΈΠ³ΡƒΡ€Π½Ρ‹ΠΌΠΈ скобками <. >. Π’Π°ΠΊΠΎΠ΅ объявлСниС Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ Π»ΠΈΡ‚Π΅Ρ€Π°Π»ΠΎΠΌ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ΠΈΠ»ΠΈ Π»ΠΈΡ‚Π΅Ρ€Π°Π»ΡŒΠ½ΠΎΠΉ Π½ΠΎΡ‚Π°Ρ†ΠΈΠ΅ΠΉ.

Π›ΠΈΡ‚Π΅Ρ€Π°Π»Ρ‹ ΠΈ свойства

ΠŸΡ€ΠΈ использовании Π»ΠΈΡ‚Π΅Ρ€Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ синтаксиса <. >ΠΌΡ‹ сразу ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΠΎΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ Π² ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ нСсколько свойств Π² Π²ΠΈΠ΄Π΅ ΠΏΠ°Ρ€ Β«ΠΊΠ»ΡŽΡ‡: Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅Β»:

Π’ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π΅ user сСйчас находятся Π΄Π²Π° свойства:

МоТно ΡΠΊΠ°Π·Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ наш ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ user – это ящик с двумя ΠΏΠ°ΠΏΠΊΠ°ΠΌΠΈ, подписанными Β«nameΒ» ΠΈ Β«ageΒ».

ΠœΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Π² любой ΠΌΠΎΠΌΠ΅Π½Ρ‚ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π² Π½Π΅Π³ΠΎ Π½ΠΎΠ²Ρ‹Π΅ ΠΏΠ°ΠΏΠΊΠΈ, ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ ΠΏΠ°ΠΏΠΊΠΈ ΠΈΠ»ΠΈ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ содСрТимоС любой ΠΏΠ°ΠΏΠΊΠΈ.

Для обращСния ΠΊ свойствам ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ запись Β«Ρ‡Π΅Ρ€Π΅Π· Ρ‚ΠΎΡ‡ΠΊΡƒΒ»:

Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ любого Ρ‚ΠΈΠΏΠ°. Π”Π°Π²Π°ΠΉΡ‚Π΅ Π΄ΠΎΠ±Π°Π²ΠΈΠΌ свойство с логичСским Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ:

Для удалСния свойства ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ delete :

Имя свойства ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΡΡ‚ΠΎΡΡ‚ΡŒ ΠΈΠ· Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… слов, Π½ΠΎ Ρ‚ΠΎΠ³Π΄Π° ΠΎΠ½ΠΎ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ Π·Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΎ Π² ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠΈ:

ПослСднСС свойство ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π°ΠΊΠ°Π½Ρ‡ΠΈΠ²Π°Ρ‚ΡŒΡΡ запятой:

Π­Ρ‚ΠΎ называСтся «висячая запятая». Π’Π°ΠΊΠΎΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ ΡƒΠΏΡ€ΠΎΡ‰Π°Π΅Ρ‚ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅, ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ ΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅ свойств, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ всС строки ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° становятся ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹ΠΌΠΈ.

Π•ΡΡ‚ΡŒ Π΅Ρ‰Ρ‘ ΠΎΠ΄ΠΈΠ½ способ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ константами свойства ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΡ‹ рассмотрим Π² Π³Π»Π°Π²Π΅ Π€Π»Π°Π³ΠΈ ΠΈ дСскрипторы свойств.

ΠšΠ²Π°Π΄Ρ€Π°Ρ‚Π½Ρ‹Π΅ скобки

Для свойств, ΠΈΠΌΠ΅Π½Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… состоят ΠΈΠ· Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… слов, доступ ΠΊ Π·Π½Π°Ρ‡Π΅Π½ΠΈΡŽ Β«Ρ‡Π΅Ρ€Π΅Π· Ρ‚ΠΎΡ‡ΠΊΡƒΒ» Π½Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚:

Для Ρ‚Π°ΠΊΠΈΡ… случаСв сущСствуСт Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹ΠΉ способ доступа ΠΊ свойствам Ρ‡Π΅Ρ€Π΅Π· ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½Ρ‹Π΅ скобки. Π’Π°ΠΊΠΎΠΉ способ сработаСт с Π»ΡŽΠ±Ρ‹ΠΌ ΠΈΠΌΠ΅Π½Π΅ΠΌ свойства:

БСйчас всё Π² порядкС. ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ строка Π² ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½Ρ‹Ρ… скобках Π·Π°ΠΊΠ»ΡŽΡ‡Π΅Π½Π° Π² ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠΈ (ΠΏΠΎΠ΄ΠΎΠΉΠ΄Ρ‘Ρ‚ любой Ρ‚ΠΈΠΏ ΠΊΠ°Π²Ρ‹Ρ‡Π΅ΠΊ).

ΠšΠ²Π°Π΄Ρ€Π°Ρ‚Π½Ρ‹Π΅ скобки Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒΡΡ ΠΊ свойству, имя ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠΌ выраТСния. НапримСр, имя свойства ΠΌΠΎΠΆΠ΅Ρ‚ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒΡΡ Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ:

Π—Π΄Π΅ΡΡŒ пСрСмСнная key ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ вычислСна Π²ΠΎ врСмя выполнСния ΠΊΠΎΠ΄Π° ΠΈΠ»ΠΈ Π·Π°Π²ΠΈΡΠ΅Ρ‚ΡŒ ΠΎΡ‚ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ Π²Π²ΠΎΠ΄Π°. ПослС этого ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Π΅Ρ‘ для доступа ΠΊ свойству. Π­Ρ‚ΠΎ Π΄Π°Ρ‘Ρ‚ Π½Π°ΠΌ Π±ΠΎΠ»ΡŒΡˆΡƒΡŽ Π³ΠΈΠ±ΠΊΠΎΡΡ‚ΡŒ.

Π—Π°ΠΏΠΈΡΡŒ Β«Ρ‡Π΅Ρ€Π΅Π· Ρ‚ΠΎΡ‡ΠΊΡƒΒ» Ρ‚Π°ΠΊΠΎΠ³ΠΎ Π½Π΅ позволяСт:

ВычисляСмыС свойства

ΠœΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½Ρ‹Π΅ скобки Π² Π»ΠΈΡ‚Π΅Ρ€Π°Π»ΡŒΠ½ΠΎΠΉ Π½ΠΎΡ‚Π°Ρ†ΠΈΠΈ для создания вычисляСмого свойства.

По сути, ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π²Ρ‹ΡˆΠ΅ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Ρ‚Π°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ ΠΈ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€:

…Но ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ выглядит Π»Π°ΠΊΠΎΠ½ΠΈΡ‡Π½Π΅Π΅.

ΠœΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ Π±ΠΎΠ»Π΅Π΅ слоТныС выраТСния Π² ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½Ρ‹Ρ… скобках:

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

ΠŸΠΎΠ΄Π²Π΅Π΄Ρ‘ΠΌ ΠΈΡ‚ΠΎΠ³: Π² Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ случаСв, ΠΊΠΎΠ³Π΄Π° ΠΈΠΌΠ΅Π½Π° свойств извСстны ΠΈ просты, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ запись Ρ‡Π΅Ρ€Π΅Π· Ρ‚ΠΎΡ‡ΠΊΡƒ. Если ΠΆΠ΅ Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π±ΠΎΠ»Π΅Π΅ слоТноС, Ρ‚ΠΎ ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½Ρ‹Π΅ скобки.

Бвойство ΠΈΠ· ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ

Π’ Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΌ ΠΊΠΎΠ΄Π΅ часто Π½Π°ΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ ΠΊΠ°ΠΊ значСния для свойств с Ρ‚Π΅ΠΌ ΠΆΠ΅ ΠΈΠΌΠ΅Π½Π΅ΠΌ.

Π’ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ Π²Ρ‹ΡˆΠ΅ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ свойств name ΠΈ age ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡŽΡ‚ с названиями ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΡ‹ подставляСм Π² качСствС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ этих свойств. Π’Π°ΠΊΠΎΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ Π½Π°ΡΡ‚ΠΎΠ»ΡŒΠΊΠΎ распространён, Ρ‡Ρ‚ΠΎ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΈΠ΅ свойства для упрощСния этой записи.

ВмСсто name:name ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ просто name :

ΠœΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠ°ΠΊ ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹Π΅ свойства, Ρ‚Π°ΠΊ ΠΈ ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΈΠ΅ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΈ Ρ‚ΠΎΠΌ ΠΆΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π΅:

ΠžΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΡ Π½Π° ΠΈΠΌΠ΅Π½Π° свойств

Как ΠΌΡ‹ ΡƒΠΆΠ΅ Π·Π½Π°Π΅ΠΌ, имя ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΠ²ΠΏΠ°Π΄Π°Ρ‚ΡŒ с Π·Π°Ρ€Π΅Π·Π΅Ρ€Π²ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΌΠΈ словами, Ρ‚Π°ΠΊΠΈΠΌΠΈ ΠΊΠ°ΠΊ Β«forΒ», Β«letΒ», Β«returnΒ» ΠΈ Ρ‚.Π΄.

Но для свойств ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Ρ‚Π°ΠΊΠΎΠ³ΠΎ ограничСния Π½Π΅Ρ‚:

Π˜Π½Ρ‹ΠΌΠΈ словами, Π½Π΅Ρ‚ Π½ΠΈΠΊΠ°ΠΊΠΈΡ… ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠΉ ΠΊ ΠΈΠΌΠ΅Π½Π°ΠΌ свойств. Они ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Π² Π²ΠΈΠ΄Π΅ строк ΠΈΠ»ΠΈ символов (ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ Ρ‚ΠΈΠΏ для ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±ΡƒΠ΄Π΅Ρ‚ рассмотрСн ΠΏΠΎΠ·ΠΆΠ΅).

ВсС Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ… Π±ΡƒΠ΄ΡƒΡ‚ автоматичСски ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½Ρ‹ ΠΊ строкС.

НапримСр, Ссли ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ число 0 Π² качСствС ΠΊΠ»ΡŽΡ‡Π°, Ρ‚ΠΎ ΠΎΠ½ΠΎ прСвратится Π² строку «0» :

Как ΠΌΡ‹ Π²ΠΈΠ΄ΠΈΠΌ, присвоСниС ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²Π½ΠΎΠ³ΠΎ значСния 5 игнорируСтся.

ΠœΡ‹ Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ исслСдуСм особСнности свойства __proto__ Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… Π³Π»Π°Π²Π°Ρ… ΠŸΡ€ΠΎΡ‚ΠΎΡ‚ΠΈΠΏΠ½ΠΎΠ΅ наслСдованиС, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠΈΠΌ способы исправлСния Ρ‚Π°ΠΊΠΎΠ³ΠΎ повСдСния.

ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° сущСствования свойства, ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ Β«inΒ»

Π’ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ ΠΌΠ½ΠΎΠ³ΠΈΡ… Π΄Ρ€ΡƒΠ³ΠΈΡ… языков, ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΡŒ JavaScript-ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ доступ ΠΊ Π»ΡŽΠ±ΠΎΠΌΡƒ свойству. Π”Π°ΠΆΠ΅ Ссли свойства Π½Π΅ сущСствуСт – ошибки Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚!

Π’Π°ΠΊΠΆΠ΅ сущСствуСт ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ «in» для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ сущСствования свойства Π² ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π΅.

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ слСва ΠΎΡ‚ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° in Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ имя свойства. ΠžΠ±Ρ‹Ρ‡Π½ΠΎ это строка Π² ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠ°Ρ….

Если ΠΌΡ‹ опускаСм ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠΈ, это Π·Π½Π°Ρ‡ΠΈΡ‚, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅ΠΌ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ находится имя свойства. НапримСр:

Π­Ρ‚ΠΎ ΠΊΠΎΠ³Π΄Π° свойство сущСствуСт, Π½ΠΎ содСрТит Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ undefined :

Π’ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ Π²Ρ‹ΡˆΠ΅ свойство obj.test тСхничСски сущСствуСт Π² ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π΅. ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ in сработал ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ.

Π¦ΠΈΠΊΠ» Β«for…inΒ»

К ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρƒ, Π΄Π°Π²Π°ΠΉΡ‚Π΅ Π²Ρ‹Π²Π΅Π΄Π΅ΠΌ всС свойства ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° user :

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ всС конструкции Β«forΒ» ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ Π½Π°ΠΌ ΠΎΠ±ΡŠΡΠ²Π»ΡΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ Π²Π½ΡƒΡ‚Ρ€ΠΈ Ρ†ΠΈΠΊΠ»Π°, ΠΊΠ°ΠΊ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, let key здСсь.

УпорядочСниС свойств ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°

УпорядочСны Π»ΠΈ свойства ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°? Π”Ρ€ΡƒΠ³ΠΈΠΌΠΈ словами, Ссли ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ Π² Ρ†ΠΈΠΊΠ»Π΅ ΠΏΠ΅Ρ€Π΅Π±ΠΈΡ€Π°Ρ‚ΡŒ всС свойства ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°, ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠΌ Π»ΠΈ ΠΌΡ‹ ΠΈΡ… Π² Ρ‚ΠΎΠΌ ΠΆΠ΅ порядкС, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΌΡ‹ ΠΈΡ… добавляли? МоТСм Π»ΠΈ ΠΌΡ‹ Π½Π° это Ρ€Π°ΡΡΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ?

ΠšΠΎΡ€ΠΎΡ‚ΠΊΠΈΠΉ ΠΎΡ‚Π²Π΅Ρ‚: свойства упорядочСны особым ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ: свойства с цСлочислСнными ΠΊΠ»ΡŽΡ‡Π°ΠΌΠΈ ΡΠΎΡ€Ρ‚ΠΈΡ€ΡƒΡŽΡ‚ΡΡ ΠΏΠΎ Π²ΠΎΠ·Ρ€Π°ΡΡ‚Π°Π½ΠΈΡŽ, ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Π΅ Ρ€Π°ΡΠΏΠΎΠ»Π°Π³Π°ΡŽΡ‚ΡΡ Π² порядкС создания. РазбСрёмся ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅.

Π’ качСствС ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° рассмотрим ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ с Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½Π½Ρ‹ΠΌΠΈ ΠΊΠΎΠ΄Π°ΠΌΠΈ:

Если ΠΌΡ‹ Π΄Π΅Π»Π°Π΅ΠΌ сайт для Π½Π΅ΠΌΠ΅Ρ†ΠΊΠΎΠΉ Π°ΡƒΠ΄ΠΈΡ‚ΠΎΡ€ΠΈΠΈ, Ρ‚ΠΎ, вСроятно, ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΊΠΎΠ΄ 49 Π±Ρ‹Π» ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ.

Но Ссли ΠΌΡ‹ запустим ΠΊΠΎΠ΄, ΠΌΡ‹ ΡƒΠ²ΠΈΠ΄ΠΈΠΌ ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½Π½ΠΎ Π΄Ρ€ΡƒΠ³ΡƒΡŽ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½Ρƒ:

Π’Π΅Ρ€ΠΌΠΈΠ½ «цСлочислСнноС свойство» ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ строку, которая ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½Π° Π² Ρ†Π΅Π»ΠΎΠ΅ число ΠΈ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ Π±Π΅Π· ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ.

Π’ΠΎ Π΅ΡΡ‚ΡŒ, «49» – это цСлочислСнноС имя свойства, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ Ссли Π΅Π³ΠΎ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚ΡŒ Π² Ρ†Π΅Π»ΠΎΠ΅ число, Π° Π·Π°Ρ‚Π΅ΠΌ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ Π² строку, Ρ‚ΠΎ ΠΎΠ½ΠΎ Π½Π΅ измСнится. А Π²ΠΎΡ‚ свойства «+49» ΠΈΠ»ΠΈ «1.2» Ρ‚Π°ΠΊΠΎΠ²Ρ‹ΠΌΠΈ Π½Π΅ ΡΠ²Π»ΡΡŽΡ‚ΡΡ:

…Б Π΄Ρ€ΡƒΠ³ΠΎΠΉ стороны, Ссли ΠΊΠ»ΡŽΡ‡ΠΈ Π½Π΅ цСлочислСнныС, Ρ‚ΠΎ ΠΎΠ½ΠΈ ΠΏΠ΅Ρ€Π΅Π±ΠΈΡ€Π°ΡŽΡ‚ΡΡ Π² порядкС создания, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€:

Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ€Π΅ΡˆΠΈΡ‚ΡŒ Π½Π°ΡˆΡƒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ с Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½Π½Ρ‹ΠΌΠΈ ΠΊΠΎΠ΄Π°ΠΌΠΈ, ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΡΡ…ΠΈΡ‚Ρ€ΠΈΡ‚ΡŒ, сдСлав ΠΊΠΎΠ΄Ρ‹ Π½Π΅ цСлочислСнными свойствами. ДобавлСния Π·Π½Π°ΠΊΠ° «+» ΠΏΠ΅Ρ€Π΅Π΄ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΌ ΠΊΠΎΠ΄ΠΎΠΌ Π±ΡƒΠ΄Π΅Ρ‚ достаточно.

Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΊΠΎΠ΄ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Ρ‚Π°ΠΊ, ΠΊΠ°ΠΊ ΠΌΡ‹ Π·Π°Π΄ΡƒΠΌΡ‹Π²Π°Π»ΠΈ.

Π˜Ρ‚ΠΎΠ³ΠΎ

ΠžΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ – это ассоциативныС массивы с рядом Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… возмоТностСй.

Они хранят свойства (ΠΏΠ°Ρ€Ρ‹ ΠΊΠ»ΡŽΡ‡-Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅), Π³Π΄Π΅:

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ доступ ΠΊ свойству, ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ:

Π’ JavaScript Π΅ΡΡ‚ΡŒ ΠΌΠ½ΠΎΠ³ΠΎ Π΄Ρ€ΡƒΠ³ΠΈΡ… Ρ‚ΠΈΠΏΠΎΠ² ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ²:

ΠžΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ Π² JavaScript ΠΎΡ‡Π΅Π½ΡŒ ΠΌΠΎΡ‰Π½Ρ‹Π΅. Π—Π΄Π΅ΡΡŒ ΠΌΡ‹ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΡƒΠ³Π»ΡƒΠ±ΠΈΠ»ΠΈΡΡŒ Π² Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΎΠ³Ρ€ΠΎΠΌΠ½ΡƒΡŽ Ρ‚Π΅ΠΌΡƒ. ΠœΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΏΠ»ΠΎΡ‚Π½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ ΠΈ ΡƒΠ·Π½Π°Π΅ΠΌ ΠΎ Π½ΠΈΡ… большС Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… частях ΡƒΡ‡Π΅Π±Π½ΠΈΠΊΠ°.

Π—Π°Π΄Π°Ρ‡ΠΈ

ΠŸΡ€ΠΈΠ²Π΅Ρ‚, object

ΠΠ°ΠΏΠΈΡˆΠΈΡ‚Π΅ ΠΊΠΎΠ΄, Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΠ² Π·Π°Π΄Π°Π½ΠΈΠ΅ ΠΈΠ· ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΏΡƒΠ½ΠΊΡ‚Π° ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠΉ строкой:

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

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

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