본문 바로가기

프론트엔드 블로깅 챌린지/FE

SEB_FE 블로깅 챌린지 _ 7일차 (JavaScript 기초 2)

< 반복문 - for 문 >

 

1. 숫자에서의 for 문

for (초기값; 조건식; 증감식) {
	// 실행할 코드
}
// 초깃값 : 증감식의 반복횟수를 카운트 하는 역할임. for 문 내부에서만 유효함.
// 조건식: for 문의 코드 실행 여부를 결정. true일 경우 실행, false 일경우 중단.
// 증감식: for 문을 실행한 후 초기값 변수를 증/감 시키기 위한 표현식

-> 중첩되는 코드를 반복문을 사용해 간결하게 만드는 것이 목표.

 

 

2. 문자열에서의 for 문

// 1. 문자의 index (순서)
let str = 'abcde';
console.log(str[0]);	 //'a'

// 2. indexOf() 메소드.  특정 문자의 인덱스를 확인할 수 있음.
console.log(str.indexOf('c'));		// 2 

// 3. .length 메소드. index의 길이를 알 수 있음.
console.log(str.length);		// 5

-> 문자열에는 문자의 순서를 알 수 있는 index가 있음.

-> index는 0부터 시작함.  ( 문자열 마지막 문자의 index는 문자열 길이보다 1 작음.)

-> for문은 원하는 사용기능에 따라 n 중으로 중첩해서 사용할 수 있음.

 

 

< 반복문 - while 문 >

 

1. while 문

while (조건식) {
	실행할 식;
	증감식;
}
// 만약 증감식이 없다면 무한루프에 갇힐 수 있음.

-> 조건식에 벗어날때까지 while 내부 코드를 실행.

-> for 문에 비해 반복횟수가 명확하지 않을 때 사용.

 

2. do-while문

do {
	실행 식;
	// 조건이 맞지 않더라도 do-while의 실행식코드가 최소 한 번은 실행됨.
} while (조건식)

-> 조건에 맞지 않더라도 일단 한번은 무조건 내부 코드를 실행하고 싶을 때 사용.

 

< 함수 >

 

1. 함수 정의

//1.  함수선언문으로 정의한 함수
// 함수 선언 후, 외부에서 갖다 쓰는식
function 함수 이름 (매개 변수1, 매개 변수2, ...) { 
	내부 실행 코드 ;
    return 반환값;
};

//2. 함수 표현식으로 정의한 함수
// 변수에 함수를 할당하여 함수를 표현
let 변수 이름 = funtion (매개 변수1, 매개 변수2, ...) {
	내부 실행 코드;
    return 반환값;
    }
       
//3. 함수 호출
함수 이름 (전달인자1, 전달인자2 ...);   // 함수 선언문 호출
변수이름 (전달인자1, 전달인자2 ...);    // 함수 표현식 호출

 -> 입력을 받은 후 함수 내부의 코드를 실행 한 후 결과값을 반환하는 과정의 묶음.

-> 외부에서 입력값을 전달하여 호출 할 수 있고, 입력값으로 함수를 실행한 후 결과를 다시 외부로 반환함.

 -> function 키워드로 함수를 선언 할 수 있음.

 

2. 함수 호출 

 -> 함수 선언문인 경우  : 함수이름(함수 인자1, 함수 인자 2 ...);

 -> 함수 표현식인 경우  : 변수 이름(함수 인자1, 함수 인자 2 ...);

 

 

3. 매개변수와 전달인자.

 -> 매개 변수 : 함수 코드 안에서 변수처럼 취급됨.

 -> 전달 인자 : 함수 호출시 소괄호 안에 넣는 값. 매개변수에 값을 할당 하는 역할임.

 -> 만약 매개 변수가 있는데 전달인자를 입력하지 않으면 매개변수는 undefined로 초기화 됨.

 

 

4. return문

-> 외부에서 전달 받은 매개변수 값으로 함수 내부 코드를 실행 한 후 결과값을 다시 외부에 주는 역할.

-> 함수는 코드를 실행하다가 return을 만나면, 값을 외부로 반환하고 실행을 종료함.

 

 

< 느낀점 >

연습 문제를 풀었을 때, 문제를 읽는 게 가장 헷갈렸다.. 코드를 작성하다가도 뭐였지? 내가 뭘 리턴 해야 되더라? 라는 생각을 했다. 그러다가 체크 포인트 시간에 의사코드를 작성해 보라는 조언을 받았다.

입력과 출력의 각 타입과 조건을 먼저 주석으로 적고 시작하는 것이다.

그러다보니 연습문제를 풀 때 실수가 많이 없어졌다.

 

로봇공학을 배울 때, state diagram과 flow chart를 이용해서 과제를 많이 했었는데 비슷한 느낌으로  연습문제를 풀때 의사코드를 사용하니 한결 수월했다.