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

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

by KASSID 2023. 8. 7.

๋ชฉ์ฐจ

    728x90

    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

     

     

     

     

    ๋Œ“๊ธ€