#7 논리연산자

2026. 1. 6. 21:38·JavaScript/기초
반응형

자바스크립트에는 총 3가지의 논리연산자가 존재한다.

||(OR) , &&(AND), ! (NOT)


|| (OR)

  • 여러 개중 하나라도 True 면 True 반환
  • 즉, 모든 값이 False 일때만 False 반환
// OR 예제
// 이름이 TOM 이거나, 성인이면통과

const name = "YEON";
const age = 25;

if(name === "TOM" || age > 19) {
  console.log("통과");
}
else
  console.log("실패");


&& (AND)

  • 모든 값이 True 면 True 반환
  • 즉, 하나라도 False 면 False 반환
// AND 예제
// 이름이 TOM 이고, 성인이면통과

const name = "YEON";
const age = 25;

if(name === "TOM" || age > 19) {
  console.log("통과");
}
else
  console.log("실패");


! (NOT)

  • True 면 False 반환
  • False 면 True 반환
const age = prompt("몇 살이세요?");
const isAdult = age > 19;

if(!isAdult){
  console.log("돌아가");
}
else {
  console.log("어서오세요");
}


OR은 첫번째 True를 발견하는 즉시 평가를 멈춘다.

  • 스티브 잡스는 남자이거나, 한국인이거나, 군인이거나…. ⇒ True. 남자가 True 이까 뒤는 무시

AND는 첫번째 False를 발견하는 즉시 평가를 멈춤

  • 스티브 잡스는 남자이고, 한국인이며, 군인인 동시에… ⇒ False. 한국인이 False라서 뒤는 무시

우선순위

  • AND가 OR 보다 우선순위가 높다

예를 들어, 남자이고, 이름이 Yeon이거나 성인이면 통과하는 프로그램을 만든다고 가정하자

const gender = "F";
const name = "Yeon";
const isAdult = true;

if(gender ==='M'&& name = 'Yeon' || isAdult) {
  console.log('통괴');
}
else {
  console.log('실패');
}
  • gender ==='M'&& name = 'Yeon'이 부분을 먼저 평가해 False가 반환
  • 그다음 False || isAdult(True)을 평가해 True를 반환해 '통과'가 출력된다.

위 와 같은 프로그램을 만들려면 어떻게 해야 할까?

  • ( name = 'Yeon' || isAdult ) 괄호를 넣어주어 OR가 먼저 연산되게 만들면 된다.

 

반응형

'JavaScript > 기초' 카테고리의 다른 글

#9 함수  (1) 2026.01.07
#8 반복문  (0) 2026.01.06
#6 비교 연산자와 조건문  (0) 2026.01.06
#5 연산자  (0) 2026.01.06
#4 형 변환  (0) 2026.01.06
'JavaScript/기초' 카테고리의 다른 글
  • #9 함수
  • #8 반복문
  • #6 비교 연산자와 조건문
  • #5 연산자
y3onbug5
y3onbug5
y3onbug5 님의 블로그 입니다.
  • y3onbug5
    y3onbug5 님의 블로그
    y3onbug5
  • 전체
    오늘
    어제
    • 분류 전체보기 (167) N
      • Alpacahack (19) N
      • Dreamhack 워게임 (49)
        • Lv.1 (40)
        • Lv.0 (4)
        • LV.2 (3)
        • LV.3 (2)
      • [Dreamhack] Web Beginner (3)
      • [Dreamhack] Web Hacking (17)
        • 웹 기초 지식 (4)
        • Cookie & Session (2)
        • Cross-Site Scripting(XSS) (1)
        • Cross-Site Request Forgery (1)
        • SQL Injection (4)
        • NoSQL Injection (2)
        • Command Injection (1)
        • File Vulnerability (1)
        • Server-Side Request Forgery (1)
      • [Dreamhack] Web Hacking Client-Side (10)
        • XSS Filtering Bypass (2)
        • Content Security Policy (CSP) (2)
        • CSRF,CORS Bypass (2)
        • Client-Side Template Injection (CSTI) (1)
        • CSS Injection (1)
        • Relative Path Overwrite (RPO) (1)
        • DOM Vulnerability (1)
      • [Dreamhack] Web Hacking Server-Side (15)
        • SQL Injection Advanced (4)
        • SQL Injection Advanced - Fingerprinting (2)
        • NoSQL Injection Advanced (3)
        • Command Injection Advanced - Web Servers (3)
        • File Vulnerability Advanced - Web Server (3)
      • [Dreamhack]Black-Box Penetration Testing (15)
        • DreamCommunity Penetration Testing (11)
      • [Dreamhack] LLM (2)
        • [Dreamhack] LLM과 프롬프트 엔지니어링 (2)
      • Web 공부 (4)
      • Web Study (15)
      • JavaScript (17)
        • 기초 (12)
        • 중급 (4)
      • 웹 개발(Flask) (0)
      • [Security First] web 기초교육 (1) N
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    LLM
    alpacahack
    드림핵
    webstudy
    webhacking
    cve
    DreamHack
    CSRF
    JavaScript
    xss
    JS
    web
    hacking
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.5
y3onbug5
#7 논리연산자
상단으로

티스토리툴바