목록자료구조, 알고리즘/JavaScript 기초 문법 (42)
채린씨의 티스토리
* 함수의 정의 - 다양한 방법으로 함수의 정의가 가능하다는 것을 배웠었다. https://cherish-my-codes.tistory.com/entry/21-%ED%95%A8%EC%88%98 21. 함수 * 함수 - 함수는 다수의 명령문을 코드 블록으로 감싸고, 하나의 실행 단위로 만든 코드의 집합 - 즉, 유사한 동작을 하는 코드를 하나로 묶어, 범용성을 확대시킨 블록 코드 - 정의 부분과 호출 cherish-my-codes.tistory.com - 어떤 방식으로 함수를 선언하든 다 잘 작동하긴 하는데, 각 함수의 세부 정보도 확인해보자. - getOwnPropertyDescriptors()를 이용하면 객체의 property에 대한 정보를 모두 얻을 수 있다. - getOwnPropertyDescri..
[문제] - 두 정수를 입력받아 가장 큰 값을 출력해주는 함수를 작성하시오. // Template code function MAX(x, y) { // 구현 필요 } console.log(MAX(0, 3)); // output: 3 console.log(MAX(-1, 5)); // output: 5 console.log(MAX(100, 7)); // output: 100 [나의 풀이] function MAX(x, y) { if (x > y) return x; else return y; } console.log(MAX(0, 3)); // output: 3 console.log(MAX(-1, 5)); // output: 5 console.log(MAX(100, 7)); // output: 100 [정답]
* 콜백 함수 - 콜백 함수(Callback Function): 다른 함수의 매개변수로 전달되어 수행되는 함수 - 고차 함수(Higher-order Function) : 매개변수를 통해 콜백 함수를 받아 호출하는 함수 - 아니 근데 이게 왜 필요한데요.. 그냥 이렇게 하는 거랑 똑같은 결과 아녀..? - 콜백 함수 예제 - ..? ㄴㅇㄱ 이게 왜 필요하냐구요.. 이렇게 하면 되는 거 아냐..? - 설마.. 이렇게 할 수 있어서..? 비슷한 함수를 배열에 때려 박고 for문으로 돌리려고..? * 콜백 함수의 필요성 - 참고: https://sangminem.tistory.com/275 자바스크립트 콜백 함수 예제를 통해 개념 및 원리 쉽게 이해하기 자바스크립트를 배운 지 얼마 안 되신 분이라면 콜백 함수를..
* 재귀 함수 - 함수 스스로 자신을 참조해 호출하면서 동일한 코드가 계속적으로 수행되는 함수 호출 방법 (반복문으로 변환 가능) - 재귀 함수는 특정 조건이 됐을 때 자신을 그만 호출하도록 제한하는 exit code가 필요 - 컴퓨터는 재귀 함수가 호출될 때마다 stack에 차례로 쌓아가며 기록, exit code를 만나서 함수가 실행될 때는 stack에서 하나씩 꺼내가며 실행 - 만약 exit code가 없으면? 계속 반복해서 함수를 호출하다가 stack overflow 발생! - num + (num - 1) + (num - 2) + ... + 0의 값을 출력하는 재귀 함수 - 재귀 함수의 대표! Factorial! - 내가 머리속으로 재귀 함수를 이해하는 방법.. 재귀 함수를 만나면 그게 띠용 하고..
* 함수 - 함수는 다수의 명령문을 코드 블록으로 감싸고, 하나의 실행 단위로 만든 코드의 집합 - 즉, 유사한 동작을 하는 코드를 하나로 묶어, 범용성을 확대시킨 블록 코드 - 정의 부분과 호출 부분으로 구성 - 가급적 한 가지 일만 하며, 매개 변수는 최대 3개 이내로 작성을 권함 - 함수 이름은 필수적 요소이지만, 매개 변수와 반환 결과는 생략 가능 * 함수 정의 - 함수 정의 방법 1: 함수 선언식(Function Declarations) - 가장 권장하는 방법 - 함수 정의 방법 2: 함수 표현식(Function Expressions) - 함수 정의 방법 3: 화살표 함수(Arrow Function) - 함수 표현식과 화살표 함수는 처음 본 구조다. 신기하다!!! * 함수 호출 - 자바스크립트 ..
[문제] - 반복문 for를 이용하여 0부터 10까지 정수 중 짝수의 합을 구한 뒤 출력해주는 코드를 작성하시오. // Template code const UNTIL_NUM = 10; let sum = 0; // 구현 필요 // 0 ~ 10 정수 중 짝수: 10 8 6 4 2 -> 더하면 30 console.log(sum); // output: 30 [나의 풀이] - EZ~ 빨리빨리 넘어가야 해.. 빨리빨리.. const UNTIL_NUM = 10; let sum = 0; for (let i = 0; i 더하면 30 console.log(sum); // output: 30 [정답] - 나의 풀이와 일치 [문제] - for문 두 개를 이용하여 구구단 2 ~ 9단까지 출력해주는 코드를 작성하시오. // Te..
* break - 반복문 수행 시 코드 블록을 탈출할 때 사용되는 식별자 - 다중 반복문일 경우 가장 안쪽의 반복문 종료 - Label(반복문 앞에 콜론과 함께 쓰이는 식별자)을 이용해서 다중 반복문을 한 번에 종료 가능 => 즉, break를 만나면 반복문을 나가버리기! * continue - 반복문 수행 시 코드 블록 실행을 해당 라인에서 중지하고 다시 조건 판단 => 즉, continue를 만나면 아래 코드 싹 무시하고 조건문 다시 판단! * label - 프로그램 내 특정 영역을 지정하여 별도 이름을 붙이는 식별자 - break와 continue를 사용하는 반복문 안에서만 사용 가능하며, break나 continue 지시자 위에 있어야 함 - 그런데, label은 프로그램의 가독성과 로직을 ..
* 반복문 while - 조건문이 참일 때 코드 블록을 계속해서 반복 수행하는 반복문 - for문과 달리 선언문과 증감문 없이 loop를 수행하며, 무한 loop 등을 수행할 때 많이 사용 - 조건문을 코드 블록보다 아래로 옮긴 do ... while 반복문도 존재 (최소 한 번 수행이 필요할 때 많이 사용) ① Test Expression에서 조건문 판단 ② ①에서 판단한 조건문이 참일 경우, Statement Block 실행 (보통 Statement Block 안에서 변수값을 변경하거나 break으로 while문을 빠져나갈 수 있도록 함) ③ Test Expression에서 조건문 판단 ④ ③에서 판단한 조건문이 참일 경우, Statement Block 실행 ... 반복하다가 Test Expressi..