Freecodecamp: Доступ ΠΊ свойствам ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ Π½Π΅Π΄ΠΎΡƒΠΌΠ΅Π½ΠΈΠ΅?

Π‘ΠΎΠ·Π΄Π°Π½Π½Ρ‹ΠΉ Π½Π° 21 Π΄Π΅ΠΊ. 2016  Β·  10ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ  Β·  Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: freeCodeCamp/freeCodeCamp


НазваниС испытания


Доступ ΠΊ свойствам ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…

ОписаниС ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹


Π­Ρ‚ΠΎΡ‚ Π²Ρ‹Π·ΠΎΠ² мСня смущаСт. ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Π² ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΡ… Π·Π°Π΄Π°Ρ‡Π°Ρ… с доступом ΠΊ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌ. Π― Ρ‡ΠΈΡ‚Π°Π», Ρ‡Ρ‚ΠΎ ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½Ρ‹Π΅ скобки слСдуСт ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‚ΠΎΠ³Π΄Π°, ΠΊΠΎΠ³Π΄Π° Π² собствСнности Π΅ΡΡ‚ΡŒ мСсто, ΠΊ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌΡƒ Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ доступ. И Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Π² этой Π·Π°Π΄Π°Ρ‡Π΅ ΠΎΠ½ΠΈ хотят, Ρ‡Ρ‚ΠΎΠ±Ρ‹ я использовал ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ скобок, ΠΊΠΎΠ³Π΄Π° свойство Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ ΠΏΡ€ΠΎΠ±Π΅Π»Π°.

Π‘Π°ΠΌΡ‹ΠΉ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ΠΉ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

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

var obj = {
  propName : "John"
}

function propPrefix(str) {
  var s = "prop";
  return s + str;
}

var someProp = propPrefix("Name")

console.log(obj[someProp]) // -> "John"

ΠœΡ‹ ΠΌΠΎΠ³Π»ΠΈ Π±Ρ‹ ΠΎΠ±ΡŠΡΡΠ½ΠΈΡ‚ΡŒ эту ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΡŽ Π² описании, Ссли ΠΎΠ½ΠΎ Π½Π΅ слишком ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΠ΅.

ВсС 10 ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

/ cc @ FreeCodeCamp / ΠΌΠΎΠ΄Π΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹
ΠœΠΎΠΆΠ΅Ρ‚ Π»ΠΈ ΠΊΡ‚ΠΎ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ ΠΏΠΎΠΌΠΎΡ‡ΡŒ Π² сортировкС, Ссли инструкции Π½ΡƒΠΆΠ΄Π°ΡŽΡ‚ΡΡ Π² Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… Ρ€Π°Π·ΡŠΡΡΠ½Π΅Π½ΠΈΡΡ…? Π― ΠΌΠΎΠ³Ρƒ Π±Ρ‹Ρ‚ΡŒ прСдвзятым, Π½ΠΎ ΠΎΠ½ΠΈ каТутся ΠΌΠ½Π΅ прямыми.

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

var obj = {
  propName : "John"
}

function propPrefix(str) {
  var s = "prop";
  return s + str;
}

var someProp = propPrefix("Name")

console.log(obj[someProp]) // -> "John"

ΠœΡ‹ ΠΌΠΎΠ³Π»ΠΈ Π±Ρ‹ ΠΎΠ±ΡŠΡΡΠ½ΠΈΡ‚ΡŒ эту ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΡŽ Π² описании, Ссли ΠΎΠ½ΠΎ Π½Π΅ слишком ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΠ΅.

Бпасибо @ Emt-Ant, Π½ΡƒΠΆΠ½ΠΎ Π»ΠΈ ΠΎΠ±Π½ΠΎΠ²Π»ΡΡ‚ΡŒ инструкции для получСния Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… Ρ€Π°Π·ΡŠΡΡΠ½Π΅Π½ΠΈΠΉ? Π’Π²ΠΎΠ΅ ΠΌΠ½Π΅Π½ΠΈΠ΅?

