자바스크립트 기초 (6)
⭐️ 비교 연산자
자바스크립트에서는 다양한 비교 연산자를 사용하여 값 또는 표현식을 비교할 수 있습니다.
비교 연산자를 어떤 상황에서 많이 사용하느냐,
함수를 사용할 때 특정 조건에서만 호출되어 기능을 제공해줘야 하는 상황이 많이 있습니다.
그런 상황에서 특정 조건을 설정할 때 비교 연산자를 많이 사용합니다.
예를 들어, 달력을 통해 DB에서 데이터들을 가져오는 함수를 만든다고 가정했을 때
사용자가 입력한 날짜가 시스템 시간보다 더 미래의 날짜라면 DB에는 해당하는 데이터가
없으므로 잘못된 입력을 했다는 알림창을 띄우는 경우가 있습니다.
이렇게 조건문을 통해 비교 연산자 사용 예시를 알아봤습니다.
💫 비교 연산자에는 어떤 것들이 있을까요?
1. 동등 비교 (==) : 동등 비교 연산자 ==는 두 개의 값이 같은지 비교합니다.
데이터 타입의 동등성을 고려하지 않으며, 필요에 따라 자동으로 타입 변환을 수행합니다.
예를 들어, 1 == "1"은 true를 반환합니다.
2. 일치 비교 (===) : 일치 비교 연산자 ===는 값과 데이터 타입 모두를 비교합니다.
즉, 두 개의 값이 정확히 같은지를 비교합니다.
예를 들어, 1 === "1"은 false를 반환합니다.
3. 부등 비교 (!=) : 부등 비교 연산자 !=는 두 개의 값이 다른지 비교합니다.
동등 비교 연산자의 반대입니다.
예를 들어, 1 != 2는 true를 반환합니다.
4. 불일치 비교 (!==) : 불일치 비교 연산자 !==는 값과 데이터 타입 모두를 비교하여 두 개의 값이 정확히 다른지를
판단합니다. 일치 비교 연산자의 반대입니다. 예를 들어, 1 !== "1"은 true를 반환합니다.
5. 대소 비교 (<, >, <=, >=) : 대소 비교 연산자들은 두 개의 값 간의 크기를 비교합니다.
예를 들어, 5 > 3은 true를 반환합니다.
비교 연산자는 불리언 (Boolean) 값을 반환합니다. 비교 결과가 참인 경우 true를 반환하고, 그렇지 않은 경우 false를 반환합니다.
흔히 동등 비교 ==는 느슨한 비교, 일치 비교 ===는 엄격한 비교라고 한다.
주의할 점은 동등 비교 연산자 ==와 부등 비교 연산자 !=는 자동 타입 변환을 수행하기 때문에 예상치 못한 결과를 초래할 수 있으므로, 가능한한 일치 비교 연산자 ===와 불일치 비교 연산자 !==를 사용하는 것이 좋습니다.
⭐️ 원시 타입, 참조 타입
1) 원시 타입(원시값)
Number(숫자) : 정수 및 부동 소수점 숫자를 나타냅니다. ex) 42, 3.14
String(문자열) : 텍스트 데이터를 나타냅니다. ex) "Hello, world!", 'JavaScript'
Boolean(불리언) : true 또는 false 값을 나타냅니다.
null : 값이 없음을 나타내는 특별한 값입니다.
undefined : 값이 할당되지 않은 상태를 나타냅니다.
Symbol(심볼) : 유일하고 변경 불가능한 값을 나타냅니다.
- 원시타입의 데이터는 변수에 직접 값을 할당하며, 해당 변수는 값을 보유합니다.
즉, 원시값은 변수에 복사됩니다. 변수 간의 비교 시, 값 자체를 비교합니다.
2. 참조 타입(참조값)
Object(객체) : 여러 개의 속성과 메서드를 포함하는 컨테이너입니다. ex) {name:'John', age:25}
Array(배열) : 순서가 있는 값들의 리스트입니다. ex) [1,2,3]
Function(함수) : 코드 블록을 포함하는 재사용 가능한 코드 조각입니다.
- 참조 타입의 데이터는 값 대신 메모리에 저장되며, 변수는 해당 메모리 위치를 참조합니다.
따라서 변수 간의 비교 시, 메모리 위치를 비교합니다.
참조 타입은 객체나 배열 등과 같이 복잡한 데이터를 다룰 수 있으며, 변수에 할당되는 것은 참조(메모리 위치)입니다.
반면에 원시타입은 간단한 데이터를 나타내고, 변수에는 실제 값이 직접 저장됩니다.
⭐️ 조건문
- 조건문은 특정 조건이 참인지 거짓인지를 평가하여 다른 코드 블록을 실행하거나 건너뛰는 제어 구조입니다.
조건문은 프로그램의 흐름을 제어하는 데 사용되며, 다양한 상황에 따라 다른 동작을 수행할 수 있습니다.
자바스크립트에서 사용되는 주요한 조건문은 다음과 같습니다:
1. if 문 : if문은 주어진 조건이 참인 경우에 코드 블록을 실행합니다.
Ex) if(조건) {
// 조건이 참인 경우 실행되는 코드
}
2. if...else 문 : if...else 문은 주어진 조건이 참인 경우에는 하나의 코드 블록을 실행하고,
그렇지 않은 경우에는 다른 코드 블록을 실행합니다.
Ex) if (조건) {
// 조건이 참인 경우 실행되는 코드
} else {
// 조건이 거짓인 경우 실행되는 코드
}
3. if...else if...else 문 : if...else if...else문은 여러 개의 조건을 순차적으로 평가하고, 첫 번째로 참인 조건에
해당하는 코드 블록을 실행합니다.
Ex) if (조건1) {
// 조건1이 참인 경우 실행되는 코드
} else if (조건2) {
// 조건2가 참인 경우 실행되는 코드
} else {
// 모든 조건이 거짓인 경우 실행되는 코드
}
4. switch 문 : switch 문은 주어진 표현식의 값에 따라 여러 개의 경우(case)를 비교하고
해당하는 경우에 대한 코드 블록을 실행합니다.
Ex) switch (표현식) {
case 값1: // 값1에 해당하는 경우 실행되는 코드 break;
case 값2: // 값2에 해당하는 경우 실행되는 코드 break;
default: // 모든 경우에 해당하지 않는 경우 실행되는 코드 break;
}
break 안해주면 계속 지 혼자 내려가면서 실행됨