Dev-dotoli TIL

JS 9-3




조건문

demo7.html

- 논리 연산자


여러개의 bool을 조합해서 하나로 결합할 수 있게 해줌
조건문을 간결하고 다양한 방법으로 구사할 수 있음

  • &&: and operator - 좌항과 우항이 모두 true일때 true

    • & : And를 의미 (ampersand)
      라틴어 et에서 유래하여 et를 이어쓴 모양
      영어권에서 &는 27번째 알파벳이었음 이를 읽을 때
      X,Y,Z and per se &(엑스 와이 지 엔 퍼 스 앤드)라고 읽음
      per se 는 라틴어로 by itself, in itself의 뜻
      이것이 합쳐저 자연스럽게 am/per/s/and 가 됨

      if (true && true) {
        alert(1);
      } //1
      if (true && false) {
        alert(2);
      } //실행안됨
      if (false && true) {
        alert(3);
      } //실행안됨
      if (false && false) {
        alert(4);
      } //실행안됨
      
      var id = prompt("ID 입력");
      var password = prompt("PW 입력");
      
      if (id === "dotoli" && password === "1") {
        //alert('PW 인증완료');
        alert("login 성공");
      } else {
        //alert('ID 불일치')
        alert("login 실패");
      }
      //id값이 dotoli 이고 pw값이 1일때 true
      //간편해 지긴했는데 id가 틀려도 비밀번호 입력으로 넘어가고
      //로그인 실패시 id가 틀렸는지 pw가 틀렸는지 알 수 없음
      



  • ||: or operator - 좌우항중 하나라도 true이면 true

    • |: pipe, verti-bar(vbar), stick, vertical slash등 으로 불림
    • 보통 enter위, backspace 아래 위치해있음

      if (true || true) {
        alert(1);
      } //1
      if (true || false) {
        alert(2);
      } //2
      if (false || true) {
        alert(3);
      } //3
      if (false || false) {
        alert(4);
      } //실행안됨
      
      var id = prompt("ID 입력");
      var password = prompt("PW 입력");
      
      if (
        id === "dotoli" ||
        id === "dotoli2" ||
        (id === "dotoli3" && password === "1")
      ) {
        alert("login 성공");
      } else {
        alert("login 실패");
      }
      // id = dotoli123 : true
      // pw = 1 : true
      // true 1항 and true 2항 : true
      


  • |가 표시되지 않는 issue `로 감싸서 해결
  • `(GRAVE accent): 프랑스, 이탈리아어 등에서 억음부호, 중음부호로 쓰임 grave: 매우 느리게, 매우 침착하게
    프로그래밍에서는 어떤 문자와도 결합되지 않은 별도의 문자로 사용함


Reference