논리 연산자는 ||(or), &&(and), !(not)이 있으며 논리 연산자는 피여산자가 논리형 데이터은 true, false 로 결괏값을 반환한다.
||(or) 연산자는 하나만 ture라면 ture를 반환한다.
&&(and) 연산자는 하나라도 false이면 false를 반환하며,
!(not) 연산자는 논리 부정 연산자로, 피연산자가 true이면 false라는 반대 결괏값을 반환한다.
연산자도 수학과 마찬가지로 연산의 우선순위가 있다.
1.() 2. 단항 연산자(--. ++, !) 3. 산술 연산자(*, /, %, +, -) 4. 비교 연산자(>, >=, <=, ==, ===, !==, !=) 5. 논리 연산자(&&, ||) 6. 대입(복합 대입) 연산자 (=, +=, -=, *=, /=, %=)
<script>
var a = 10;
var b = 20;
var c = 30;
var d = 40;
var result;
result = a>b||b>=c||c>d;
document.write(result,"<br>");
//10>20 또는 20>=30 또는 30>40 >> false
//false || false || false
result = a > b || b >= c || c <= d;
document.write(result,"<br>");
//10>20 또는 20>=30 또는 30<=40 >> true
//false || false || true
result = a <= b && b >= c && c <= d;
document.write(result,"<br>");
//10<=20 그리고 20>=30 그리고 30<=40 >> false
//true && false && true
result = a <= b && b <= c && c <= d;
document.write(result,"<br>");
//10<=20 그리고 20<=30 또는 30<=40 >> true
//true && true && true
result = !(a>b);
document.write(result,"<br>");
//10>20 또는 20>=30 또는 30>40 >> true
//!false == true
</script>
삼항 조건 연산자는 조건식(ture || false의 결괏값을 반환)의 결과에 따라 실행 결과가 달라지는 삼항 연산자로, 연산을 위한 피연산자가 3개 필요하다.
사용법 : 조건식 ? 자바스크립트 코디 1 : 자바스크립트 코드 2;
<script>
var a = 10;
var b = 5;
var result = a > b ? "Javascript" : "HTML";
document.write(result);
//true
//결괏값이 true 이므로"JavaScript"가 출력된다.
var result = a < b ? "JavaScript" : "HTML";
//false
//false의 값인 "HTML"이 출력된다.
</script>
앞서 배운 문법들을 바탕으로 적정체중 테스트기를 만들어보자.
적정체중을 구하는 방법은 더 까다롭지만 간단하게만 알기위한 것이니 화내지말자.
적정 체중 = (본인 신장 - 100) * 0.9
var myHeight = 182;
var myWeight = 77;
var result;
//평균 체중
var result = (myHeight - 100) * 0.9;
document.write(result);
//73.8
prompt("질문","응답");
<script>
var name = prompt("이름을 입력하세요", "");
//"이름을 입력하세요"는 질문, 뒤의 ""는 입력할 공간
var height = prompt("신장을 솔직하게 입력하세요","");
var weight = prompt("체중을 솔직하게 입력하세요","");
var normal_w = (height-100) * 0.9;
var result = weight >= normal_w - 3 && weight <= normal_w + 3;
//오차범위 ±3
result = result ? "적정 체중입니다." : "돼지입니다.";
document.write(name + "님은" + " " + result);
</script>
응 그래. 난 돼지였다.
기분이 안좋아졌으므로 여기까지 한다.