본문 바로가기

웹 프로그래밍/JavaScript

[JS] 논리 연산자의 우선순위 및 적용 예제

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
<script>
	false && alert("출력이 됩니다."); // 교환법칙 X
	alert("출력이 됩니다.") && false; //  교환법칙 X
	
	true || alert("|| 출력이 안됩니다."); // 이미 true이기 때문에 뒤에 조건을 실행하지 않는다. wow
	var result = alert("A") || alert("B") ; // 자바스크립트에서는 0이 아닌 모든값이 true. (? 숫자만 해당되는건가)
	alert(typeof result);
	
</script>
</head>
<body>

</body>
</html>

 

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
<script>
	
	var a = 1;
	var b = -1;
	var c = 0;
	
	var d = ++a || ++b && ++c; //우선순위는 and 연산자가 높다. 그래서 괄호 친 것
	// var d = ++a || (++b && ++c;) 
	alert('d: ' + d + ",a : " + a + ",b : " + b + ",c : " + c)
	alert(typeof d);
	
	
</script>

</head>
<body>

</body>
</html>