
산술 연산자는 숫자 값에 대한 기본적인 수학 연산을 수행하는 데 사용된다.
덧셈(+), 뺄셈(-), 곱셈(*), 나눗셈(/), 나머지(%), 증감(++, --) 연산자가 있다.
덧셈 연산자(+)는 두 개의 숫자를 더하거나 문자열을 연결하는 데 사용될 수 있다.
숫자와 문자열을 함께 사용할 때는 주의해야 합니다. 예를 들어, "5" + 2는 "52"를 반환한다.
왜냐하면 문자열과 숫자를 덧셈 연산자로 결합하면 숫자가 문자열로 변환되기 때문이다.
따라서 의도한 결과를 얻으려면 적절한 타입 변환을 수행해야 한다.
뺄셈(-), 곱셈(*), 나눗셈(/) 연산자는 두 숫자를 각각 빼고, 곱하고, 나누는 데 사용된다.
나눗셈 연산자를 사용할 때는 분모가 0이 되지 않도록 주의해야 한다.
분모가 0이면 Infinity 또는 NaN(Not-a-Number)이 반환되므로 예기치 않은 동작이 발생할 수 있다.
나머지 연산자(%)는 첫 번째 피연산자를 두 번째 피연산자로 나눈 후 나머지를 반환한다.
이는 짝수/홀수 판별, 특정 범위 내의 값 순환 등의 작업에 유용하게 사용될 수 있다.
증감 연산자(++, --)는 변수의 값을 1 증가시키거나 감소시키는 데 사용된다.
전위 증감 연산자(++x, --x)는 값을 먼저 증가/감소시킨 후 표현식을 평가하고, 후위 증감 연산자(x++, x--)는 표현식을 먼저 평가한 후 값을 증가/감소시킨다.
증감 연산자의 위치에 따라 코드의 동작이 달라질 수 있으므로 주의 깊게 사용해야 한다.
할당 연산자는 변수에 값을 할당하는 데 사용된다.
가장 기본적인 할당 연산자는 등호(=)이다.
등호의 오른쪽에 있는 값이 등호 왼쪽에 있는 변수에 할당된다.
예를 들어, let x = 5;는 변수 x에 값 5를 할당한다.
복합 할당 연산자(+=, -=, *=, /=, %=)는 할당과 산술 연산을 결합한 연산자이다.
예를 들어, x += 5;는 x = x + 5;와 같은 효과를 가진다.
복합 할당 연산자를 사용하면 코드를 더 간결하고 읽기 쉽게 작성할 수 있다.
비교 연산자는 두 값을 비교하고 그 결과로 불리언 값(true 또는 false)을 반환한다.
자바스크립트에는 다양한 비교 연산자가 있다.
동등 연산자(==)와 일치 연산자(===)는 두 값이 같은지 비교한다.
동등 연산자는 타입 변환을 수행한 후 값을 비교하므로 타입이 다른 값도 같다고 판단할 수 있다.
예를 들어, 5 == "5"는 true를 반환한다.
반면에 일치 연산자는 값과 타입이 모두 같아야 true를 반환한다. 따라서 5 === "5"는 false를 반환한다.
일치 연산자를 사용하여 엄격한 비교를 수행하는 것이 일반적으로 더 안전하고 오류를 방지할 수 있다.
부등 연산자(!=)와 불일치 연산자(!==)는 두 값이 다른지 비교한다.
부등 연산자는 타입 변환을 수행하고 불일치 연산자는 값과 타입을 모두 고려한다.
크기 비교 연산자(>, >=, <, <=)는 두 값의 크기를 비교한다.
이러한 연산자는 숫자 비교에 주로 사용되지만, 문자열 비교에도 사용될 수 있다.
문자열은 사전순으로 비교된다.
크기 비교 연산자를 사용할 때는 피연산자의 타입을 고려해야 한다.
예를 들어, "5" < 10은 true를 반환하지만, "5" < "10"은 false를 반환한다.
논리 연산자는 불리언 값을 조작하고 평가하는 데 사용된다.
자바스크립트에는 세 가지 주요 논리 연산자가 있다.
AND 연산자(&&)는 두 피연산자가 모두 true일 때만 true를 반환한다.
AND 연산자는 첫 번째 피연산자가 false이면 두 번째 피연산자를 평가하지 않고 바로 false를 반환하는 단축 평가(Short-circuit evaluation)를 수행한다.
이는 불필요한 연산을 피할 수 있어 성능 향상에 도움이 된다.
OR 연산자(||)는 두 피연산자 중 하나 이상이 true이면 true를 반환한다.
OR 연산자도 단축 평가를 수행하며, 첫 번째 피연산자가 true이면 두 번째 피연산자를 평가하지 않고 바로 true를 반환한다.
NOT 연산자(!)는 피연산자의 논리 값을 반전시킨다. 피연산자가 true이면 false를 반환하고, 피연산자가 false이면 true를 반환한다.
논리 연산자를 사용할 때는 단축 평가를 활용하여 코드의 효율성을 높일 수 있다.
예를 들어, (x !== null && x.property)와 같은 표현식에서는 x가 null이 아닌 경우에만 x.property에 접근한다.
이렇게 하면 x가 null일 때 오류가 발생하는 것을 방지할 수 있다.
연산자를 사용할 때는 연산자 우선순위를 이해하는 것이 중요하다.
자바스크립트에는 연산자마다 정해진 우선순위가 있으며, 이에 따라 표현식이 평가된다.
우선순위가 혼동될 수 있는 경우에는 괄호를 사용하여 명시적으로 연산 순서를 지정하는 것이 좋다.
이렇게 하면 코드의 가독성과 예측 가능성이 향상된다.
비교 연산자를 사용할 때는 피연산자의 타입을 항상 고려해야 한다.
동등 연산자(==)는 타입 변환을 수행하므로 예기치 않은 결과를 초래할 수 있다.
따라서 가능한 한 일치 연산자(===)를 사용하여 값과 타입을 모두 엄격하게 비교하는 것이 좋다.
이는 버그를 방지하고 코드의 안정성을 높이는 데 도움이 된다.
논리 연산자의 단축 평가 동작을 이해하고 활용하면 코드의 가독성과 성능을 개선할 수 있다.
단축 평가를 사용하여 불필요한 연산을 피하고, 조건부로 코드를 실행할 수 있다.
단, 단축 평가에 너무 의존하면 코드의 의도가 명확하지 않을 수 있으므로 적절한 균형을 유지해야 한다.
마지막으로, 연산자를 사용할 때는 코드의 가독성을 고려해야 한다.
복잡한 표현식은 이해하기 어려울 수 있다.
따라서 필요한 경우 중간 변수를 사용하거나 표현식을 여러 줄로 나누어 작성하는 것이 좋다.
또한, 괄호를 적절히 사용하여 연산자의 우선순위를 명확히 하고 혼동을 방지할 수 있다.
연산자는 자바스크립트 프로그래밍의 기본 요소이며, 효과적으로 사용할 때 강력한 도구가 될 수 있다.
연산자의 동작 방식과 특징을 잘 이해하고, 가독성과 안정성을 고려하여 사용하는 것이 중요하다.
이를 통해 더 효율적이고 유지 보수하기 쉬운 코드를 작성할 수 있을 것 같다.