반응형
안녕하세요, 윌입니다.
이번엔 비교 연산자에 대한 정리입니다.
자바스크립트에서 비교 연산자는 두 값의 관계를 비교하여 결과를 반환하는 연산자입니다.
비교 연산자는 주로 조건문이나 반복문에서 많이 사용됩니다.
자바스크립트에는 여러 가지 비교 연산자가 있으며, 각각의 의미와 용법은 다음과 같습니다:
1. 동등 연산자 (==)
두 값이 같은지 비교하며, 필요에 따라 형 변환을 수행합니다.
console.log(5 == '5'); // true (숫자와 문자열을 비교하며 형 변환이 발생)
console.log(0 == false); // true (숫자 0과 불리언 값을 비교하며 형 변환이 발생)
2. 일치 연산자 (===)
두 값이 같은지 비교하며, 형 변환을 수행하지 않습니다. 값과 자료형이 모두 같아야 합니다.
console.log(5 === '5'); // false (형 변환을 하지 않기 때문에 다름)
console.log(0 === false); // false (자료형이 다르기 때문에 다름)
console.log(5 === 5); // true (값과 자료형이 모두 같음)
3. 부등 연산자 (!=)
두 값이 다른지 비교하며, 필요에 따라 형 변환을 수행합니다.
console.log(5 != '5'); // false (형 변환 후 값이 같음)
console.log(0 != false); // false (형 변환 후 값이 같음)
4. 불일치 연산자 (!==)
두 값이 다른지 비교하며, 형 변환을 수행하지 않습니다. 값과 자료형이 모두 달라야 합니다.
console.log(5 !== '5'); // true (형 변환을 하지 않기 때문에 다름)
console.log(0 !== false); // true (자료형이 다르기 때문에 다름)
console.log(5 !== 5); // false (값과 자료형이 모두 같음)
5. 크다 (>)
왼쪽 값이 오른쪽 값보다 큰지 비교합니다.
console.log(10 > 5); // true
console.log(5 > 10); // false
6. 크거나 같다 (>=)
왼쪽 값이 오른쪽 값보다 크거나 같은지 비교합니다.
console.log(10 >= 5); // true
console.log(5 >= 5); // true
console.log(5 >= 10); // false
7. 작다 (<)
왼쪽 값이 오른쪽 값보다 작은지 비교합니다.
console.log(5 < 10); // true
console.log(10 < 5); // false
8. 작거나 같다 (<=)
왼쪽 값이 오른쪽 값보다 작거나 같은지 비교합니다.
console.log(5 <= 10); // true
console.log(5 <= 5); // true
console.log(10 <= 5); // false
9. 객체 비교
객체 비교 시에는 두 객체가 동일한 객체인지 (참조가 같은지) 비교합니다.
값이 같더라도 참조하는 주소가 다르면 false가 됩니다.
let obj1 = { name: 'Alice' };
let obj2 = { name: 'Alice' };
let obj3 = obj1;
console.log(obj1 == obj2); // false (서로 다른 객체)
console.log(obj1 === obj2); // false (서로 다른 객체)
console.log(obj1 === obj3); // true (같은 객체)
요약
- == : 값이 같은지 비교 (형 변환 수행)
- === : 값과 자료형이 같은지 비교 (형 변환 수행하지 않음)
- != : 값이 다른지 비교 (형 변환 수행)
- !== : 값과 자료형이 다른지 비교 (형 변환 수행하지 않음)
- > : 왼쪽 값이 오른쪽 값보다 큰지 비교
- >= : 왼쪽 값이 오른쪽 값보다 크거나 같은지 비교
- < : 왼쪽 값이 오른쪽 값보다 작은지 비교
- <= : 왼쪽 값이 오른쪽 값보다 작거나 같은지 비교
이러한 비교 연산자들은 조건문 (if, else if, else)이나 반복문 (for, while) 등에서 자주 사용됩니다. 각각의 연산자가 어떻게 동작하는지 이해하고 사용하는 것이 중요합니다.
반응형
'JavaScript' 카테고리의 다른 글
[Typescript] 타입 가드란? 타입 가드 개념과 쓰는 이유 예시로 파헤치기 (0) | 2024.10.06 |
---|---|
[JavaScript] undefined vs null vs NaN 파헤치기 (0) | 2024.07.09 |
템플릿 리터럴(Template Literal)이란? (0) | 2024.07.05 |
리터럴(Literal)과 변수(Variable)의 차이는 무엇인가? (0) | 2024.07.05 |
JavaScript 표현식과 문 (0) | 2022.11.23 |