자바스크립트에서 연산자 종류와 활용법 (산술, 비교, 논리 연산자)

안녕하세요! 😊 오늘은 자바스크립트의 꽃이라고 할 수 있는 연산자에 대해 함께 알아보는 시간을 가져보려고 해요. 마치 요리할 때 필요한 다양한 도구들처럼, 자바스크립트에서도 산술, 비교, 논리 연산자정말 필수적인 요소들이랍니다. 이 친구들이 없으면 코드를 작성하는 게 얼마나 답답할지 상상도 안 돼요! 😅

혹시 자바스크립트가 처음이신가요? 걱정 마세요! 🤗 제가 여러분들을 위해 자바스크립트 산술 연산자 이해하기부터 비교 연산자와 조건문 활용, 그리고 논리 연산자로 코드 단순화하기까지 차근차근 설명해 드릴게요. 마지막에는 실제 예제로 연산자 활용법 익히기까지 준비했으니, 자바스크립트 연산자 마스터가 되는 지름길, 함께 걸어볼까요? 😉

 

 

자바스크립트 산술 연산자 이해하기

자바스크립트로 코딩하다 보면 숫자 다루는 일이 정말 많죠? 마치 요리할 때 간 맞추듯이 섬세하게 숫자들을 조절해야 원하는 결과를 얻을 수 있어요. 그 핵심 역할을 하는 게 바로 산술 연산자랍니다! 덧셈, 뺄셈처럼 우리에게 익숙한 연산자부터 나머지 연산, 증감 연산처럼 프로그래밍에 특화된 연산자까지, 자바스크립트는 다양한 산술 연산자를 제공해요. 이 친구들을 잘 활용하면 복잡한 계산도 훨씬 간결하고 효율적으로 처리할 수 있답니다. 자, 그럼 지금부터 자바스크립트 산술 연산자의 세계를 탐험해 볼까요?

덧셈 연산자 (+)

두 개의 숫자를 더하는 데 사용해요. 예를 들어 5 + 3의 결과는 8이죠. 문자열을 연결하는 데에도 사용할 수 있는데, 'Hello' + ' ' + 'World'처럼 사용하면 ‘Hello World’라는 새로운 문자열을 만들 수 있어요! 신기하죠? 숫자와 문자열을 함께 사용하면 문자열 연결로 처리되니 주의해야 해요. 5 + '3''53'이 된답니다.

뺄셈 연산자 (-)

두 개의 숫자를 빼는 데 사용해요. 10 - 2의 결과는 당연히 8이겠죠? 뺄셈 연산자는 숫자 앞에 붙여서 음수를 나타낼 수도 있어요. -5처럼요!

곱셈 연산자 (*)

두 개의 숫자를 곱하는 데 사용해요. 4 * 28이에요. 곱셈은 덧셈보다 연산 우선순위가 높다는 것도 기억해 두면 좋겠죠? 2 + 3 * 414가 된답니다. (3 곱하기 4를 먼저 계산하고, 그 결과에 2를 더하기 때문이에요!)

나눗셈 연산자 (/)

두 개의 숫자를 나누는 데 사용되고, 결과는 몫으로 나와요. 10 / 25이고, 10 / 33.3333333333333335와 같이 소수점까지 표시돼요. 0으로 나누는 것은 정의되지 않으니 절대 시도하지 마세요! (자바스크립트가 Infinity라는 값을 반환하지만, 이 값으로는 정상적인 계산을 진행할 수 없어요~!)

나머지 연산자 (%)

두 개의 숫자를 나눈 후 나머지를 구하는 데 사용해요. 10 % 3의 결과는 1이에요. 짝수와 홀수를 구분하거나, 주기적인 패턴을 만들 때 아주 유용하게 쓰인답니다. 게임 프로그래밍에서도 자주 활용되는 연산자예요! 예를 들어, 캐릭터 애니메이션 프레임을 순환시키거나 특정 시간 간격으로 이벤트를 발생시킬 때 사용할 수 있어요.

증가 연산자 (++)

변수의 값을 1 증가시켜요. let num = 5; num++; 이렇게 하면 num의 값은 6이 돼요. ++num처럼 변수 앞에 붙일 수도 있는데, 이 경우에는 값이 증가된 후에 다른 연산이 수행된다는 미묘한 차이가 있어요. let num = 5; let result = ++num + 2; 이렇게 하면 result8이 된답니다. (num이 먼저 6이 되고, 그 다음에 2를 더하기 때문이에요.)

