자바스크립트 조건문

모든 언어에서 기초적으로 배우는 “조건문”을 공부하고 정리해보았습니다. 자바스크립트의 조건문은 비교 연산자부터 독특합니다.

비교 연산자와 조건문, 논리 연산자 순으로 포스팅 해보았습니다.

비교 연산자

동등 비교

== 또는 === 연산자를 사용합니다.

==는 값의 동등성을 비교하며, 자동으로 형 변환을 수행합니다.

===는 값과 데이터 타입의 동등성을 비교하며, 형 변환을 수행하지 않습니다.

5 == "5";   // true (동등성 비교, 값만 비교)
5 === "5";  // false (일치성 비교, 값과 타입 모두 비교)

==와 !=는 값만을 비교하므로 예상치 못한 형 변환이 발생할 수 있는 것에 주의해야 합니다.

일반적으로 ===와 !==를 사용하여 값을 비교하는 것이 권장됩니다.

4번 줄 코드와 5번 줄 코드를 보면 숫자 0과 “”빈 문자열, “0” 모두 동일한 것으로 판단하는 것을 볼 수 있습니다.

console.log(0 == [])  // true
console.log("" == [])  // true
console.log("0" == [])  // false 문자열 0은 빈 값이 아님.
console.log(0 == "")  // true
console.log(0 == "0")  // true

console.log(1 == "1")  // true
console.log(1 == 1.0)  // true
console.log(1 == "1.0")  // true 

반면 데이터와 동등성을 모두 비교하는 ===은 정말 데이터 타입과 값이 모두 동일해야 true로 반환 하는 것을 확인 할 수 있습니다.

자바스크립트는 자료형이 int, float을 구분하지 않고 모두 number로 보기 때문에 1===1.0은 true인 것에 유의

console.log(0 === [])  // false
console.log("" === [])  // false
console.log("0" === [])  // false 
console.log(0 === "")  // false
console.log(0 === "0")  // false

console.log(1 === "1")  // false
console.log(1 === 1.0)  // true
console.log(1 === "1.0")  // false 

부등 비교

!= 또는 !== 연산자를 사용합니다.

!=는 값의 부등성을 비교하며, 자동으로 형 변환을 수행합니다.

!==는 값과 데이터 타입의 부등성을 비교하며, 형 변환을 수행하지 않습니다

console.log(10 != "10");    // false (부등성 비교, 값만 비교)
console.log(10 !== "10");   // true (일치성 비교, 값과 타입 모두 비교)

대소 관계 비교

<, >, <=, >= 연산자를 사용합니다

console.log(5 < 10);   // true
console.log(7 >= 5);   // true

조건문

if 문

if, else if, else 문을 사용하여 다양한 조건을 검사 할 수 있습니다.

let z = 0;

if (z > 0) {
  console.log("z는 양수입니다.");
} else if (z < 0) {
  console.log("z는 음수입니다.");
} else {
  console.log("z는 0입니다.");
}

삼항 연산자

간단한 조건문을 한 줄로 표현할 때 사용합니다

기본적인 문법은 아래와 같습니다. 조건이 참이면 값1을 반환하고 거짓이면 값2를 반환합니다.

let result = (조건) ? 값1 : 값2;

아래와 같이 사용할 수 있습니다.

let a = 7;
let result = (a > 5) ? "a는 5보다 큽니다." : "a는 5보다 작거나 같습니다.";
console.log(result);

switch 문

다양한 경우를 처리할 때 사용하며, 각 case에 대한 일치 여부를 검사합니다.

switch는 언어마다 정말 살짝씩 달라서 사용할 때 마다 갸우뚱 하네요…
SQL의 경우 switch when then else end 형태로 사용합니다….ㅎ

let day = "Monday";

switch (day) {
  case "Monday":
    console.log("월요일입니다.");
    break;
  case "Tuesday":
    console.log("화요일입니다.");
    break;
  default:
    console.log("다른 날짜입니다.");
}

논리 연산자

다양한 조건들을 결합하여 평가할 때는 논리 연산자를 사용합니다.

주로 && (논리 AND), || (논리 OR), ! (논리 NOT) 연산자가 사용됩니다.

&&

모든 조건이 참일 때만 전체 표현식이 참이 됩니다.

if (조건1 && 조건2) {
  // 조건1과 조건2가 모두 참일 때 실행되는 코드
}

||

여러 조건 중 하나만 참이라도 전체 표현식이 참이 됩니다.

if (조건1 || 조건2) {
  // 조건1 또는 조건2가 참일 때 실행되는 코드
}

not 연산자

! 연산자는 주어진 조건을 반전시킵니다. 참이면 거짓으로, 거짓이면 참으로 변환됩니다.

NOT 연산자는 특정 조건이 아닌 경우에 코드를 실행하고자 할 때 유용합니다.

if (!조건) {
  // 조건이 거짓일 때 실행되는 코드
}

참고할 만한 글

Leave a Comment

목차