일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 자바스크립트런타임
- 순수함수
- VirtualDOM
- 주특기첫날
- ReactS.A과제
- CSS
- React상세페이지오류
- HTML
- Maxage
- REACT-CSS
- 쿠키/웹스토리지
- 1주차마무리
- JSX key
- 실전첫WIL
- useRef
- categoryCRUD
- flow차트
- 엄청오래걸림
- JS역사
- 댓글오류수정
- gitpull
- 중간멘토링
- mypage
- 결국&&로해결
- cache(캐시)
- 깃허브 액션
- 부트스트랩컴포넌트5.0
- 미니프로젝트
- 별피라미드
- 브라우저 렌더링과정
- Today
- Total
Suno
혼공스 5챕터 본문
5 - 1 함수의 기본형태
함수는 프로그래밍 문법의 꽃이라고 부를 수 있습니다.
익명함수
함수의 자료형은 function 이며 코드에서 함수를 출력하면 f ( ) { } 라고 출력됩니다.
이때 f 는 함수를 나타냅니다. ( ) 앞에 별다른 이름이 붙어있지 않으면 익명함수 라고 표현합니다.
선언적함수
일반적으로는 이름이 있는 함수를 많이 사용합니다.
다음과 같이 생성한 함수를 선언적 함수라고 합니다.
function 함수 ( ) { }; <<<선언적 함수
조금의 차이는 있지만 선언적 함수는 다음 코드와 같은 기능을 수행합니다.
그차이에 대해서는 235쪽에서 조금 더 알아보겠습니다.
let 함수 = function ( ) { }; <<< 익명함수에 let으로 이름을 붙여줘서 선언적함수와 같은 기능
매개변수와 리턴값
함수를 호출할때 괄호 안에 적는 것을 매개변수라고 합니다.
함수의 최종 결과를 리턴값이라고 부릅니다.
input = 매개변수 , output = 리턴값
최솟값을 구하는 함수
array를 정해주고 output은 array의 첫 요소로 지정해주고
array를 반복문으로 배열안의 숫자들을 차례대로 비교해준다.
그러면서 하나씩 비교하면서 더 작은 값을 output 으로 정해주면
마지막까지 비교했을때 배열안의 모든 숫자 중 가장 작은 수가 output 이 됩니다.
반대로 최대값은 output < item 만 수정해주면 간단합니다.
API 란 무엇인가. (간단하게 살펴보자)
= Application Programming Interface(약속)
= 애플리케이션 프로그램을 만들 때의 약속
여기서 약속은 여러가지 의미로 해석될 수 있습니다.
예를 들면 alert() , console.log() 같은 것을 우리는 정확히 몰라도
alert() 은 알람창을 띄워주고 console.log() 은 콘솔에 값을 나타내 주는걸로 알 수 있습니다.
그렇게 설계자가 정해놨고 우리는 정해진 약속대로 사용합니다.
지금부터 살펴볼 내용은 일반적으로 설계자만 자세하게 사용하는 내용입니다.
그렇기때문에 '이런게 있구나' 하고 눈도장만 찍어두자 (나머지매개변수, 일반매개변수, 클래스고급내용)
나머지 매개변수 : 함수를 만들 때 ( 항상 마지막에!)
처음에는 어렵게 생각들었는데
간단하게 보니 나머지 매개변수를 사용하면 배열이 된다고 이해하면 됩니다.
결과
(2) [1, 2]
(3) [1, 2, 3]
(4) [1, 2, 3, 4]
전개 연산자 : 함수를 호출할 때
결과
# 전개 연산자를 사용한지 않은 경우
[Array(4)]
# 전개 연산자를 사용한 경우
(4) [1, 2, 3, 4]
기본 매개변수
매개변수에 기본값을 지정하여 사용하는 기본 매개변수.
함수 이름 (매개변수 , 매개변수 = 기본값, 매개변수 = 기본값)
기본 매개변수의 활용
#구름님의 급여 정보
- 시급: 8590원
- 근무 시간: 40시간
- 급여: 343600원
#별님의 급여 정보
- 시급: 10000원
- 근무 시간: 40시간
- 급여: 400000원
#인성님의 급여 정보
- 시급: 10000원
- 근무 시간: 52시간
- 급여: 520000원
( 구버전, 최신버전 ) p214
과거에는 컴퓨터 성능때문에 짧은 코드를 선호했다.
하지만 이제는 가독성 좋은 코드를 선호한다.
과거에 쓰였던 코드이면서 지금은 쓰지 않는 코드들이 가끔 보일 수 있다.
그럴때를 위해 미리 한번 과거의 코드들을 눈도장 찍고 언제가 보게 됐을때 이해하면 된다.
구버전에서 가변 매개변수 함수를 구현 할때는 arguments를 활용했다.
구버전에서는 전개 연산자가 없던 시절 apply() 함수를 사용했다.
구버전에서는 기본 매개변수가 없었을때 다음과 같은 코드를 사용해서 구현했다.
확인문제
max([1,2,3,4]) 형태와 max(1,2,3,4) 형태를 모두 입력할 수 있는 max()함수를 만들어보세요.
Array.isArray() 로 배열인지 아닌지 판단하고
배열인 경우와 그렇지 않은경우(숫자인경우) 로 나눠서
output 과 items 를 초기화해주면 된다.