감소 연산자 (–)

증가 연산자와 반대로, 변수의 값을 1 감소시켜요. let num = 5; num--; 이렇게 하면 num의 값은 4가 돼요. 증가 연산자처럼 --num 형태로도 사용할 수 있고, 역시 값이 감소된 후에 다른 연산이 수행된다는 점을 기억해 두세요!

연산자 우선순위

자바스크립트에서 산술 연산자는 곱셈, 나눗셈, 나머지 연산이 덧셈, 뺄셈보다 우선순위가 높다는 점을 기억해 두는 것이 중요해요! 괄호 ()를 사용하면 연산 순서를 명확하게 지정할 수 있으니, 복잡한 계산식을 작성할 때는 괄호를 적극적으로 활용하는 것이 좋답니다. 예를 들어, (2 + 3) * 420이 되지만, 2 + 3 * 414가 돼요. 괄호 하나로 결과가 완전히 달라지죠?

자, 이제 자바스크립트 산술 연산자에 대해 좀 더 잘 이해하게 되었나요? 이 친구들을 잘 활용하면 코드를 훨씬 간결하고 효율적으로 작성할 수 있을 거예요! 다음에는 비교 연산자에 대해 알아볼 텐데, 벌써부터 기대되네요!

 

비교 연산자와 조건문 활용

자바스크립트의 꽃이라고도 할 수 있는 비교 연산자와 조건문에 대해 드디어 알아볼 시간이에요! ✨ 앞에서 산술 연산자로 숫자들을 가지고 놀았다면, 이번에는 조건에 따라 코드의 흐름을 제어하는 방법을 배워볼 거예요. 마치 코드에 생각하는 힘을 불어넣는 것 같지 않나요? 🤔 자, 그럼 마법 같은 여정을 시작해 볼까요~?

비교 연산자

비교 연산자는 두 값을 비교하여 참(true) 또는 거짓(false)을 반환하는 연산자예요. “같다”, “크다”, “작다” 등의 비교를 수행하죠. 마치 저울처럼 말이에요!⚖️ 자바스크립트에서는 == (동등), === (일치), != (부등), !== (불일치), > (초과), < (미만), >= (이상), <= (이하)와 같은 다양한 비교 연산자를 제공하고 있어요. 풍성하죠? 특히, ===== 의 차이점은 굉장히 중요한데, ===타입까지 엄격하게 비교한다는 점! 꼭 기억해 두세요! 💯

예를 들어, 5 == "5"true 를 반환하지만, 5 === "5"false 를 반환해요. 숫자 5와 문자열 “5”는 값은 같지만 타입이 다르기 때문이죠! 이런 작은 차이가 프로그램 전체에 큰 영향을 미칠 수 있으니 항상 주의해야 해요.⚠️

조건문

이제 본격적으로 조건문을 활용해 볼까요? 조건문은 특정 조건에 따라 코드 블록을 실행할지 결정하는 제어문이에요. 자바스크립트에서 가장 많이 사용되는 조건문은 if, else if, else 예요. if 문은 조건이 참이면 코드 블록을 실행하고, 거짓이면 건너뛰죠. else if 는 첫 번째 if 조건이 거짓일 경우 추가적인 조건을 검사하고, else 는 모든 조건이 거짓일 경우 실행되는 코드 블록을 정의해요. 마치 여러 갈래 길에서 이정표를 따라가는 것과 같아요. 🧭

조건문 예시: 투표 가능 여부 판단

간단한 예제를 통해 살펴볼게요. 사용자의 나이를 입력받아 투표 가능 여부를 판단하는 코드를 작성해 보겠습니다.

let age = prompt("나이를 입력해주세요."); // 사용자에게 나이 입력받기
age = Number(age); // 입력받은 값을 숫자로 변환

if (age >= 18) {
  console.log("투표 가능합니다! 🎉");
} else {
  console.log("투표할 수 없습니다. 😥");
}

이 코드에서는 prompt() 함수를 사용하여 사용자에게 나이를 입력받고, Number() 함수를 사용하여 입력값을 숫자로 변환했어요. if 문은 age 가 18 이상인지 확인하고, 조건이 참이면 “투표 가능합니다!” 메시지를 출력하고, 거짓이면 “투표할 수 없습니다.” 메시지를 출력해요. 참 쉽죠? 😊

else if 활용: 학점 등급 출력

