티스토리 뷰

목차



    반응형

    프로그래밍을 처음 배울 때, 가장 기본적이면서도 중요한 개념 중 하나가 연산자입니다. 연산자는 데이터를 다루고, 계산을 하고, 결정을 내리는 등 다양한 역할을 합니다. JavaScript에서도 연산자는 필수적인 도구이며, 이를 잘 이해하면 더 능숙하게 코드를 작성할 수 있습니다.

     

    이번 포스팅에서는 JavaScript에서 가장 많이 사용되는 연산자들을 살펴보고, 각각이 어떤 역할을 하는지 알아보겠습니다.

     

     

    1. 연산자란 무엇인가요?

    먼저, 연산자란 무엇인지부터 간단히 정의해보겠습니다. 연산자는 변수나 값에 대해 계산, 비교, 논리적 판단 등을 수행하는 기호나 키워드를 말합니다. 예를 들어, 덧셈을 하는 + 기호도 연산자의 일종입니다. 연산자는 크게 산술 연산자, 비교 연산자, 논리 연산자, 할당 연산자, 조건(삼항) 연산자, 비트 연산자, 타입 연산자 등으로 나눌 수 있습니다.

     

    이제 각각의 연산자가 어떤 역할을 하는지 알아볼까요?

    ▶ 산술 연산자

    산술 연산자는 숫자에 대해 기본적인 수학 연산을 수행하는 연산자입니다. 가장 기초적인 연산자들이며, 일상적으로 자주 사용됩니다.

    • + (덧셈) → 두 값을 더합니다.
    let a = 5; let b = 3; console.log(a + b); // 8
    • `` (뺄셈)  두 값의 차를 구합니다.
    console.log(a - b); // 2
    • `` (곱셈)  두 값을 곱합니다.
    console.log(a * b); // 15
    • / (나눗셈)  두 값을 나눕니다.
    console.log(a / b); // 1.6666...
    • % (나머지)  두 값을 나눈 후 나머지를 반환합니다.
    console.log(a % b); // 2
    • * (거듭제곱)  첫 번째 값을 두 번째 값으로 거듭제곱합니다.
    console.log(a ** b); // 125

     

    이렇게 산술 연산자를 사용하면 숫자를 이용한 다양한 계산을 손쉽게 할 수 있습니다.

    ▶ 비교 연산자

    비교 연산자는 두 값을 비교하여, 그 결과를 참(true) 또는 거짓(false)으로 반환합니다. 이 연산자들은 조건문에서 자주 사용됩니다.

    • == (느슨한 동등) → 두 값이 같으면 true를 반환합니다. 단, 타입은 무시합니다.
    console.log(5 == '5'); // true (숫자 5와 문자열 '5'를 같다고 판단)
    • === (엄격한 동등)  두 값이 타입과 값이 모두 같으면 true를 반환합니다.
    console.log(5 === '5'); // false (숫자 5와 문자열 '5'는 타입이 다르므로 false)
    • != (느슨한 부등)  두 값이 같지 않으면 true를 반환합니다.
    console.log(5 != '5'); // false (타입을 무시하므로 같다고 판단)
    • !== (엄격한 부등)  두 값이 타입과 값이 모두 다르면 true를 반환합니다.
    console.log(5 !== '5'); // true (타입이 다르므로 true)
    • > (초과)  왼쪽 값이 오른쪽 값보다 크면 true를 반환합니다.
    console.log(10 > 5); // true
    • < (미만)  왼쪽 값이 오른쪽 값보다 작으면 true를 반환합니다.
    console.log(10 < 5); // false
    • >= (이상)  왼쪽 값이 오른쪽 값보다 크거나 같으면 true를 반환합니다.
    console.log(10 >= 10); // true
    • <= (이하)  왼쪽 값이 오른쪽 값보다 작거나 같으면 true를 반환합니다.
    console.log(10 <= 5); // false

     

    비교 연산자는 조건문에서 특정 조건이 충족되는지 확인할 때 매우 유용합니다.

    ▶ 논리 연산자

    논리 연산자는 여러 조건을 결합하거나 부정할 때 사용됩니다. 주로 true나 false 값을 다룹니다.

    • && (그리고, AND) → 모든 조건이 true일 때 true를 반환합니다.
    console.log(true && false); // false console.log(5 > 3 && 10 < 15);
    // true (두 조건 모두 참이므로 true)
    • || (또는, OR)  하나 이상의 조건이 true이면 true를 반환합니다.
    console.log(true || false); // true console.log(5 > 3 || 10 > 15);
    // true (하나의 조건이 참이므로 true)
    • ! (부정, NOT)  조건의 반대를 반환합니다.
    console.log(!true); // false console.log(!(5 > 3));
    // false (5 > 3이 참이므로, NOT을 사용해 반대로 false)

    논리 연산자는 조건을 결합하여 더 복잡한 로직을 구성할 때 필수적입니다.

    ▶ 할당 연산자

    할당 연산자는 변수에 값을 저장할 때 사용됩니다. 단순히 값을 할당하는 것뿐만 아니라, 산술 연산과 결합한 형태도 있습니다.

    • = (할당)  변수에 값을 할당합니다.
    let x = 10;
    • += (덧셈 후 할당)  현재 변수 값에 더한 후, 그 결과를 다시 변수에 할당합니다.
    x += 5; // x = x + 5와 동일, 결과적으로 x는 15가 됩니다.
    • = (뺄셈 후 할당)  현재 변수 값에서 뺀 후, 그 결과를 다시 변수에 할당합니다.
    x -= 3; // x = x - 3와 동일, 결과적으로 x는 7이 됩니다.
    • = (곱셈 후 할당)  현재 변수 값에 곱한 후, 그 결과를 다시 변수에 할당합니다.
    x *= 2; // x = x * 2와 동일, 결과적으로 x는 20이 됩니다.
    • /= (나눗셈 후 할당)  현재 변수 값을 나눈 후, 그 결과를 다시 변수에 할당합니다.
    x /= 2; // x = x / 2와 동일, 결과적으로 x는 5가 됩니다.
    • %= (나머지 후 할당)  현재 변수 값을 나눈 나머지를 다시 변수에 할당합니다.
    x %= 3; // x = x % 3와 동일, 결과적으로 x는 1이 됩니다.

     

    할당 연산자는 변수에 값을 설정하거나, 계산 결과를 변수에 다시 저장할 때 유용합니다.

    ▶ 조건(삼항) 연산자

    조건(삼항) 연산자는 간단한 조건문을 한 줄로 표현할 때 사용됩니다. 조건이 참인지 거짓인지에 따라 다른 결과를 반환합니다.

    • 조건 ? 참일 때 결과 : 거짓일 때 결과
    let age = 18; let isAdult = age >= 18 ? "성인입니다" : "미성년자입니다"; console.log(isAdult);
    // "성인입니다"

     

    조건 연산자는 짧고 간결한 조건문을 작성할 때 매우 편리합니다.

    ▶ 비트 연산자

    비트 연산자는 숫자를 이진수로 변환하여, 각 비트 단위로 연산을 수행합니다. 주로 고급 프로그래밍에서 사용되며, 효율적인 계산을 할 때 유용합니다.

    • & (AND)  두 비트가 모두 1이면 1을 반환합니다.
    • | (OR)  하나 이상의 비트가 1이면 1을 반환합니다.
    • ^ (XOR)  두 비트가 서로 다르면 1을 반환합니다.
    • ~ (NOT)  비트를 반전시킵니다.
    • << (왼쪽 시프트)  비트를 왼쪽으로 이동시키고, 오른쪽에 0을 추가합니다.
    • >> (오른쪽 시프트)  비트를 오른쪽으로 이동시키고, 왼쪽에 0을 추가합니다.
    let a = 5;  // 이진수 0101
    let b = 3;  // 이진수 0011
    
    console.log(a & b); // 1 (이진수 0001)
    console.log(a | b); // 7 (이진수 0111)
    console.log(a ^ b); // 6 (이진수 0110)
    
    

    비트 연산자는 효율적인 데이터 처리와 계산이 필요한 상황에서 주로 사용됩니다.

    ▶ 타입 연산자

    타입 연산자는 데이터의 타입을 확인하거나 변환할 때 사용됩니다.

    • typeof  값의 타입을 문자열로 반환합니다.
    console.log(typeof 123);
    // "number" console.log(typeof "Hello");
    // "string" console.log(typeof true);
    // "boolean"
    • instanceof  객체가 특정 클래스의 인스턴스인지 확인합니다.
    let date = new Date(); console.log(date instanceof Date); // true

     

    타입 연산자는 타입 확인과 관련된 로직을 처리할 때 유용합니다.


     

    JavaScript에서 연산자는 변수와 값을 다루는 가장 기본적인 도구입니다. 산술, 비교, 논리, 할당, 조건, 비트, 타입 등 다양한 연산자가 있으며, 이들을 적절히 활용하면 코드를 더욱 효율적으로 작성할 수 있습니다.

     

    이번 포스팅을 통해 JavaScript의 연산자들을 잘 이해하고, 이를 실제 코드에 적용해 보세요. 연산자를 능숙하게 다루면 더 나은 코드를 작성할 수 있고, 디버깅이나 코드 최적화에도 큰 도움이 될 것입니다.

    반응형