카테고리 없음

[혼공스] 4주차_Chapter 05

랄라베어 2024. 1. 28. 17:29

💙 4주차 진도

Chapter 05: 함수

 

💙 05-1 함수의 기본 형태

1️⃣ 익명 함수 : 이름이 붙어있지 않은 함수

 

2️⃣ 선언적 함수 : 이름이 있는 함수

 

3️⃣ 매개변수와 리턴값

매개변수 : 함수를 호출할 때 괄호 안에 적는 것

리턴값 : 함수의 최종 결과

 

4️⃣ 나머지 매개변수 : 함수가 정해지지 않은 수의 매개변수를 배열로 받을 수 있다.

 

5️⃣ 기본 매개변수 : 매개변수에 기본값을 지정

 

💙 05-2 함수 고급

1️⃣ 콜백 함수 : 매개변수로 전달하는 함수

 

2️⃣ 화살표 함수 : function 키워드 대신 화살표(=>)를 사용

filter() 메소드는 배열을 리턴하므로 map() 메소드를 적용할 수 있고, map() 메소드도 배열을 리턴하므로 forEach() 메소드를 적용할 수 있다. 이렇게 어떤 메소드가 리턴하는 값을 기반으로 해서 함수를 줄줄이 사용하는 것메소드 체이닝 method chaining이라고 한다.

 

3️⃣ 타이머 함수 : 특정 시간마다 또는 특정 시간 이후에 콜백 함수를 호출할 수 있다.

함수 이름 설명
setTimeout(함수, 시간) 특정 시간 후에 함수를 한 번 호출한다.
setInterval(함수, 시간) 특정 시간마다 함수를 호출한다.
clearTimeout(타이머_ID) setTimeout() 함수로 설정한 타이머를 제거한다.
clearInterval(타이머_ID) setInterval() 함수로 설정한 타이머를 제거한다.

 

 

4️⃣ 즉시 호출 함수

변수가 존재하는 범위를 스코프scope라고 부르는데, 이 스코프는 같은 단계에 있을 경우 무조건 충돌이 일어난다. 자바스크립트에서 이러한 스코프 단계를 변경하는 방법은 중괄호를 사용해서 블록을 만들거나, 함수를 생성해서 블록을 만드는 방법이다.

 

5️⃣ 엄격 모드 : 코드를 엄격하게 검사

전체 스크립트에 대한 엄격 모드는 다른 문 앞에 "use strict"; 문을 포함하여 호출된다.

☑️ 모질라 엄격 모드 문서

 

Strict mode - JavaScript | MDN

Callout: 가끔 엄격하지 않은 기본값을 " 느슨한 모드(sloppy mode)"라고 부르기도 합니다. 공식적인 용어는 아니지만 혹시 모르니 알아두세요.

developer.mozilla.org

 

💙 기본 미션

p. 202 <윤년을 확인하는 함수 만들기> 예제를 실행하여 2022년이 윤년인지 확인하는 결과 인증하기

 

☑️ 윤년leap year : 2월을 29일로 둔 해

  • 4로 나누어 떨어지는 해는 윤년이다.
  • 하지만 100으로 나누어 떨어지는 해는 윤년이 아니다.
  • 하지만 400으로 나누어 떨어지는 해는 윤년이다.

💙 선택 미션

p. 240 확인 문제 1번 풀고, 풀이 과정 설명하기

1. filter 함수의 콜백 함수 부분을 채워서 ① 홀수만 추출, ② 100 이하의 수만 추출, ③ 5로 나눈 나머지가 0인 수만 추출해주세요. 그리고 코드의 실행 결과를 적어보세요.

배열 인스턴스의 filter() 메서드는 주어진 배열의 일부에 대한 얕은 복사본을 생성하고, 주어진 배열에서 제공된 함수에 의해 구현된 테스트를 통과한 요소로만 필터링한다. 따라서 배열에서 2로 나눈 나머지가 0이 아닌 홀수만 추출하고, <= 연산자를 통해 100 이하의 수를 추출하고,  나머지 연산자를 통해 5로 나눈 나머지가 0인 수만 추출한다.

 

💙 4주차 회고

이번 주 진도는 프로그래밍의 꽃이라고 할 수 있는 함수였다. 실무에서는 구 자바스크립트를 사용하고 있지만 책에서 최신 자바스크립트에 대한 다양한 예시와 친절한 설명이 나와서 좋았다. 함수 부분은 두고두고 복습해서 완벽히 이해해야겠다.