else if 를 사용하여 더 복잡한 조건을 처리할 수도 있어요. 예를 들어, 학점을 입력받아 등급을 출력하는 코드를 작성해 보겠습니다.

let score = prompt("점수를 입력해주세요.");
score = Number(score);

if (score >= 90) {
  console.log("A 등급입니다! 👍");
} else if (score >= 80) {
  console.log("B 등급입니다!👏");
} else if (score >= 70) {
  console.log("C 등급입니다.");
} else {
  console.log("D 등급입니다.. 😭");
}

이 코드에서는 점수에 따라 A, B, C, D 등급을 출력해요. else if 를 사용하여 여러 조건을 순차적으로 검사하고, 해당하는 조건의 코드 블록만 실행되도록 했어요. 만약 모든 조건이 거짓이면 else 블록이 실행되겠죠?

비교 연산자와 조건문의 활용

비교 연산자와 조건문을 함께 사용하면 코드에 다양한 논리를 구현할 수 있어요. 예를 들어, 로그인 기능을 구현할 때 사용자 이름과 비밀번호가 일치하는지 확인하거나, 게임에서 특정 조건을 만족하면 아이템을 획득하게 하는 등 다양한 상황에서 활용할 수 있죠. 자바스크립트의 강력한 기능 중 하나라고 할 수 있어요! 💪

비교 연산자와 조건문은 자바스크립트 프로그래밍의 기본이자 핵심이에요. 이 개념들을 잘 이해하고 활용하면 더욱 효율적이고 유연한 코드를 작성할 수 있을 거예요. 다음에는 논리 연산자에 대해 알아볼 텐데, 더욱 흥미진진한 내용들이 기다리고 있으니 기대해 주세요! 😉

 

논리 연산자로 코드 단순화하기

자바스크립트에서 복잡한 조건문을 다룰 때, 논리 연산자는 마치 마법처럼 코드를 깔끔하게 정리해주는 강력한 도구예요! 마치 엉킨 실타래를 싹둑 잘라 정리하는 느낌이랄까요? 😊 논리 연산자는 여러 조건식을 결합하여 참(true) 또는 거짓(false) 값을 반환하는데, 이 덕분에 코드의 가독성과 효율성을 높일 수 있답니다. 자, 그럼 논리 연산자의 세계로 함께 떠나볼까요~?

논리 연산자의 종류

논리 연산자에는 AND(&&), OR(||), NOT(!) 이렇게 세 가지 주요 유형이 있어요. 각각 어떤 역할을 하는지, 어떤 상황에서 유용하게 쓰이는지 자세히 알아보도록 하겠습니다!

1. AND 연산자 (&&): 모든 조건이 참일 때만 참!

AND 연산자는 둘 이상의 조건을 모두 만족해야만 참(true)을 반환해요. 마치 엄격한 심사위원 같죠? 🤔 조건 중 하나라도 거짓(false)이면, 전체 결과는 가차 없이 거짓이 됩니다. 예를 들어, 사용자의 로그인을 처리할 때 아이디와 비밀번호가 모두 일치해야 로그인이 성공하는 경우를 생각해 보세요. 이때 AND 연산자를 사용하면 간결하게 표현할 수 있어요.

let userId = "test";
let userPw = "1234";

if (userId === "test" && userPw === "1234") {
  console.log("로그인 성공!");
} else {
  console.log("로그인 실패! 아이디 또는 비밀번호를 확인해주세요.");
}

2. OR 연산자 (||): 하나라도 참이면 참!

OR 연산자는 조건 중 하나라도 참이면 전체 결과가 참이 되는, 아주 관대한 친구예요. 😄 예를 들어, 특정 상품을 구매할 때 쿠폰 코드 A 또는 쿠폰 코드 B를 사용할 수 있다면 OR 연산자를 사용해서 쉽게 표현할 수 있겠죠?

let couponCode = "SUMMER2023";

if (couponCode === "SUMMER2023" || couponCode === "SPRING2023") {
  console.log("쿠폰 적용 완료! 할인된 가격으로 구매하세요~");
} else {
  console.log("유효하지 않은 쿠폰 코드입니다.");
}

3. NOT 연산자 (!): 참과 거짓을 뒤집어요!

