if문

뱅기뱅규·2022년 4월 4일
0

if Statement in Javascript

1. if문의 구성

if (조건) {내용}의 형태를 가지고 있으며, 조건의 내용이 true값일때만, 내용이 실행된다. 만약 소괄호내에 있는 조건이 false의 값을 가진다면, 컴퓨터는 내용을 실행시키지 않고, 내용을 건너뛰고 그 다음 코드를 수행한다. 만약 false인 값에도 어떠한 동작을 실행시키고 싶을때는 if문이 끝나는 중괄호 뒤에 else를 쓰고 다시 그에 해당하는 내용을 중괄호내부에 작성한다. else는 if의 내용이 false일때 작동하므로 조건이 따로 필요하지 않다.

다시 정리하면 기본적인 if-else구성은 아래와 같다.

if (조건) {
	조건이 true일때의 내용
} else {
 	if의 조건이 false일때의 내용
}

조건이 세가지 이상이 필요한 경우에는 else if를 사용한다. else if의 뜻을 본다면, 위의 조건이 false이고, 그때 다시 if가 오므로 if뒤에 다른 조건을 적으면 된다.
그때의 구성은 아래와 같다.

if (조건1) {
	조건1이 true일때의 내용
} else if (조건2) {
	조건1이 false이고 조건2가 true일때의 내용
} else {
 	조건1,2가 false일때의 내용
}

조건이 100개 필요하다면, 하나의 if + 98개의 else if + 하나의 else를 통해서 로직을 구성할 수 있다.

2. if문에 들어가는 조건

if문에 들어가는 조건을 작성하기 위해서는 그 조건이 true인지 false인지를 계산해야한다.

2-1. 비교연산자

우리가 수학에서 다루는 '<', '>', '<=', '>='등이 비교연산자이다. 그 뜻은 각각 이렇다.

'<' : 좌항이 우항보다 작다
'>' : 좌항이 우항보다 크다
'<=' : 좌항이 우항보다 작거나 같다
'>=' : 좌항이 우항보다 크거나 같다

비교 연산자는, 문자열(사전순으로 비교)과 숫자(크기로 비교)할때 사용이 된다.

2-2. 일치연산자

2-1에는 좌항과 우항을 비교했지만, 좌항과 우항이 일치하는지를 알기 위해서 일치연산자를 사용한다.
일치연산자는 '==='과 '=='가 있다. '==='는 엄격 일치 연산자로 좌항과 우항이 정확히 일치하는 경우에만 true의 값을 반환하지만, '=='는 추상적인 동등연산자로 완전 일치하지 않더라도 좌항과 우항이 동등해 보일
때, true의 값을 반환하다. 예시로는 아래와 같은 코드가 있다.

if (3 == "3") {
	return true;
}

조건문 안에 일치연산자를 '==='를 사용했으면, data type이 다른 두개의 3이므로 완전 일치가 아니여서 true의 값을 리턴하지 않지만, '=='를 사용하면, 컴퓨터는 "3"이 string의 형태로 되어 있는 number라는 사실을 알고있기에 true의 값을 리턴하게된다.

2-3. 불일치연산자

2-2의 일치연산자랑 반대로, 조건에 넣었을때, 같지 않음을 비교하는 연산자이다. '!=='처럼 표시를 하고 좌항과 우항이 일치하지 않을때 true의 값을 반환한다.

2-4. 논리연산자

조건은 다르나 내용이 같은 로직을 구현할때, 하나하나 else if로 치는것이 비효율적이기에 만약 내용이 같으면 조건이 같으면 코드의 길이를 줄일 수 있다. 또한 조건이 두개여서 둘다 만족할 경우 이 두조건을 연결할 연산자가 필요하다. 그때의 연산자를 논리연산자라고 한다.
논리연산자에는 조건A 그리고 조건B를 연결하는 '&&'와 조건A 또는 조건B를 연결하는 '||'가 있다.
이들이 같이 쓰일때 컴퓨터는 좌에서 우로 계산을 하기 때문에 뒤에 나오지만 먼저 처리해야하는 로직이 있으면 소괄호를 쳐야한다.

0개의 댓글