자바스크립트

자바스크립트 연산자

데이터_박과장 2024. 3. 27. 10:05

 

연산자(Operator)

 

연산자(Operator)는 프로그래밍에서 값을 연산하거나 조작하는 데 사용되는 기호나 키워드입니다. JavaScript에서도 다양한 연산자가 있습니다. 이 중에서 산술 연산자와 단항 산술 연산자를 설명해 드리겠습니다.

 

산술 연산자(Arithmetic Operators):

  • 산술 연산자는 숫자 값들을 연산하는 데 사용됩니다.
  • 주요 산술 연산자는 다음과 같습니다:
    • 덧셈(+): 두 피연산자를 더합니다.
    • 뺄셈(-): 첫 번째 피연산자에서 두 번째 피연산자를 뺍니다.
    • 곱셈(*): 두 피연산자를 곱합니다.
    • 나눗셈(/): 첫 번째 피연산자를 두 번째 피연산자로 나눕니다.
    • 나머지(%): 첫 번째 피연산자를 두 번째 피연산자로 나눈 나머지를 반환합니다.
  • 예시:
let x = 10;
let y = 3;
let sum = x + y;  // sum에는 13이 할당됨
let difference = x - y;  // difference에는 7이 할당됨
let product = x * y;  // product에는 30이 할당됨
let quotient = x / y;  // quotient에는 3.3333...이 할당됨
let remainder = x % y;  // remainder에는 1이 할당됨

 

단항 산술 연산자(Unary Arithmetic Operators):

  • 단항 산술 연산자는 하나의 피연산자에만 적용되는 연산자입니다.
  • 주로 증가(increment)와 감소(decrement)를 수행하는데 사용됩니다.
  • 주요 단항 산술 연산자는 다음과 같습니다:
    • 증가(++x 또는 x++): 변수의 값을 1 증가시킵니다.
    • 감소(--x 또는 x--): 변수의 값을 1 감소시킵니다.
  • 예시:
let x = 5;
x++;  // x는 6이 됨
let y = 10;
--y;  // y는 9가 됨

 

 

단항 산술 연산자 추가설명

단항 산술 연산자는 전위형(prefix)과 후위형(postfix)이 있습니다. 전위형은 연산자가 변수 앞에 위치하고 연산을 먼저 수행하고 결과를 반환합니다. 후위형은 연산자가 변수 뒤에 위치하고 먼저 변수의 현재 값을 반환한 후 연산을 수행합니다. 이러한 세부사항은 해당 연산자가 어떻게 사용되느냐에 따라 달라집니다.

 

전위형(prefix):

  • 연산자가 변수 앞에 위치하고, 연산을 먼저 수행한 후 결과를 반환합니다.
let x = 5;
let result = ++x; // x를 먼저 1 증가시킨 후, 증가된 값인 6을 result에 할당
console.log(result); // 출력: 6
console.log(x); // 출력: 6

 

 

후위형(postfix):

  • 연산자가 변수 뒤에 위치하고, 먼저 변수의 현재 값을 반환한 후 연산을 수행합니다.
let y = 10;
let result = y++; // 현재의 y 값인 10을 result에 할당한 후, y를 1 증가시킴
console.log(result); // 출력: 10
console.log(y); // 출력: 11

 

전위형과 후위형은 연산자의 위치에 따라 변수의 값을 증가 또는 감소시키는 순서가 달라집니다. 이를 이해하면 해당 연산자를 올바르게 사용할 수 있습니다.

 

 

복합대입 연산자(Compound Assignment Operators)

변수에 값을 할당하면서 동시에 해당 변수의 현재 값과 연산을 수행하는 연산자입니다. 이는 코드를 간결하게 작성할 수 있도록 도와줍니다.

주로 사용되는 복합대입 연산자는 다음과 같습니다:

  1. 덧셈 후 할당(Addition Assignment): +=
    • 현재 변수 값에 피연산자 값을 더한 후 그 결과를 변수에 할당합니다.
  2. 뺄셈 후 할당(Subtraction Assignment): -=
    • 현재 변수 값에서 피연산자 값을 뺀 후 그 결과를 변수에 할당합니다.
  3. 곱셈 후 할당(Multiplication Assignment): *=
    • 현재 변수 값에 피연산자 값을 곱한 후 그 결과를 변수에 할당합니다.
  4. 나눗셈 후 할당(Division Assignment): /=
    • 현재 변수 값을 피연산자 값으로 나눈 후 그 결과를 변수에 할당합니다.
  5. 나머지 후 할당(Modulus Assignment): %=
    • 현재 변수 값을 피연산자 값으로 나눈 나머지를 구한 후 그 결과를 변수에 할당합니다.
let x = 5;
x += 3; // x = x + 3와 동일
console.log(x); // 출력: 8