NOT 연산자는 조건의 결과를 반대로 뒤집는, 반전의 마법사예요! ✨ 참(true)은 거짓(false)으로, 거짓(false)은 참(true)으로 바꿔버리죠. 예를 들어, 사용자가 로그인하지 않은 상태인지 확인하려면 NOT 연산자를 사용해서 간단하게 표현할 수 있습니다.

let isLoggedIn = false;

if (!isLoggedIn) {
  console.log("로그인이 필요합니다. 로그인 페이지로 이동합니다.");
} else {
  console.log("이미 로그인되어 있습니다. 메인 페이지로 이동합니다.");
}

4. 복잡한 조건 다루기: 연산자 조합하기!

실제 개발에서는 여러 논리 연산자를 조합해서 더욱 복잡한 조건을 표현해야 하는 경우가 많아요. 🤯 이때는 연산자의 우선순위를 잘 이해하고 괄호를 적절히 사용해서 의도한 대로 동작하도록 해야 합니다. 예를 들어, 특정 나이 범위에 속하고 특정 도시에 거주하는 사용자를 찾는 조건은 다음과 같이 표현할 수 있어요.

let age = 25;
let city = "Seoul";

if ((age >= 20 && age <= 30) && (city === "Seoul" || city === "Busan")) {
  console.log("조건에 맞는 사용자입니다!");
} else {
  console.log("조건에 맞지 않는 사용자입니다.");
}

5. 단축 평가: 효율적인 코드 작성!

자바스크립트의 논리 연산자는 단축 평가(short-circuit evaluation)를 지원해요. 😮 AND 연산자의 경우, 첫 번째 조건이 거짓이면 두 번째 조건은 평가하지 않고 바로 거짓을 반환합니다. OR 연산자는 첫 번째 조건이 참이면 두 번째 조건은 평가하지 않고 바로 참을 반환하죠. 이러한 특징을 활용하면 불필요한 연산을 줄여 코드의 성능을 향상시킬 수 있답니다!

let value1 = 0;
let value2 = 10;

if (value1 && value2 / value1 > 2) { // value1이 0이므로 value2 / value1은 실행되지 않아 에러 발생X
  console.log("조건 만족");
}


if (value1 || value2 > 5) { // value1이 0이지만 value2 > 5가 참이므로 전체 결과는 참
  console.log("조건 만족");
}

논리 연산자는 코드를 간결하고 효율적으로 만들어주는 마법 같은 도구예요. 다양한 조합과 단축 평가를 활용해서 여러분의 코드를 더욱 멋지게 만들어보세요! 😉 다음에는 더욱 흥미로운 주제로 찾아뵙겠습니다!

 

실제 예제로 연산자 활용법 익히기

자, 이제 드디어! 앞에서 배운 산술, 비교, 논리 연산자들을 실제로 활용하는 예제들을 살펴볼 시간이에요! 두근두근?! 단순한 개념 설명만으론 감이 잘 안 왔던 분들도 걱정 마세요~ 실제 코드를 통해 어떻게 써먹는지 딱! 보면 "아하!" 하고 이해가 쏙쏙 될 거예요. ^^

1. 쇼핑 카트 계산하기

온라인 쇼핑몰에서 장바구니에 담긴 상품들의 총 금액을 계산하는 예제를 생각해 봅시다. 상품 가격, 수량, 할인율 등을 변수로 설정하고, 산술 연산자들을 활용하여 최종 결제 금액을 계산할 수 있어요. 예를 들어, 상품 가격이 25,000원이고 수량이 3개, 할인율이 10%라면? 최종 금액은 (25000 * 3) * (1 - 0.1) = 67,500원! 간단하죠? 여기에 배송비 추가, 쿠폰 적용 등 조금 더 복잡한 로직을 추가할 수도 있답니다. 이때도 물론 산술 연산자들이 핵심적인 역할을 하겠죠?

const productPrice = 25000;
const quantity = 3;
const discountRate = 0.1;

const totalPrice = (productPrice * quantity) * (1 - discountRate);

console.log("최종 결제 금액:", totalPrice); // 출력: 최종 결제 금액: 67500

2. 로그인 유효성 검사

로그인 화면에서 사용자가 입력한 아이디와 비밀번호가 유효한지 확인하는 로직에도 비교 연산자와 논리 연산자가 필수적이에요! 데이터베이스에 저장된 아이디, 비밀번호와 사용자 입력값을 비교하고, 두 값이 모두 일치하는 경우에만 로그인을 허용해야 하잖아요? 이때 '같다(===)' 비교 연산자와 '그리고(&&)' 논리 연산자를 조합해서 사용할 수 있답니다. 만약 아이디 또는 비밀번호 중 하나라도 틀렸다면? 로그인 실패 메시지를 출력하고 다시 입력받도록 유도해야겠죠?!

