화면구현/HTML

루즈한비교와 엄격한비교

psys 2020. 7. 10. 09:35
728x90
<!DOCTYPE html>
<meta charset="UTF-8">
<script>
    if("42"){
        alert("박성연 만만세");
    }
    alert("42"==true);
</script>

 

자동 형변환

박성연 만만세만 뜬다!

왜? =연산자는 우리 몰래 자동형변환이 일어나기 때문

<!DOCTYPE html>
<meta charset="UTF-8">
<script>
    if ("42") {
        alert("박성연 만만세");
    }
    if ("42" == true) {
        alert("이건 왜 안 떠요?");
    } 
</script>

 

배열

비어있다는 사실만 같음!! 다른 것!

<!DOCTYPE html>
<meta charset="UTF-8">
<script>
    alert([] == []);
</script>

 

 

문자열 비교

루즈(loose)한 비교

==, != 

자동 형변환이 발생

<!DOCTYPE html>
<meta charset="UTF-8">
<script>
    alert("42" == 42);//숫자(형변환)와 숫자비교
</script>

엄격(strict)한 비교

===, !==

자동형변환없이 비교

<!DOCTYPE html>
<meta charset="UTF-8">
<script>
    alert("42" === 42);//문자열과 숫자비교
</script>

 

 

String과 Boolean

문자열 42는 숫자42로, boolean타입의 true는 숫자 1로 변경

42==1이라는 의미로 결과는 false가 출력

<!DOCTYPE html>
<meta charset="UTF-8">
<script>
    alert("42" == true);
</script>

 

'화면구현 > HTML' 카테고리의 다른 글

서버모방/jsp흉내만  (0) 2020.07.10
타자연습프로그램  (0) 2020.07.10
일반버튼으로submit  (0) 2020.07.09
자바스크립트가나온이유  (0) 2020.07.09
공튀기기  (0) 2020.07.08