๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๐ŸŒŒ | WEB DEV/Vanilla JS

JS_๊ธฐ๋ณธ ๋ฌธ๋ฒ• (31)_ ํ•จ์ˆ˜ ํŒŒ๋ผ๋ฏธํ„ฐ (default, arguments)

by KASSID 2023. 8. 7.

JS ํ•จ์ˆ˜์˜ ํŒŒ๋ผ๋ฏธํ„ฐ ์ค‘ default์™€ argument์— ๋Œ€ํ•ด์„œ ์•Œ์•„๋ณด์ž.

 

1. default ํŒŒ๋ผ๋ฏธํ„ฐ

default ํŒŒ๋ผ๋ฏธํ„ฐ ์ฆ‰, ๊ธฐ๋ณธ๊ฐ’์€ ํŒŒ๋ผ๋ฏธํ„ฐ์— ๊ฐ’์ด ์ „๋‹ฌ๋˜์ง€ ์•Š์•˜์„ ๊ฒฝ์šฐ ์ดˆ๊ธฐ๊ฐ’์„ ์ง€์ •ํ•ด์ฃผ๋Š” ๊ฒƒ์ด๋‹ค.

 

๋‹จ์ˆœ ๊ฐ’ ๋ฟ๋งŒ ์•„๋‹Œ ๋‹ค์–‘ํ•œ ๊ฒƒ๋“ค์„ ์ง€์ •ํ•ด์ค„ ์ˆ˜ ์žˆ๋‹ค.

 

์˜ˆ์‹œ 1. ๋‹จ์ˆœ๊ฐ’

function print(a = 1){
  console.log(a);
}

print();

--------
1

 

์˜ˆ์‹œ 2. ์—ฐ์‚ฐ

function print(a, b = a*2){
  console.log(a + b);
}

print(1);
print(1, 1);

--------
3
2

 

์˜ˆ์‹œ 3. ํ•จ์ˆ˜

let square = (i)=>{return i**2};

function print(a, b = square(a)){
  console.log(a + b);
}

print(10);

--------
110

 

 

 


2. arguments

arguments๋Š” ํ•จ์ˆ˜ ํŒŒ๋ผ๋ฏธํ„ฐ๋กœ ์ „๋‹ฌ๋ฐ›์€ ๊ฐ’๋“ค์„ arrayํ˜•ํƒœ๋กœ ๊ฐ์‹ธ์„œ ๋ฐ˜ํ™˜ํ•˜๋Š” ๊ฐ์ฒด์ด๋‹ค.

 

์˜ˆ์‹œ 1

function func(a, b, c){
  console.log(arguments)
}

func(1, 2, 3);

 

 

์˜ˆ์‹œ 2

function func(a, b, c){
  for (var i = 0; i < arguments.length; i++){
    console.log(arguments[i])
  }
}

func(1, 2, 3);

--------
1
2
3

 

 

 

 

๋Œ“๊ธ€