Javascript

[Javascript] 조건문, 반복문, 함수

JeanneLee57 2023. 2. 21. 23:25
1. 조건문

1-1. if ... else문

1-2. switch문

2. 반복문

2-1. for문

2-2. while문

3. 함수

3-1. 함수 정의

3-2. 함수 호출

 

 

1. 조건문

조건문은 주어진 조건식이 참인지 거짓인지에 따라 실행할 코드 블록을 지정하는 것이다.

자바스크립트의 조건문으로는 if ... else문과 switch문이 있다.

 

1-1. if ... else문

if(조건식) {
  // 조건식이 참일 때 실행할 코드 블록
} else {
  // 조건식이 거짓일 때 실행할 코드 블록
}

if ... else문에 조건을 추가하기 위해서는 else if를 사용한다.

if(조건식) {
  // 조건식1이 참일 때 실행할 코드 블록
} else if{
  //조건식2가 참일 때 실행할 코드 블록
} else {
  //조건식1과 2가 모두 거짓일 때 실행할 코드 블록
}

else if문과 else문은 선택 사항으로, 사용할 수도 있고 사용하지 않을 수도 있다.

 

1-2. switch문

switch(변수) {
 case 값1:
   // 주어진 변수와 값1이 일치하면 실행될 코드 블록
 case 값2:
   // 주어진 변수 값2가 일치하면 실행될 코드 블록
 default:
   // 주어진 변수와 일치하는 표현식이 없을 때 실행될 코드 블록
}

switch문에서 default문은 선택 사항으로, 사용할 수도 있고 사용하지 않을 수도 있다.

 

1-3. 언제 if문을 쓰고 언제 switch문을 쓸까?

switch문은 if ... else문에 비해 문법이 복잡하기 때문에 if ... else문으로 해결할 수 있다면 그렇게 하는 것이 좋다.

조건이 많아서 if ... else문으로 해결하기 어려울 때 switch문을 활용한다.

 

 

2. 반복문

조건이 참인 동안 정해진 코드 블록을  반복 실행한다.

 

2-1. for문

for(초기식; 조건식; 증감식){
 조건식이 참인 경우 반복 실행될 코드
}

초기식은 반복문이 시작될 때 딱 한 번 실행된다. 보통 반복문에서 사용될 변수를 초기화하는 데 사용된다.

조건식은 매 반복마다 평가되는 식으로, true인 동안에는 반복문이 실행된다.

증감식은 매 반복마다 실행되는 코드로, 사용된 변수를 증가 또는 감소시키는 데 사용된다.

 

2-2. while문

while(조건식) {
  // 조건이 참일 동안 실행될 반복문
}

while문을 작성할 때는 조건식이 항상 참이 되어 무한루프가 실행되지 않도록 주의해야 한다.

 

do ... while문을 통해 코드 블록을 먼저 실행하고 조건식을 평가할 수도 있다.

do {
  // 실행될 코드
} while(조건문)

 

2-3. 언제 for문을 쓰고 언제 while문을 쓸까?

for문은 반복 횟수가 명확할 때 주로 사용하고 while문은 반복 횟수가 불명확할 때 사용한다.

또, 반복문을 중첩해서 사용할 때는 주로 for문을 사용한다.

 

3. 함수

입력값을 받아 일련의 과정을 거쳐 출력값을 내보내는 과정을 정의한 것.

일련의 과정을 정해 놓고 필요할 때마다 호출해서 사용할 수 있으므로 코드의 재사용성이 높아진다.

함수를 미리 정의하는 함수 정의와 함수 실행을 지시하는 함수 호출의 과정을 거친다.

 

3-1. 함수 정의

- 함수 선언문

function 함수이름(매개변수1, 매개변수2){
  // 실행할 코드
}

- 함수 표현식

var x = function (매개변수1, 매개변수2) {
  // 실행할 코드
}
⚠︎ 함수 선언문과 함수 표현식의 차이

… 함수 선언문으로 정의한 함수와 함수 표현식으로 정의한 함수의 생성 시점이 다르기 때문이다. …
함수 선언문으로 함수를 정의하면 런타임 이전에 함수 객체가 먼저 생성된다. 그리고 자바스크립트 엔진은 함수 이름과 동일한 이름의 식별자를 암묵적으로 생성하고 생성된 함수 객체를 할당한다. …
함수 표현식은 변수 선언문과 변수 할당문을 한 번에 기술한 축약 표현과 동일하게 동작한다. 변수 선언은 런타임 이전에 실행되어 undefined로 초기화되지만 변수 할당문의 값은 할당문이 실행되는 시점, 즉 런타임에 평가되므로 함수 표현식의 함수 리터럴도 함수 할당문이 실행되는 시점에 평가되어 함수 객체가 된다.

— ⟪모던 자바스크립트 deep dive⟫ 12.4.3 함수 생성 시점과 함수 호이스팅(p.165) 

 

3-2. 함수 호출

지정한 함수명 뒤에 한 쌍의 소괄호(함수 호출 연산자)를 붙여서 함수를 호출한다.

함수를 정의할 때 소괄호 안에는 매개변수(parameter)를 넣어서 함수 코드 블록 안에서 변수로 사용한다.

함수를 호출할 때 소괄호 안에 전달인자(argument)를 넣어서 매개변수에 값을 할당한다.

 

선언된 매개변수는 함수 안에서만 사용할 수 있다.

마찬가지로 함수 안에서 선언된 변수는 함수 안에서만 사용할 수 있다.