@raisedadead @ Π­ΠΌ-ΠœΡƒΡ€Π°Π²Π΅ΠΉ,
Π― ΠΌΠΎΠ³Ρƒ ΠΏΠΎΠ½ΡΡ‚ΡŒ ΠΏΡƒΡ‚Π°Π½ΠΈΡ†Ρƒ, ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ imho с Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ Ρ€Π°Π·ΡŠΡΡΠ½Π΅Π½ΠΈΡΠΌΠΈ Π·Π²ΡƒΡ‡ΠΈΡ‚ ΠΊΠ°ΠΊ Ρ…ΠΎΡ€ΠΎΡˆΠ°Ρ идСя.

Для Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΎΠ² с Ρ‚Π°ΠΊΠΈΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠΌ:

var someProp = "propName";
var myObj = {
  propName: "Some Value"
}
myObj[someProp]; // "Some Value"

Π»Π΅Π³ΠΊΠΎ ΠΏΠΎΠ΄ΡƒΠΌΠ°Ρ‚ΡŒ: Β«ΠŸΠΎΡ‡Π΅ΠΌΡƒ Π±Ρ‹ просто Π½Π΅ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ myObj.propName, Ρ€Π°Π· ΡƒΠΆ ΠΌΡ‹ Π΄Π΅Π»Π°Π΅ΠΌ Ρ‚ΠΎ ΠΆΠ΅ самоС»

И снова Π²Ρ‚ΠΎΡ€ΠΎΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€:

var myDog = "Hunter";
var dogs = {
  Fido: "Mutt",
  Hunter: "Doberman",
  Snoopie: "Beagle"
}
var breed = dogs[myDog];
console.log(breed);// "Doberman"

Π΄Π΅Π»Π°Π΅Ρ‚ Ρ‚ΠΎ ΠΆΠ΅ самоС. Он просто прикрСпляСт Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΊ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ. Π—Π°Ρ‡Π΅ΠΌ Π½Π°ΠΌ Π²ΠΎΠΎΠ±Ρ‰Π΅ Π½ΡƒΠΆΠ½Π° пСрСмСнная ?? Π― ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎ Π΄ΡƒΠΌΠ°ΡŽ, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ, ΠΊΠ°ΠΊ сказал @ Em-Ant, ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ пСрСмСнная измСняСтся динамичСски. ΠŸΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ, Ссли Π²Ρ‹ просто устанавливаСтС ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ, Ρ€Π°Π²Π½ΡƒΡŽ строкС, ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ эту ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ, это Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ Π½ΠΈΠΊΠ°ΠΊΠΎΠ³ΠΎ смысла. Π‘Ρ‹Π»ΠΎ Π±Ρ‹ Π±ΠΎΠ»Π΅Π΅ ΠΏΡ€Π°ΠΊΡ‚ΠΈΡ‡Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚ΠΎΡ‡Π΅Ρ‡Π½ΡƒΡŽ Π½ΠΎΡ‚Π°Ρ†ΠΈΡŽ. Π—Π°Π΄Π°Ρ‡Π° Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ смысла, Ссли Π²Ρ‹ Π½Π΅ ΠΎΠ±ΡŠΡΡΠ½ΠΈΡ‚Π΅, ΠΏΠΎΡ‡Π΅ΠΌΡƒ Π½Π°ΠΌ Π²ΠΎΠΎΠ±Ρ‰Π΅ ΠΊΠΎΠ³Π΄Π°-Π»ΠΈΠ±ΠΎ понадобится ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ вмСсто записи Ρ‡Π΅Ρ€Π΅Π· Ρ‚ΠΎΡ‡ΠΊΡƒ. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ я Ρ…ΠΎΡ‡Ρƒ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π΅Ρ‰Π΅ ΠΎΠ΄ΠΈΠ½ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΈ ΠΏΠΎΡΡΠ½ΠΈΡ‚ΡŒ, Π·Π°Ρ‡Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ.

@IsaacAbrahamson, спасибо.

Π‘ΠΎΠ°Π²Ρ‚ΠΎΡ€Π°ΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Ρ€Π΅ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ эту Π·Π°Π΄Π°Ρ‡Ρƒ вмСстС с Updating Object Properties . ΠŸΡ€ΠΎΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚ΠΈΡ€ΡƒΠΉΡ‚Π΅ Π½ΠΈΠΆΠ΅ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½Π½Ρ‹ΠΉ Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³ для ΠΎΠ±ΠΎΠΈΡ…, ΠΏΡ€Π΅ΠΆΠ΄Π΅ Ρ‡Π΅ΠΌ Π΄Π΅Π»Π°Ρ‚ΡŒ запрос Π½Π° пСрСнос.

