๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
JavaScript/JavaScript

์œ ์‚ฌ ๋ฐฐ์—ด ๊ฐ์ฒด(Array-Like Object)

by ์ฝ”๋”ฉํ•˜๋Š” ๋ถ•์–ด 2021. 11. 18.
๋ฐ˜์‘ํ˜•

๐Ÿšœ ์œ ์‚ฌ ๋ฐฐ์—ด ๊ฐ์ฒด(=์—ฐ๊ด€ ๋ฐฐ์—ด)

๋ฐฐ์—ด๊ณผ ๋น„์Šทํ•œ ๊ฐ์ฒด.

length ํ”„๋กœํผํ‹ฐ๋ฅผ ๊ฐ€์ง„ ๊ฐ์ฒด๋ฅผ ์œ ์‚ฌ ๋ฐฐ์—ด ๊ฐ์ฒด(Array-Like Object)๋ผ๊ณ  ํ•œ๋‹ค.
DOM์—์„œ ๊ฐ€์ ธ์˜จ element๋“ค ๋Œ€ํ‘œ์ ์ธ ์˜ˆ๋กœ ๋“ค ์ˆ˜ ์žˆ๋‹ค.

let Object = {
  0: 'a',
  1: 'b',
  2: 'c',
  length: 3
}

์œ ์‚ฌ ๋ฐฐ์—ด ๊ฐ์ฒด๋Š” ์œ„์™€ ๊ฐ™์ด length ํ”„๋กœํผํ‹ฐ๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค.
์ฃผ๋œ ์šฉ๋„๋Š” key๋กœ ๊ฐ’์„ ๋ฝ‘์•„๋‚ด๋Š” ๊ฒƒ์ด๋‹ค.
JavaScript์—์„œ๋Š” ๊ฐ์ฒด๋ฅผ ์—ฐ๊ด€ ๋ฐฐ์—ด๋กœ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ์ •์„์ด๋ผ๊ณ  ํ•œ๋‹ค.
console.log ์ฐ์–ด์„œ ๊ฐœ๋ฐœ์ž ๋„๊ตฌ๋กœ ํ™•์ธ ํ•  ์ˆ˜ ์žˆ๋‹ค.



 

๐Ÿšœ ํŠน์ง•

๊ฐ์ฒด์ž„์—๋„ ๋ถˆ๊ตฌํ•˜๊ณ  JavaScript์˜ ํ‘œ์ค€ ๋ฐฐ์—ด ๋ฉ”์†Œ๋“œ๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.

์œ ์‚ฌ ๋ฐฐ์—ด ๊ฐ์ฒด๋Š” ๋ฐฐ์—ด์ด ์•„๋‹ˆ๊ธฐ ๋•Œ๋ฌธ์— ๋ฐฐ์—ด ๋ฉ”์„œ๋“œ๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†๋‹ค.
ํ•˜์ง€๋งŒ ์ผ๋ฐ˜ ๊ฐ์ฒด๊ฐ€ ํ”„๋กœํ† ํƒ€์ž…(prototype)๊ณผ apply() ๋ฉ”์„œ๋“œ๋ฅผ ์ด์šฉํ•˜๋ฉด ๊ฐ์ฒด์ง€๋งŒ ํ‘œ์ค€ ๋ฉ”์„œ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ๊ฐ€๋Šฅํ•˜๋‹ค.

์ˆซ์ž ํ˜•ํƒœ์˜ ์ธ๋ฑ์‹ฑ์ด ๊ฐ€๋Šฅํ•˜๋‹ค.

๋ฐ˜์‘ํ˜•

๋Œ“๊ธ€