함수
- 입력(파라미터=인수)하여 결과를 뽑는 구조.
- 호출시 소괄호() 생략할 수 없으므로 주의 (생략시, 함수 정의 내용 그대로 출력)
▶ 디폴트 함수
▶ 스스로 함수 ( 개발자가 스스로 정의하는 함수 )
형태1. function 명령 사용 ( 기본적 )
* 반환값 (return)
- 일반적으로 말미에 기술
- 함수 도중 기술 시 : 이후 코드가 실행되지 않으므로 주의, 꼭 조기 분기 명령(if/switch 등) 함수와 함께 사용
- 반환값 생략 : 상관없으나 undefined(미정의값) 반환
형태2. 냉장객체 Function
* 가인수? 함수 정의로 선언된 인수
* 실인수? 함수 호출시 선언되 인수
형태1인 더 깔끔하고, 따옴표로 인수나 함수를 둘러싸지 않으니 이게 더 좋은거 아닌가? 맞음
But, 중요한 특징! 인수나 함수를 '문자열'로 정의할 수 있는 점. (다만 남용X, 함수는 기본적으로 형태1,3번을 사용한다고 기억하자)
* 꼭 형태2번으로 이용하고 싶다면 다음 경우는 피하자 : 성능저하의 원인
- while/for 등의 반복 블록 안
- 자주 호출되는 함수
: Function 생성자는 호출될때마다 코드 해석부터 함수 객체의 생성까지 모두~~ 전부~~ 실시하기 때문에.
형태3. 함수 리터럴('문자') = 익명함수 = 무명함수
JavaScript에서' 함수'는 데이터형의 일종
= 숫자와 문자열처럼 표현 가능
= 변수에 대입할 수 있다는 이야기
= 다른 함수의 인수로도 전달 가능
= 반환값(return)으로도 함수 전달 가능
* 익명함수=무명함수? 형태1과 달리 함수명 없이 선언.
* 형태1(function 명령 직접 사용)과 차이점
- function 명령 -> 함수명을 직접 정의
- 함수 리터럴 -> 이름없는 함수로 정의한 뒤 변수에 대입
형태4. ★ 애로우함수 (ES2015, ES6) ★
"간결"
function 키워드는 기술하지 않는다!
"더 간결하게!"
- 함수내용이 한 문장인 경우
- 함수를 감싸는 {...} 괄호 생략!
- return 명령 생략!
- 인수가 한개인 경우
- 인수를 감싸는 (...) 괄호 생략!
- But, 인수가 없는 경우는 ()만 입력해줘야 함. (생략 불가)
* 애로우 함수로 '객체'를 반환할 때 표기법 주의!
객체를 표현하는 { ... } 괄호가 함수 영역인 것으로 잘 못 인식하기 때문에 한번 더 감싸주어야 한다. ( ... )
let func = () => ( { 프로퍼티명 : '값' } ) ;
'Language > JavaScript' 카테고리의 다른 글
Date Format (0) | 2018.02.18 |
---|---|
자바스크립트 프로젝트 시작 준비 (요약) (0) | 2017.12.27 |
자바스크립트 개발 도구 (0) | 2017.12.20 |
[jQuery] 기본형태(시작) (0) | 2017.12.20 |
콜백(callback) 함수 (0) | 2017.09.07 |