const storedId = "user123";
const storedPassword = "password456";

const inputId = prompt("아이디를 입력하세요.");
const inputPassword = prompt("비밀번호를 입력하세요.");

if (inputId === storedId && inputPassword === storedPassword) {
  console.log("로그인 성공!");
} else {
  console.log("아이디 또는 비밀번호가 일치하지 않습니다.");
}

3. 게임 레벨업 시스템

게임에서 사용자의 경험치를 기반으로 레벨을 올리는 로직을 구현한다고 생각해 보세요. 경험치가 특정 값을 넘을 때마다 레벨이 상승하고, 레벨에 따라 새로운 스킬이나 아이템이 해제되는 방식이죠! 이때 비교 연산자와 논리 연산자를 조합하여 레벨업 조건을 설정할 수 있어요. 예를 들어, 현재 레벨이 5이고 경험치가 1000 이상이면 레벨업! 그리고 레벨이 10 이상이면 특정 스킬이 해제되는 식으로 말이죠~

let level = 5;
let experience = 1200;

if (experience >= 1000) {
  level++; // 레벨업!
  console.log("레벨업! 현재 레벨:", level);
}

if (level >= 10) {
  console.log("새로운 스킬 해제!");
}

4. 날짜 및 시간 계산

자바스크립트의 Date 객체와 산술 연산자를 활용하면 날짜와 시간 계산도 간편하게 처리할 수 있어요. 현재 시간으로부터 특정 시간 이후의 날짜를 계산하거나, 두 날짜 사이의 차이를 구하는 등 다양한 작업이 가능하답니다. 예를 들어, 현재 시간으로부터 3일 후의 날짜를 계산하려면 어떻게 해야 할까요? Date 객체와 밀리초 단위의 시간 계산을 활용하면 쉽게 구할 수 있어요! 3일은 3 * 24 * 60 * 60 * 1000 밀리초니까요!

const now = new Date();
const threeDaysLater = new Date(now.getTime() + 3 * 24 * 60 * 60 * 1000);

console.log("현재 시간:", now);
console.log("3일 후:", threeDaysLater);

5. 복합적인 조건 처리

실제 웹 애플리케이션에서는 여러 조건을 조합하여 복잡한 로직을 구현해야 하는 경우가 많아요. 예를 들어, 특정 상품을 구매할 수 있는 조건이 '로그인 상태이고, 포인트가 1000점 이상이며, 상품 재고가 있는 경우'라고 가정해 보세요. 이런 복합적인 조건을 처리할 때 논리 연산자(&&, ||, !)는 정말 유용하게 활용될 수 있답니다! 각 조건을 개별적으로 검사하고 논리 연산자로 연결하여 최종 결과를 도출하는 거죠.

const isLoggedIn = true;
const userPoints = 1500;
const productInStock = true;

if (isLoggedIn && userPoints >= 1000 && productInStock) {
  console.log("상품 구매 가능!");
} else {
  console.log("상품 구매 조건을 만족하지 않습니다.");
}

이처럼 산술, 비교, 논리 연산자들을 적절히 활용하면 다양한 상황에 맞는 로직을 효율적으로 구현할 수 있어요! 이 외에도 훨씬 더 많은 활용 예시들이 있지만, 오늘은 여기까지만 살펴보도록 할게요~ 이제 여러분도 직접 다양한 예제를 만들어보고 연산자 활용법을 익혀보세요! 화이팅! ^^!

 

자바스크립트의 마법 같은 세계, 어떠셨나요? 산술, 비교, 논리 연산자! 이 친구들만 잘 알아둬도 코딩 실력이 쑥쑥 자라나는 걸 느낄 수 있을 거예요. 마치 요리 레시피처럼 말이죠! 재료(데이터)와 적절한 양념(연산자)만 있으면 맛있는 요리(프로그램)가 뚝딱 완성되잖아요. 처음엔 조금 어려워 보여도 몇 번 연습하다 보면 금세 익숙해질 거예요. 오늘 배운 내용을 바탕으로 여러분만의 특별한 자바스크립트 레시피를 만들어보는 건 어떨까요? 다음에 또 재미있는 이야기로 만나요!

 


코멘트

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다