Freecodecamp: ๋ณ€์ˆ˜๋Š” ๋ณ€ํ•˜๊ธฐ ๋•Œ๋ฌธ์— 'const'๊ฐ€ ์•„๋‹Œ 'let'์œผ๋กœ ์ •์˜ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์— ๋งŒ๋“  2017๋…„ 03์›” 03์ผ  ยท  3์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: freeCodeCamp/freeCodeCamp



์Šคํ”„๋ ˆ๋“œ ์—ฐ์‚ฐ์ž๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ฐฐ์—ด์„ ์ œ์ž๋ฆฌ์—์„œ ํ‰๊ฐ€ํ•˜๊ธฐ


https://beta.freecodecamp.com/en/challenges/es6/use-the-spread-operator-to-evaluate-arrays-inplace

๋ฌธ์ œ ์„ค๋ช…


arr2 ๋ณ€์ˆ˜๋Š” const๋กœ ์ •์˜๋˜์–ด ์žˆ์ง€๋งŒ ์‹ค์Šต์—์„œ ์žฌ์ •์˜ํ•  ์ˆ˜ ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

๋ธŒ๋ผ์šฐ์ € ์ •๋ณด

  • ๋ธŒ๋ผ์šฐ์ € ์ด๋ฆ„, ๋ฒ„์ „: Google Chrome, ๋ฒ„์ „ 56.0.2924.87(64๋น„ํŠธ)
  • ์šด์˜ ์ฒด์ œ: OS X El Capitan 10.11.6
  • ๋ชจ๋ฐ”์ผ, ๋ฐ์Šคํฌํƒ‘ ๋˜๋Š” ํƒœ๋ธ”๋ฆฟ: ๋ฐ์Šคํฌํƒ‘

์ž ์žฌ์  ์†”๋ฃจ์…˜


์ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•œ 2๊ฐ€์ง€ ์˜ต์…˜์ด ์žˆ์Šต๋‹ˆ๋‹ค.

  1. // change code below this line ๋ฐ // change code above this line ๋ฅผ ์ œ๊ฑฐํ•˜์—ฌ ์‚ฌ์šฉ์ž๊ฐ€ ...arr1 ์†”๋ฃจ์…˜์„ arr2 ์ธ์Šคํ„ด์Šคํ™”์— ์ง์ ‘ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•ฉ๋‹ˆ๋‹ค.
    ํ•ด๊ฒฐ์ฑ…์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.
const arr1 = ['JAN', 'FEB', 'MAR', 'APR', 'MAY'];
const arr2 = [...arr1];
  1. arr2 ์˜ ์ดˆ๊ธฐ ์ธ์Šคํ„ด์Šคํ™”๋ฅผ let arr2 = [];
    ํ•ด๊ฒฐ์ฑ…์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.
const arr1 = ['JAN', 'FEB', 'MAR', 'APR', 'MAY'];
let arr2 = [];
// change code below this line
arr2 = [...arr1];
// change code above this line

์ด ๋‘ ์†”๋ฃจ์…˜์€ ํ˜„์žฌ ์ฃผ์–ด์ง„ ํ…Œ์ŠคํŠธ๋ฅผ ํ†ต๊ณผํ•ฉ๋‹ˆ๋‹ค. ์‚ฌ์šฉ์ž๊ฐ€ ๋” ์‰ฝ๊ฒŒ ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋„๋ก ์ด ์—ฐ์Šต์„ ์ •๋ฆฌํ•˜๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค.

๊ฐ€์žฅ ์œ ์šฉํ•œ ๋Œ“๊ธ€

@Ethan-Arrowood ์ข‹์€ ์บ์น˜!

์‚ฌ์‹ค, ์ด๊ฒƒ์€ ์žˆ๋Š” ๊ทธ๋Œ€๋กœ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ์ด๊ฒƒ์€ ์•„๋งˆ๋„ ์˜๋„ํ•œ ๋ฐฉ์‹์ผ ๊ฐ€๋Šฅ์„ฑ์ด ํฝ๋‹ˆ๋‹ค... :์Šค๋งˆ์ผ:

copy-contents-of-array

์ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด challengeSeed ํ˜•์‹์„ ์•ฝ๊ฐ„ ๋ณ€๊ฒฝํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค.

const arr1 = ['JAN', 'FEB', 'MAR', 'APR', 'MAY'];

const arr2 = [];  // Change this line.

arr1.push('JUN');
console.log(arr2); // arr2 should not be affected

๋ชจ๋“  3 ๋Œ“๊ธ€

@Ethan-Arrowood ์ข‹์€ ์บ์น˜!

์‚ฌ์‹ค, ์ด๊ฒƒ์€ ์žˆ๋Š” ๊ทธ๋Œ€๋กœ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ์ด๊ฒƒ์€ ์•„๋งˆ๋„ ์˜๋„ํ•œ ๋ฐฉ์‹์ผ ๊ฐ€๋Šฅ์„ฑ์ด ํฝ๋‹ˆ๋‹ค... :์Šค๋งˆ์ผ:

copy-contents-of-array

์ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด challengeSeed ํ˜•์‹์„ ์•ฝ๊ฐ„ ๋ณ€๊ฒฝํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค.

const arr1 = ['JAN', 'FEB', 'MAR', 'APR', 'MAY'];

const arr2 = [];  // Change this line.

arr1.push('JUN');
console.log(arr2); // arr2 should not be affected

๊ทธ๋ฆฌ๊ณ  .push() ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•œ ํžŒํŠธ๋ฅผ ์ถ”๊ฐ€ํ•ด์•ผ ํ•œ๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. ๋˜๋Š” https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array ์—์„œ ๋ฌด์–ธ๊ฐ€๋ฅผ ์‚ฌ์šฉํ•˜๋„๋ก ํžŒํŠธ๋ฅผ
์˜ค๋Š˜ ์ €๋…์— ๋ณ€๊ฒฝํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

@Ethan-Arrowood ์‚ฌ์šฉ์ž๊ฐ€ ํ•™์Šตํ•˜๋Š” ๋™์•ˆ ์•ฝ๊ฐ„ ์–ด๋ ค์šธ ์ˆ˜ ์žˆ๋Š” ๋ฆฌ์†Œ์Šค๋ฅผ ๋‹จ์ˆœํžˆ ๊ฐ€๋ฆฌํ‚ค๋Š” ๊ฒƒ๋ณด๋‹ค ๋ฌธ์ œ์— ๋Œ€ํ•œ ํžŒํŠธ ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•˜๊ธฐ ์œ„ํ•ด MDN ๋งํฌ๋ฅผ ์ œ๊ฑฐํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

๊ทธ๋Ÿผ์—๋„ ๋ถˆ๊ตฌํ•˜๊ณ  ๋ฌธ์ œ์™€ ๊ท€ํ•˜์˜ ๊ธฐ์—ฌ์— ๊ฐ์‚ฌ๋“œ๋ฆฝ๋‹ˆ๋‹ค.

์ด ํŽ˜์ด์ง€๊ฐ€ ๋„์›€์ด ๋˜์—ˆ๋‚˜์š”?
0 / 5 - 0 ๋“ฑ๊ธ‰