연산자와 형 변환 (Operators & Type Conversion)
데이터를 계산하고 비교하기 위한 기본 도구들입니다. 특히 자바스크립트는 유연한 언어이기 때문에 암묵적 형 변환이 자주 발생합니다. 버그를 막기 위해 == 대신 ===를 사용하는 것이 필수 권장 사항입니다.
동등 연산자 (==) vs 일치 연산자 (===)
사용 자제
동등 연산자 (==)
값만 비교합니다. 타입이 다르면 강제로 타입을 변환(암묵적 형 변환)하여 비교하므로 예측하기 힘든 버그가 발생합니다.
5 == "5" // true
실무 표준
일치 연산자 (===)
값과 데이터 타입(자료형)까지 모두 정확하게 비교합니다. 실무에서는 항상 이것만 사용하세요.
5 === "5" // false
// 1. 산술 연산자
let a = 10;
let b = 3;
console.log("나눗셈:", a / b); // 3.3333... (정수 나눗셈이 아님)
console.log("나머지:", a % b); // 1 (짝수/홀수 판별 등에 유용)
// 2. 템플릿 리터럴 (백틱 ` 사용 - 문자열 안에 변수 넣기)
let name = "민수";
let age = 20;
console.log(`내 이름은 ${name}이고, 내년엔 ${age + 1}살이 됩니다.`);
// 3. 동등 연산자 (==) vs 일치 연산자 (===)
console.log('5 == "5"의 결과:', 5 == "5"); // true (값만 비교, 강제 형변환 발생)
console.log('5 === "5"의 결과:', 5 === "5"); // false (타입까지 엄격히 비교 - 실무 권장)
// 4. 논리 연산자 (단축 평가)
let isLoggedIn = true;
// && (AND): 앞이 true면 뒤의 값이 결과가 됨
let message = isLoggedIn && "환영합니다!";
console.log(message);
let inputName = null;
// || (OR): 앞이 false 성질(null, undefined, 0, "")이면 뒤의 값이 결과가 됨
let finalName = inputName || "익명 사용자";
console.log(finalName);