Javascript 기초 (10) 논리연산자

코린이서현이·2023년 7월 30일
0

🤔오늘의 목표🤔

자바스크립트에는 전통적인 방법뿐만이 아니라 좀 특이한 점이 있는 것 같다.
논리연산자도 그런 추가적인 역할이 있다. 자세히 알아보자. 
로아가 뒤에 슬그머니 걸어옴 기여움

📕 논리 연산자

연산자 설명
&& : 두 항 모두 참이어야 참이다.
¦¦ : 둘 중 하나만 참이여도 참이다.
! : 참인 경우 거짓으로 바꾸고, 거짓인 경우 참으로 바꾼다.

만약 피연산자가 불린형이 아니면, 평가를 위해 불린형으로 변환된다.

불린형으로 변환
false : 0, null, undefined, NaN, ""
true : 그 외의 값

📖 ||의 추가적인 기능

📒 여러값들 중에서 첫번째 truthy 얻기

  • ||의 피연산자가 여러가지인 경우 true값을 만든 해당 피연산자를 반환한다.
    만약 모두 false인 경우 마지막 피연산자를 반환한다.
	0 || null || undefined || NaN || "" || 3 || 1 ; 	//3
	0 || null || undefined || NaN || "" ;				//''

📒 단락 평가

  • 연산자 왼쪽 조건이 falsy일 때만 명령어를 실행하고자 할 때 자주 쓰입니다.
	true || alert("not printed"	);			//실행 X
	false || alert("printed");				//실행 O

📖 &&의 추가적인 기능

📒 여러값들 중에서 첫번째 falsy 얻기

  • &&의 피연산자가 여러가지인 경우 flase를 만든 첫번째 피연산자를 반환한다.
    만약 모두 true로 평가되는 경우 마지막 피연산자를 반환한다.
	3 && 4 && 5 && "" && 3 			//''
	3 && 4 && 5 					//5

📒 단락 평가

  • 연산자 왼쪽 조건이 truthy일 때만 명령어를 실행할 수 있다.
    근데 이건 if문을 쓰는게 더 적절하다고 함.

📖 ! 의 추가적인 기능

  • !!이렇게 쓰면 Bollean()함수를 쓰는 것과 같은 기능을 한다.
	!!5			//true
	!!""		//false

✍️ ID 입력 예시코드

  let id = prompt("ID");

  if (id == "Admin"){
      let password = prompt("비밀번호는 어떻게 됩니까?");
      
    if (password == "TheMaster"){
          alert("Welcome");
      } else if (password == null || password == ""){
          alert ("Canceled");
      } else {
          alert("Wrong password");
      }
  } else if (id == null || id == ""){
      alert ("Canceled");
  } else {
      alert("I don't know you.");
  }

프롬포트창에 아무것도 입력하지 않으면 빈문자열 ""이 반환되고 ESC를 누르면 null이 반환된다.
null은 == 논리 연산자에서 nullundefined와만 동잏하게 나온다.

Boolean(null)		//false
Boolean("")			//false
null == ""			//false
null == undefined 	//true
null == null  		//true

➕ alert() 메소드의 리턴값

alert() 메소드의 리턴값은 undefined이다.

profile
24년도까지 프로젝트 두개를 마치고 25년에는 개발 팀장을 할 수 있는 실력이 되자!

0개의 댓글