DevLog

immutable (๋ถˆ๋ณ€์„ฑ) ๋ฉ”์„œ๋“œ : slice() ๋ณธ๋ฌธ

๐Ÿง‘๐Ÿป‍๐Ÿ’ป ๊ฐœ๋ฐœ๊ฐœ๋ฐœ/javascript

immutable (๋ถˆ๋ณ€์„ฑ) ๋ฉ”์„œ๋“œ : slice()

Seungjae Lee 2021. 6. 3. 00:47

[].slice()

 Immutable (๋ถˆ๋ณ€์„ฑ) ๋ฉ”์„œ๋“œ
 "์›๋ณธ ๋ฐฐ์—ด์„ ์ˆ˜์ •ํ•˜์ง€์•Š๊ณ , ์ƒˆ๋กœ์šด ๋ฐฐ์—ด ๋˜๋Š” ๊ฐ’์„ ๋ฐ˜ํ™˜ํ•˜๋Š” ๋ฉ”์„œ๋“œ"

arr.slice(begin, end)
  • begin: ์ถ”์ถœ ์‹œ์ž‘์ ์— ๋Œ€ํ•œ ์ธ๋ฑ์Šค์ž…๋‹ˆ๋‹ค. [Optional]
  • end: ์ถ”์ถœ ์ข…๋ฃŒ์ ์— ๋Œ€ํ•œ ์ธ๋ฑ์Šค์ž…๋‹ˆ๋‹ค. ํ•ด๋‹น ์ธ๋ฑ์Šค ์ „๊นŒ์ง€ ์ถ”์ถœํ•ฉ๋‹ˆ๋‹ค. [Optional]
  • ๋ฐ˜ํ™˜๊ฐ’: ์ถ”์ถœํ•œ ์š”์†Œ๋ฅผ ํฌํ•จํ•œ ์ƒˆ๋กœ์šด ๋ฐฐ์—ด์„ ๋ฆฌํ„ดํ•ฉ๋‹ˆ๋‹ค.
  • end๊ฐ’์ด  ๋ฐฐ์—ด์˜ ๊ธธ์ด๋ณด๋‹ค ํฌ๋‹ค๋ฉด, ๋ฐฐ์—ด ๋๊นŒ์ง€ ์ถ”์ถœํ•ฉ๋‹ˆ๋‹ค.
  • end๊ฐ’์ด ์ƒ๋žต๋˜๋ฉด, slice()๋Š” ๋ฐฐ์—ด์˜ ๋๊นŒ์ง€ ์ถ”์ถœํ•ฉ๋‹ˆ๋‹ค.
  • start๊ฐ’์ด end๊ฐ’๋ณด๋‹ค ํฌ๊ฑฐ๋‚˜ ๊ฐ™๋‹ค๋ฉด, ๋นˆ ๋ฐฐ์—ด์„ ์ถ”์ถœํ•ฉ๋‹ˆ๋‹ค.

์ค‘์š”์˜ˆ์‹œ

let arr = [0,1,2,3,4,5];

const copiedArr = arr.slice();

copiedArr[3] = 'changed in copiedArr';

console.log(copiedArr[3]) //changed in copiedArr 
console.log(copiedArr) //[0, 1, 2, "changed in copiedArr", 4, 5]
// copiedArr์˜ ์„ธ๋ฒˆ์งธ ์ธ๋ฑ์Šค๋Š” ๋ฐ”๋€Œ์—ˆ์ง€๋งŒ ์ฐธ์กฐํ•œ ์›๋ณธ arr๋ฐฐ์—ด์˜ ์„ธ๋ฒˆ์งธ ์ธ๋ฑ์Šค๋Š” ๋ฐ”๋€Œ์ง€ ์•Š์Œ.
console.log(arr[3]) //3 

 

 
Comments