본문 바로가기
📍 Front-End/🜸 JavaScript

[자바스크립트] 함수 (function)

by 예리Yelee 2021. 6. 23.
반응형

자바스크립트에서 함수를 선언하고 정의하는데 다양한 방식이 있다

 

함수 선언형 vs  함수 표현식

함수 선언형은 호이스팅에 영향을 받지만
함수 표현식은 호이스팅에 영향을 받지 않는다

함수 선언형

printName('예리'); // 제 이름은 예리입니다

function printName(name){
    console.log(`제 이름은 ${name}입니다`);
}

함수 표현식

const testFunction = function(){
    console.log('안녕하세요');
}

testFunction();

결과 : 안녕하세요

printName('예리');

let printName = function(name){
    console.log(`제 이름은 ${name}입니다`);
}

결과: Uncaught ReferenceError: Cannot access 'name' before initialization

 

화살표 함수 (arrow function) - ES6

function total(a,b){
   return a + b;
}
console.log(total(1,3)); // 4


// 위의 코드를 아래와 같이 변경할 수 있다
const total2 = (a,b) => a + b;
console.log(total(3,5)); // 8

 

Default parameter function - ES6

function sendMessage(message, from = 'unknown'){
    console.log(`${message} from ${from}`)
}

sendMessage('hi');

결과 : hi from unknown

 

Rest parameter function - ES6

function printAll(...args){
    for(let i = 0; i < args.length; i++){
        console.log(args[i]);
    }
}

printAll(1,2,3,4,5);

결과 : 
1
2
3
4
5

반응형

댓글