일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- 알고리즘
- 1주차
- 버킷리스트
- 완강
- 숙제
- 스터디
- 4주차
- Todo
- Til
- 쿠키
- CSS
- 자바스크립트는왜그모양일까
- 실전프로젝트
- 생각정리
- 항해99
- DOM
- WIL
- OS
- OperatingSystem
- 화살표함수
- computerscience
- chapter2
- javascript
- javaScript기초
- 3주차
- 5주차
- react
- CS
- HTML
- JS
- Today
- Total
개발캡슐
Javascript기초(2) - 함수/화살표함수/익명함수/구조 분해 할당 본문
Javascript기초(2) - 함수/화살표함수/익명함수/구조 분해 할당
DevGreeny 2022. 9. 24. 01:083. 함수
ㅇ 반복되는 코드를 하나로 묶거나, 의미를 부요하고 역할을 나누기 위해 사용해.
ㅇ 변수 선언, 조건문과 더불어 가장 많이 사용할 문법이야.
ㅇ 기본 형태
function 함수이름(인자1, 인자2, 인자3) {
//명령문
}
함수이름(인수1, 인수2, 인수3); // 명령문에 있는 내용을 실행해.
ㅇ 인자(Parameter 또는 매개변수)
: 함수를 호출할 때 전달받기 위해 지정한 변수를 뜻하고
몇개든 콤마를 이어붙여 입력받을 수 있어.
: 인자에 전달하는 값 그 자체라고 할 수 있어.
ㅇ 함수는 return 키워드로 값을 반환해.
4. 화살표 함수
ㅇ ES6에서 새롭게 추가된 문법인 화살표 함수(Arrow function)
ㅇ 문법의 생김새처럼 화살표 모양을 하고 있어 이러한 이름이 붙었어.
ㅇ 기존의 함수보다 더 간결한 문법으로 함수를 만들 수 있어.
ㅇ 일반 익명 함수 표현식
const sum = function (a, b) {
return a + b;
};
ㅇ 화살표 함수 표현식 : return 생략 형태
여러 줄의 코드를 포함하고 싶을 땐 기본 형태를 써야 해.
const sum = (a, b) => a + b;
ㅇ 화살표 함수 표현식 : 인자 괄호 생략 형태
하나의 인자를 입력받는 경우에 괄호 생략이 가능해.
const hell = a => {
return a;
};
5. 익명 함수
ㅇ 일반 함수와 달라
ㅇ 함수의 이름이 존재하지 않고 변수에 함수를 담아 사용하는 함수야.
ㅇ 변수에 값을 저장하는 방법처럼 변수에 함수를 저장해서 사용해
//일반함수
function dragon() {
console.log("bar");
}
//익명함수
let dragon = function () {
console.log("bar");
}
=> 익명함수는 주로 재사용 되지 않고 한번만 사용되는 함수일 경우에
주로 쓰여.
ㅇ 장점: 일회성인 함수를 일반 함수로 구현해서 불필요한 메모리를 차지하는 걸
방지해서 메모리 낭비를 줄일 수 있어.
ㅇ 딘점: hoisting(호이스팅)이 적용되지 않아.
ㅇ 익명함수의 경우 Hoisting이 적용되지 않아서 오류가 나오는 거야.
ㅇ 예시
hello(); // hello!
function hello() {
console.log("hello!");
}
hello(); // Uncaught ReferenceError: Cannot access 'hello' before initialization 라는 참조오류가 떠
const hello = function() {
console.log("hello!");
}
6. 구조 분해 할당
ㅇ 구조 분해 할당 문법은 배열 or 객체에서 각각 값이나 프로퍼티를
분해해서 손쉽게 개별 변수에 담을 수 있게 해줘.
ㅇ 배열에서의 구조 분해 할당
[100, 200]이 각각 a 와 b에 담겨.
const [a, b] = [100, 200];
console.log(a); //출력: 100
console.log(b); //출력: 200
//혹은 아래와 같이 표현 가능해.
const array = [100, 200]j
const [a, b] = array
console.log(a); //출력: 100
console.log(b); //출력: 200
//a에는 array[0], b에는 array[1] 값이 할당됐어.
ㅇ '객체'에서의 구조 분해 할당
: 배열에서의 구조 분해 대상이 배열의 값이였다면
객체에서는 프로퍼티(property)가 대상이 돼.
const student = {
name : "Harry",
age: 30,
movie : "Harry Potter",
};
const { name, age, movie} = actor
console.log(name); // "Harry"
console.log(age); // 30
console.log(movie); // "Harry Potter"
=> actor라는 객체에서 name, age, movie 등의 property(속성)를
쉽게 뽑아서 사용할 수 있단 얘기야.
'스파르타코딩클럽-항해99_9기 > chap2. Javascript' 카테고리의 다른 글
Chap2_G10 / short Quiz / '1'+ '1'+ 1 + '1' = '1111' (0) | 2022.09.25 |
---|---|
Requirement질답 (0) | 2022.09.24 |
Javascript 기초(2) - 반복문 for문 - for of/for in (0) | 2022.09.24 |
Javascript 기초 문법 (2) - 논리 연산자 &&(AND연산자) OR(OR연산자) (0) | 2022.09.24 |
Javascript 기초(1) - 불리언 연산, 조건문 (0) | 2022.09.24 |