let y = 10;
y -= 5; // y = y - 5와 동일
console.log(y); // 출력: 5

let z = 2;
z *= 4; // z = z * 4와 동일
console.log(z); // 출력: 8

let a = 20;
a /= 5; // a = a / 5와 동일
console.log(a); // 출력: 4

let b = 11;
b %= 3; // b = b % 3와 동일
console.log(b); // 출력: 2

 

 

논리 연산자

논리적인 조건을 평가하고, 그 결과를 반환하는 연산자입니다. JavaScript에서는 주로 세 가지 논리 연산자를 사용합니다: AND, OR, NOT.

 

논리 AND (&&):

  • 모든 피연산자가 참일 때에만 true를 반환합니다.
  • 예시:
let x = 5;
let y = 10;
let z = 15;

if (x < y && y < z) {
    console.log("모든 조건이 참입니다.");
} else {
    console.log("하나 이상의 조건이 거짓입니다.");
}
// 출력: "모든 조건이 참입니다."

 

논리 OR (||):

  • 피연산자 중 하나라도 참이면 true를 반환합니다.
  • 예시:
let hour = 15;

if (hour < 12 || hour > 18) {
    console.log("영업시간이 아닙니다.");
} else {
    console.log("영업시간입니다.");
}
// 출력: "영업시간이 아닙니다."

 

논리 NOT (!):

  • 피연산자의 반대 값을 반환합니다.
  • 예시:
let loggedIn = false;

if (!loggedIn) {
    console.log("로그인되지 않았습니다.");
} else {
    console.log("로그인되었습니다.");
}
// 출력: "로그인되지 않았습니다."

 

논리 연산자는 주로 조건문이나 논리적 표현식에서 사용되며, 여러 조건을 조합하여 복잡한 조건을 만들 때 유용합니다. 함께 사용되는 조건들을 논리적으로 결합하고, 조건문을 더 간결하고 읽기 쉽게 만드는 데 도움이 됩니다.

 

 

논리 연산자의 특징

JavaScript에서는 다양한 값들을 논리적으로 평가할 때, 일부 값들을 거짓(false)으로 간주합니다. 이에는 undefined, null, 0, 빈 문자열(''), NaN(Not-a-Number) 등이 포함됩니다. 이러한 값들을 제외한 모든 값들은 참(true)으로 평가됩니다.

이러한 동작은 주로 조건문이나 논리적 표현식에서 유용하게 사용됩니다. 예를 들어, 변수가 정의되었는지 확인하거나, 함수에서 반환된 값이 유효한지 확인하는 데 사용될 수 있습니다.

 

예시 코드를 통해 이를 확인해보겠습니다:

 

let variable1; // 값이 할당되지 않은 변수
let variable2 = 0; // 값이 0인 변수
let variable3 = null; // 값이 null인 변수
let variable4 = ''; // 값이 빈 문자열인 변수

if (!variable1) {
    console.log("variable1은 거짓(false)으로 평가됩니다."); // 출력됨
}

if (!variable2) {
    console.log("variable2는 거짓(false)으로 평가됩니다."); // 출력됨
}

if (!variable3) {
    console.log("variable3은 거짓(false)으로 평가됩니다."); // 출력됨
}

if (!variable4) {
    console.log("variable4는 거짓(false)으로 평가됩니다."); // 출력됨
}

let number = 10;
if (number) {
    console.log("number는 참(true)으로 평가됩니다."); // 출력됨
}

 

위 코드에서는 변수 variable1, variable2, variable3, variable4가 거짓(false)으로 평가되는 것을 확인할 수 있습니다. 그리고 number 변수는 0이 아니므로 참(true)으로 평가됩니다.

 

 

아래의 예시 코드는 while 루프를 사용하여 논리 연산자의 값이 0이거나 null인 경우에는 루프가 실행되지 않고 종료되는 상황을 보여줍니다.

let count = 5; // 초기값 설정

while (count) {
    console.log("현재 count 값:", count);
    count--;
}

console.log("루프 종료");

 

위 코드에서 count 변수의 값이 0이 되면 루프가 종료됩니다. JavaScript에서는 0은 거짓(false)으로 평가되기 때문에 while 루프의 조건에서 count의 값이 0이 되면 루프가 종료됩니다. 만약 count 변수가 null이거나 다른 거짓 값을 가진다면 역시 루프가 종료됩니다.

 

 

'자바스크립트' 카테고리의 다른 글

자바스크립트 함수관련 내용 보충  (0) 2024.03.27
자바스크립트 요약정리  (0) 2024.03.27
자바 스크립트 자료형  (0) 2024.03.26
자바스크립트 용어정리  (0) 2024.03.26
자바스크립트 기초 가이드  (0) 2024.03.26