-
자바스크립트의 함수를 선언하는 방식은 3가지이다. (ES6+ 기준)
-
함수 선언
function name(){ }
위 코드와 같이 작성하면 된다. 매개변수가 어떤 식으로 들어오는지 명시하는 게 사실 좋긴 한데 명시하지 않아도 argument라는 걸로 매개변수를 활용할 수 있다.
fucntion test () { const len = argument.length; let sum = 0; if(len > 1) for(let i=0; i < len;i++){ sum += argument[i]; } return sum; } test(1,2,3,4,5);
이 코드는 인자 값으로 들어온 값을 모두 더해주는 코드이다. argument는 타입을 확인해보면 object로 나온다. 키 값이 정수이고 값은 인자 값으로 전달한 값이 된다. test(1,2,3,4,5)의 argument = {'0': 1, '1': 2, '2': 3, '3': 4, '4': 5}가 되고 for 문에 따라 sum은 15가 된다. 그러나 argument를 함수 몸체에서 활용하는 걸 권장하진 않는다고 한다. 매개변수가 확실하게 명시돼야 다른 누군가가 사용하기 쉽고, 시간이 흘러서 기억이 가물가물할 때도 매개변수가 잘 명시되어 있으면 이 함수가 머였는지 파악하기가 쉽다.
-
함수 표현식
자바스크립트는 두 가지 함수 표현식이 있다. 구버전 방식은
const name = function(){};
ES6 이후에는 arrow 함수도 나왔다.
const name = () => {};
함수 표현식은 주의해서 사용해야 할 부분이 있다. hoisting이라는 것인데 MDN 문서를 참조하면서 함수 파트 공부를 마무리한다.
https://developer.mozilla.org/ko/docs/Glossary/Hoisting
'웹개발공부' 카테고리의 다른 글
CSS 선택자 (0) 2020.05.10 vscode로 자바스크립트 실행하기 (0) 2020.05.10 자바스크립트 변수 타입 (0) 2020.05.09 자바스크립트 비동기 처리 (0) 2020.05.08 자바스크립트 정적 메서드 (0) 2020.05.07 -