Javascript - Operators & Condition

2023. 7. 16. 12:25·📘 Frontend/Javascript

Operators

자바스크립트에서의 기본 연산자는 다음과 같습니다.

  • 덧셈 연산자 +,
  • 뺄셈 연산자 -,
  • 곱셈 연산자 *,
  • 나눗셈 연산자 /,
  • 나머지 연산자 %,
  • 거듭제곱 연산자 **

나머지 연산자(remainder operator)는 % 기호로 나타내지만, 비율을 나타내는 퍼센트와 관련이 없습니다.

나머지 연산자를 사용한 표현식 a % b는 a를 b로 나눈 후 그 나머지(remainder)를 정수로 반환해줍니다.


거듭제곱 연산자(exponentiation operator)를 사용한 a ** b를 평가하면 a를 b번 곱한 값이 반환됩니다.


if & ? 을 이용한 조건 처리

다른 언어와 마찬가지로 if 줄이 1줄일때, {}를 생략할 수 있습니다.

if문은 다른 언어와 비슷하므로 대충 작성합니다.


if (year == 2023) alert('정답입니다!');

Boolean 변환

if (…) 문은 괄호 안의 표현식을 평가하고 그 결과를 불린값으로 변환합니다.

  • 숫자 0, 빈 문자열"", null, undefined, NaN은 불린형으로 변환 시 모두 false가 됩니다. 이런 값들은 ‘falsy(거짓 같은)’ 값이라고 부릅니다.
  • 이 외의 값은 불린형으로 변환시 true가 되므로 ‘truthy(참 같은)’ 값이라고 부릅니다.

이 규칙에 따르면 아래 예시의 코드 블록은 절대 실행되지 않습니다.


if (0) {} // 0은 false, 실행 불가능

if (1) {} // 1은 true, 항상 실행 가능

let cond = (year == 2023); // 동등성 비교를 통해 true/false 결정
if (cond) {} // year이 2023이면 실행

? 조건부 연산자

? 조건부 연산자도 자바와 동일합니다.

기본적인 설명은 생략하고, 주의할점만 상기하자면 이 조건부 연산자를 if문 대용으로 쓰는 경우가 종종있습니다.

결론부터 말하면 if문 대용으로 ?를 쓰는것은 가독성에 좋지 않기 때문에 왠만하면 if..else 문을 사용하길 권장합니다.

저작자표시 (새창열림)

'📘 Frontend > Javascript' 카테고리의 다른 글

JavaScript - Function  (0) 2023.07.16
Javascript - Nullish 병합 연산자  (0) 2023.07.16
JavaScript - Type Conversion (Primitive Type Only)  (0) 2023.07.15
JavaScript - Alert & Prompt & Confirm을 이용한 상호작용  (0) 2023.07.15
JavaScript - Strict Mode & 변수/상수 & 자료형  (0) 2023.07.15
'📘 Frontend/Javascript' 카테고리의 다른 글
  • JavaScript - Function
  • Javascript - Nullish 병합 연산자
  • JavaScript - Type Conversion (Primitive Type Only)
  • JavaScript - Alert & Prompt & Confirm을 이용한 상호작용
신건우
신건우
조용한 개발자
  • 신건우
    우주먼지
    신건우
  • 전체
    오늘
    어제
    • 분류 전체보기 (422)
      • 📘 Frontend (71)
        • Markup (1)
        • Style Sheet (2)
        • Dart (8)
        • Javascript (12)
        • TypeScript (1)
        • Vue (36)
        • React (2)
        • Flutter (9)
      • 📘 Backend (143)
        • Java (34)
        • Concurrency (19)
        • Reflection (1)
        • Kotlin (29)
        • Python (1)
        • Spring (42)
        • Spring Cloud (5)
        • Message Broker (5)
        • Streaming (2)
        • 기능 개발 (5)
      • 💻 Server (6)
        • Linux (6)
      • ❌ Error Handling (11)
      • 📦 Database (62)
        • SQL (31)
        • NoSQL (2)
        • JPQL (9)
        • QueryDSL (12)
        • Basic (4)
        • Firebase (4)
      • ⚙️ Ops (57)
        • CS (6)
        • AWS (9)
        • Docker (8)
        • Kubernetes (13)
        • MSA (1)
        • CI & CD (20)
      • 📚 Data Architect (48)
        • Data Structure (10)
        • Algorithm (8)
        • Programmers (17)
        • BaekJoon (5)
        • CodeUp (4)
        • Design Pattern (4)
        • AI (0)
      • ⚒️ Management & Tool (8)
        • Git (7)
        • IntelliJ (1)
      • 📄 Document (10)
        • Project 설계 (6)
        • Server Migration (3)
      • 📄 책읽기 (2)
        • 시작하세요! 도커 & 쿠버네티스 (2)
      • 🎮 Game (4)
        • Stardew Vally (1)
        • Path of Exile (3)
  • 블로그 메뉴

    • 링크

      • Github
    • 공지사항

    • 인기 글

    • 태그

      Lock #Thread #Concurrency
      React #Markdown
      GStreamer #Pipeline
    • 최근 댓글

    • 최근 글

    • hELLO· Designed By정상우.v4.10.0
    신건우
    Javascript - Operators & Condition
    상단으로

    티스토리툴바