ํ‹ฐ์Šคํ† ๋ฆฌ ๋ทฐ

ํ˜•ํƒœ๋Š” ...๋ณ€์ˆ˜๋ช… ์œผ๋กœ

spread operator์™€ ๋‹ฎ์•„์žˆ์ง€๋งŒ, ์‚ฌ์šฉ๋ฐฉ๋ฒ•์€ ๋งค์šฐ ๋‹ค๋ฅธ rest operator

 

 

Rest operator

๐Ÿ“์‚ฌ์šฉ๋ฐฉ๋ฒ•

๋‚˜๋จธ์ง€ ์—ฐ์‚ฐ์ž(= rest operator)๋Š” ํ•จ์ˆ˜์˜ ๋งค๊ฐœ๋ณ€์ˆ˜์—์„œ ์‚ฌ์šฉ๋˜๊ฑฐ๋‚˜, 

๊ฐ์ฒด ๋ฆฌํ„ฐ๋Ÿด์ด๋‚˜ ๋ฐฐ์—ด ๋ฆฌํ„ฐ๋Ÿด์—์„œ ๋‚จ์€ ๋ถ€๋ถ„์„ ํ•˜๋‚˜์˜ ๋ณ€์ˆ˜๋กœ ๊ทธ๋ฃนํ™”ํ•  ๋•Œ ์‚ฌ์šฉ๋œ๋‹ค.

์˜ˆ๋ฅผ ๋“ค์–ด ํ•จ์ˆ˜์—์„œ ์—ฌ๋Ÿฌ ์ธ์ˆ˜๋ฅผ ๋ฐฐ์—ด๋กœ ๊ทธ๋ฃนํ™”ํ•˜๊ฑฐ๋‚˜,

๊ฐ์ฒด ๋ถ„ํ•ด ํ• ๋‹น(destructuring)์—์„œ ํŠน์ • ์†์„ฑ์„ ์ œ์™ธํ•œ ๋‚˜๋จธ์ง€ ์†์„ฑ๋“ค์„ ์ƒˆ ๊ฐ์ฒด๋กœ ๊ทธ๋ฃนํ™”ํ•  ๋•Œ ์‚ฌ์šฉํ•œ๋‹ค.

๋”๋ณด๊ธฐ

๊ฐ์ฒด ๋ฆฌํ„ฐ๋Ÿด(๋ฐฐ์—ด ๋ฆฌํ„ฐ๋Ÿด)? 

๋‹จ์ˆœํžˆ ์ค‘๊ด„ํ˜ธ {}๋ฅผ ์ด์šฉํ•˜์—ฌ ๊ฐ์ฒด๋ฅผ ์ง์ ‘ ์„ ์–ธํ•˜๋Š” ๋ฐฉ์‹์ด๋‹ค.

๋ฐฐ์—ด๋ฆฌํ„ฐ๋Ÿด๋„ ๋งˆ์ฐฌ๊ฐ€์ง€ []๋ฅผ ํ†ตํ•ด ์ง์ ‘ ์„ ์–ธํ•˜๋Š” ๋ฐฉ์‹์ด๋‹ค.

 

 

๐Ÿ“ํ•จ์ˆ˜์˜ ๋งค๊ฐœ๋ณ€์ˆ˜

๋ฐฐ์—ด๋กœ ๋“ค์–ด์˜ค์ง€ ์•Š๋Š” input์„ ํ•œ ๊ตฐ๋ฐ์— ๋ฌถ์„ ๋•Œ ์‚ฌ์šฉํ•œ๋‹ค.

function sum(...numbers) {
	console.log(numbers) //[1, 2, 3, 4] => ...(rest operator)์— ์˜ํ•ด ๋ฐฐ์—ด ํ˜•ํƒœ๋กœ ๋ณ€ํ™˜
    return numbers.reduce((acc, current) => acc + current, 0);
}

console.log(sum(1, 2, 3, 4)); // 10

 

๋”๋ณด๊ธฐ

input์ด ๋ฐฐ์—ด ํ˜•ํƒœ์ผ ๋•Œ reduce ํ˜•์‹

function sum (first, second, third, forth, fifth) {
	return numbers.reduce((acc, cur) => acc + cur);
}

const result = sum(1, 2, 3, 4, 5);
console.log(result);

 

 

๐Ÿ“๊ฐ์ฒด ๋ถ„ํ•ด ํ• ๋‹น

key๊ฐ€ country ์ธ ๊ฒƒ์„ ๋นผ๊ณ  ์ƒˆ๋กญ๊ฒŒ ๊ฐ์ฒด๋ฅผ ๋งŒ๋“ค๊ณ  ์‹ถ์„ ๋•Œ ์‚ฌ์šฉํ•œ๋‹ค.

const person = {
    name: "John",
    age: 30,
    country: "USA",
    occupation: "Developer"
};

const { country, ...rest } = person;
console.log(rest); // { name: "John", age: 30, occupation: "Developer" }

 

๊ณต์ง€์‚ฌํ•ญ
์ตœ๊ทผ์— ์˜ฌ๋ผ์˜จ ๊ธ€
์ตœ๊ทผ์— ๋‹ฌ๋ฆฐ ๋Œ“๊ธ€
Total
Today
Yesterday
๋งํฌ
TAG
more
ยซ   2026/03   ยป
์ผ ์›” ํ™” ์ˆ˜ ๋ชฉ ๊ธˆ ํ† 
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
๊ธ€ ๋ณด๊ด€ํ•จ