일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- background-color 속성
- i 태그
- go live
- height속성
- width속성
- id 선택자
- 일반 형제 결합자
- 인접 형제 결합자
- not 의사클래스
- html
- Checked 의사 클래스
- focus 의사클래스
- tag html
- 아두이노
- padding 속성
- 자식결합자
- 전체 선택자
- RGB
- RGBA
- iframe 태그
- br 태그
- css
- sup태그
- Live Server
- html tag i
- iframe
- html 태그
- sub태그
- reveal in file explorer
- 임베디드
- Today
- Total
so woon!
[공통] 사용자 함수 본문
학습일 : 2022. 09. 19
사용자 함수
(사용자) 함수(Function)
주로 특정 기능이나 반복되는 로직을 분리하기 위해 사용한다.
반환('return')
반환은 어떠한 함수를 호출하여 해당 함수가 되는 값을 반환하기 위해 사용한다.
return 반환값; 형식으로 사용한다.
함수는 호출(Call)하지 않으면 그 구현부가 가지는 내용이 실행되지 않는다.
일반 함수
일반 함수는 호이스팅(Hoisting)이 발생한다. 호이스팅은 JS파일 다운로드 완료 후 실행 전에 존재하는 모든 함수를 파악하는 기능이다. 고로, 선언 전 호출이 가능하다.
function 함수 이름(매개 변수) {
// 함수 구현부
}
가령, 전달 받은 전달 인자 a와 b의 합을 반환하는 함수 sum는 아래와 같이 만든다.
function sum(a, b) {
return a + b;
}
일반 익명(Anonymous) 함수 : 이름이 없는 함수이다.
익명 함수는 전달 인자로 전달되거나 어떠한 변수/상수의 값으로 사용되지 않으면 존재할 수 없다.
변수 선언을 통한 익명 함수 대입은 호이스팅이 발생하지 않으므로 선언 전 호출이 불가능하다.
function (매개 변수,...) {
// 함수 구현부
}
let 변수이름 = function (매개 변수) {
// 함수 구현부
}
화살표 함수(Arrow Function)
하는 일은 일반 함수랑 같음.
화살표 함수가 가지는 구현부의 구문이 한 개이고, 이가 반환 구문이라면
중괄호와 return 키워드를 생략할 수 있다.
(매개 변수) => {
// 함수 구현부
}
let 변수이름 = (매개 변수) => {
// 함수 구현부
}
화살표 함수가 가지는 구현부의 구문이 한 개이고, 이가 반환 구문이라면 중괄호와 return 키워드를 생략할 수 있다.
일반 함수와 화살표 함수
let f = function(a, b, c) {
return a + b + c;
}
let f = (a, b, c) => {
return a + b + c;
}
let f = (a, b, c) => a + b + c;
위 방식 모두 같다.
반환(Return) : 반환은 함수가 실행됨에 따라 반환할 값 혹은 이를 반환하는 것 그 자체이다. 단, return시
그 즉시 해당 함수의 실행이 중단되므로 유의한다
return 반환값; 형태로 작성한다.
반환값이 없는 경우(함수 호출을 중단하려는 경우) return만 적는다.
let someFunc = () => {
console.log('첫번째 줄');
return; //return을 했으므로 해당 함수의 실행이 중단됨
console.log('두번째 줄'); // 실행되지 않음
};
함수는 호출(Call)하지 않으면 그 구현부가 가지는 내용이 실행되지 않는다.
기본값 매개변수(Default Parameter)
함수 정의시 어떠한 매개변수에 전달 인자가 전달되지 않았을 경우 사용할 기본 값을 지정할 수 있다.
(매개변수 이름 = 기본 값 ,...) 방식으로 구현 가능 (자세한 용법은 '2022-09-19' 함수만들기 과제 참고)
let sum = {a = 0, b = 0, c = 0) => a + b + c;
sum(1, 3); // 4
전개 구문 (Spread Operator)
전개 구문은 그 개수가 정해지지 않은 어떠한 전달 인자를 받기 위한 매개 변수 구조로, 쉼표(,)로 구분된 값의 나열을 배열(Array)로 받을 수 있다.
let sum = (...nums) => {
nums.forEach(num => console.log(num));
}
'Javascript > 개념정리' 카테고리의 다른 글
[공통] 데이터 타입 (1) | 2022.09.22 |
---|---|
[공통] 배열 (0) | 2022.09.20 |
[공통] 이벤트 (0) | 2022.09.19 |
[공통] 요소 선택 (0) | 2022.09.19 |
[공통] 멤버 (0) | 2022.09.19 |