자바스크립트 기초 -3
매우 주관적인 포스트로서 사실과 다를수도 있습니다. 개인적인 정리 차원입니다.
자바스크립트 함수
이번에는 함수에 관하여 정리해보자
함수하 하면 우선 이전에 배운 n차함수 같은것이 생각날 것이다.
프로그래밍에서 함수도 이와 비슷하다.
다만, 함수의 출력은 어떠한 값을 변화시킬수도, 결과를 화면에 출력할수도, 둘다 아닐수도 있다.
함수의 선언은 다음과 같다.
function 함수이름 (인자){
//함수 동작 코드
}
혹은
let 함수이름 = function (인자){
}
후자는 우선 선언만 하고 나중에 그 함수의 동작을 코딩해야 하는 경우 유용할것 같다.
위에서 ‘인자’라고 작성한것은, 파라미터라고도 불리며, 함수의 입력값이기도 하다.
함수 내부에 값을 전달해주는 역활이다.
함수 내부에서는 이 값을 받아서 해당되는 작업을 실행하게 된다.
다만 경험상 인자로 넣을 변수를 함수내에서 직접 변형 시키는것은 좋지 않다.
차라리 임시변수를 두어 값을 복사한뒤, 임시변수를 지지고 볶도록 하자.
그런데 직접 함수를 작성하고, 값을 변경하고, 이 값을 함수 안 말고 밖에서 출력하려는 경우에는 문제가 생긴다.
출력값이 반드시 undefined로 나올것이다.
왜이런 결과가 나오는가 하면 간단히 설명하면, 함수 내에서 사용한 임시변수는 함수 밖에서 사용이 불가능하다.
C++의 경우는 함수가 종료되면 함수내 임시변수가 메모리에서 날아가 버린다. 그래서 C++에서는 함수내 변수에 접근을 하면 에러를 내버린다.
이런 함수내 임시변수를 지역변수라 하며, 만약에 이 임시변수가 필요하다면 차후에 작성할 전역변수를 이용하거나, 값을 함수밖으로 끄집어 내면 된다.
또한 이러한 변수의 접근제한을 스코프(scope)
라고 한다. 요약하자면 중괄호 내부의 함수는 중괄호 내부에서만 접근이 가능하다.
자 그러면 어떻게 함수밖으로 값을 끄집어 낼것인가?
간단히 return 지역변수명; 을 사용하면 된다.
이러면 함수밖으로 지역변수의 값이 밖으로 출력되며, 이를 다른 변수에 저장해서 화면에 출력하거나,
다른곳에서 사용하면 된다.
댓글남기기