반응형
Notice
Recent Posts
Recent Comments
Link
NOW OR NEVER
드림엘리 : Javascript 기초 - 2. 함수 본문
반응형

함수
- 프로그래밍을 짤 때 무언가 반복적으로 계산되는(수행되는) 로직들이 있을 때 함수로 만듦. 왜냐하면 함수로 만들면 재사용이 가능하기 때문이다.
함수 선언
- function 함수이름(인자){기능 수행 영역(code block)}
- 함수 선언시 function 키워드 사용
- {} 즉 코드 블럭을 수행하는 것들을 함수이름으로 가리키게 됨
함수 이름
- 함수 자체를 가리키는 것
- 함수를 가리키고 있는 주소(refernce)를 가지고 있다
- 함수 이름 지정 가능
- 가능하면 의미있는 이름으로 설정
- 변수에서 이름을 원하는대로 지정하는 것처럼 함수 또한 원하는대로 이름 지정 가능
- 짧고 간결하지만 의미있는 이름으로 설정
인자
- 함수를 호출하는 사람으로부터 필요한 data를 받아오기 위해서 그리고 필요한 data를 받아올 때 함수 내부에서 조금 더 이해하기 쉬운 이름을 부여(정의)해 놓는 것이다.
- 외부에서 어떤 값을 받아올 것인데 그 받아오는 data를 변수라는 이름을 통해서 접근한 것처럼 인자에서도 인자를 통해서 block 안에서 접근이 가능하다.
- 함수를 작성하는 시점에는 인자에 어떤 data가 들어갈지 알 수 없다.
함수의 object 특성
- 함수도 object 중 하나
- 함수가 들어있는 reference(함수, 즉 {}가 정의되어 있는 곳) 같은 것이 함수 이름의 메모리에 들어있다. 즉 함수이름은 함수가 정의되어 있는 곳을 가리키고 있다.
- 변수에 함수이름을 할당하게 되면 함수이름이 가리키고 있는 reference가 복사되어 변수에 할당되게 된다.(object와 똑같음) 결국은 똑같은 함수를 가리키게 된다.
- 함수 이름을 변수에 할당하거나 또는 다른 함수의 인자로 전달한다는 것은 함수 이름이 가리키고 있는 함수의 reference를 해당하는 곳에 전달하는 것과 동일하다.
함수 호출
- 함수 선언시 인자 작성하지 않을 경우 호출할 때 아무리 input을 많이 전달해도 그 input을 무시하고 실행한다.(input을 받지 않는다)
- 함수를 호출하는 사람이 인자에 어떤 data가 들어갈지 결정
- 함수를 호출할 경우 ()를 이용해서 필요한 data가 있다면 data를 전달하면 된다.
- 인자가 있는 함수인데 함수 호출시 input data 넣지 않을 시 그 인자는 undefined로 정의되게 된다.
'Front-End > Javascript' 카테고리의 다른 글
드림엘리 : Javascript 기초 - 4. Class와 Callback 함수 (0) | 2021.12.28 |
---|---|
드림엘리 : Javascript 기초 - 3. 연산자(boolean과 &&연산자) (0) | 2021.12.28 |
드림엘리 : Javascript 기초 - 1. 변수(Primitive vs Object) (0) | 2021.12.24 |
드림엘리 : Javascript - 15. Function 헷갈릴 수 있는 부분 총 정리 (0) | 2021.12.23 |
드림엘리 : Javascript - 14. Async(3) async & await (0) | 2021.12.22 |