/ cc @erictleung мысли?

Π’Π°ΠΊΠΆΠ΅ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ @systimotic ' https://github.com/FreeCodeCamp/FreeCodeCamp/issues/12125#issuecomment -269246606

ΠŸΡ€ΠΈΠ²Π΅Ρ‚ @raisedadead!
ΠŸΡ€ΠΎΡ‡ΠΈΡ‚Π°Π² всС вопросы, связанныС с Π½ΠΎΡ‚Π°Ρ†ΠΈΠ΅ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ², я понял, Ρ‡Ρ‚ΠΎ для Π½ΠΎΠ²ΠΈΡ‡ΠΊΠ° это Π½Π΅ ΠΎΡ‡Π΅Π²ΠΈΠ΄Π½ΠΎ. МнС ΠΎΠ½ΠΈ казались прямыми. Π§Ρ‚ΠΎΠ±Ρ‹ Π±Ρ‹Π»ΠΎ Π΅Ρ‰Π΅ ΠΏΡ€ΠΎΡ‰Π΅, ΠΊΠ°ΠΊ насчСт внСсСния этих ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ.

Доступ ΠΊ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌ: (https://github.com/FreeCodeCamp/FreeCodeCamp/issues/12141)

var currency = {
   USA  : "dollar",
   London : "euro",
   India : "rupee",
}
function getCurrency(country){
 return country +" currency is "+currency[country] +" ";
}
getCurrency("USA") // "USA currency is dollar" 

Π― Π½Π΅ Π²ΠΈΠΆΡƒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ с ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ΠΌ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ². ΠŸΠΎΠΏΡ€Π°Π²ΡŒΡ‚Π΅ мСня Ссли я ошибаюсь.
Π”Π°ΠΆΠ΅ я Π΄ΡƒΠΌΠ°ΡŽ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π²Ρ‹Π·ΠΎΠ² Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Ρ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ². Π”Π°ΠΉΡ‚Π΅ ΠΌΠ½Π΅ Π·Π½Π°Ρ‚ΡŒ, ΠΊΠ°ΠΊ я ΠΌΠΎΠ³Ρƒ ΠΏΠΎΠΌΠΎΡ‡ΡŒ ΡƒΠ»ΡƒΡ‡ΡˆΠΈΡ‚ΡŒ это.

@raisedadead, Π΄Π°Π²Π°ΠΉΡ‚Π΅ посмотрим, смогу Π»ΠΈ я Ρ€Π΅ΡˆΠΈΡ‚ΡŒ эту ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ с ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠΌ.

Π‘ΠΎΠ°Π²Ρ‚ΠΎΡ€Π°ΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Ρ€Π΅ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ эту Π·Π°Π΄Π°Ρ‡Ρƒ вмСстС с Updating Object Properties . ΠŸΡ€ΠΎΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚ΠΈΡ€ΡƒΠΉΡ‚Π΅ Π½ΠΈΠΆΠ΅ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½Π½Ρ‹ΠΉ Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³ для ΠΎΠ±ΠΎΠΈΡ…, ΠΏΡ€Π΅ΠΆΠ΄Π΅ Ρ‡Π΅ΠΌ Π΄Π΅Π»Π°Ρ‚ΡŒ запрос Π½Π° пСрСнос.

Π˜Ρ‚Π°ΠΊ, для Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠΉ Π·Π°Π΄Π°Ρ‡ΠΈ ΠΏΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌ Β«Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² JavaScriptΒ» ΠΎΠ±ΡŠΠ΅ΠΊΡ‚-ΠΎΠ±Ρ€Π°Π·Π΅Ρ† ΠΈΠΌΠ΅Π΅Ρ‚ всС свойства, ΡΠ²Π»ΡΡŽΡ‰ΠΈΠ΅ΡΡ строками. Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π΅Ρ‰Π΅ ΠΎΠ΄ΠΈΠ½ ΠΎΠ±Ρ€Π°Π·Π΅Ρ† ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° с Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ Ρ‚ΠΈΠΏΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΌΠΈ свойствами, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€

var sampleObject = {
  property_1: "Green",
  2: "Hal",
  "property_3": "Lantern"
};

Π­Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ Π·Π°ΠΏΡƒΡ‚Π°Π½Π½Ρ‹ΠΌ, Π½ΠΎ ΠΎΠ½ΠΎ Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ исслСдуСт возмоТности ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ², Ρ‡Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠ±ΡƒΠ΄ΠΈΡ‚ΡŒ ΠΎΡ‚Π΄Ρ‹Ρ…Π°ΡŽΡ‰ΠΈΡ… Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΈΡΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚ΡŒ. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, исходный ΠΊΠΎΠ΄ для «Доступа ΠΊ свойствам ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…Β» ΠΈΠΌΠ΅Π΅Ρ‚ числа Π² качСствС свойств, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ Π±Ρ‹Π»ΠΈ ΠΏΠΎΠΊΠ°Π·Π°Π½Ρ‹ Π² Ρ‚Ρ€Π΅Ρ… ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΡ… Π·Π°Π΄Π°Ρ‡Π°Ρ… для ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ².


Π― Ρ‡ΠΈΡ‚Π°Π», Ρ‡Ρ‚ΠΎ ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½Ρ‹Π΅ скобки слСдуСт ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‚ΠΎΠ³Π΄Π°, ΠΊΠΎΠ³Π΄Π° Π² собствСнности Π΅ΡΡ‚ΡŒ мСсто, ΠΊ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌΡƒ Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ доступ.

Π­Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ, ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ² Ρ„ΠΎΡ€ΠΌΡƒ записи Π² скобках, ΠΊΠ°ΠΊ описано Π² Ρ€Π°Π·Π΄Π΅Π»Π΅ «Доступ ΠΊ свойствам ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ скобок» . Π˜Π½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΠΈ

Если Π² свойствС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°, ΠΊ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌΡƒ Π²Ρ‹ ΠΏΡ‹Ρ‚Π°Π΅Ρ‚Π΅ΡΡŒ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ доступ, Π΅ΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ±Π΅Π», Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ скобки.

ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ Π±Ρ‹ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π½Π° Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π²Ρ€ΠΎΠ΄Π΅

Если Π² свойствС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°, ΠΊ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌΡƒ Π²Ρ‹ ΠΏΡ‹Ρ‚Π°Π΅Ρ‚Π΅ΡΡŒ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ доступ, Π΅ΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ±Π΅Π», Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ скобки. Однако Π²Ρ‹ всС Ρ€Π°Π²Π½ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ скобки для свойств Π±Π΅Π· ΠΏΡ€ΠΎΠ±Π΅Π»ΠΎΠ².

А Π·Π°Ρ‚Π΅ΠΌ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΎΠ±Ρ€Π°Π·Π΅Ρ† ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ Ρƒ вас Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ свойства Π±Π΅Π· ΠΏΡ€ΠΎΠ±Π΅Π»ΠΎΠ².

var myObj = {
  "Space Name": "Kirk",
  "More Space": "Spock",
  "NoSpace": "USS Enterprise"
};
myObj["Space Name"]; // Kirk
myObj['More Space']; // Spock
myObj["NoSpace"];    // USS Enterprise

Для «Доступ ΠΊ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π·Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ, скаТСм, ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π° ΠΈΠΌΠ΅Π½Π½ΠΎ ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅

var someProp = "propName";
var myObj = {
  propName: "Some Value"
}
myObj[someProp]; // "Some Value"

ΠΈ пСрСмСстив ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° dogs Π² качСствС ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° ΠΈ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠΌ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π²Ρ€ΠΎΠ΄Π΅

var obj = {
  propName : "John"
}

function propPrefix(str) {
  var s = "prop";
  return s + str;
}

var someProp = propPrefix("Name");
console.log(obj[someProp]); // "John"

ΠΊΠ°ΠΊ Π²Ρ‚ΠΎΡ€ΠΎΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€.

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

Π‘Ρ‹Π»Π° Π»ΠΈ эта страница ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠΉ?
0 / 5 - 0 Ρ€Π΅ΠΉΡ‚ΠΈΠ½Π³ΠΈ