728x90
프로그래밍에는 비교 연산자 중 ==와 ===이 존재한다. 둘이 매우 비슷하게 생겼지만 사실은 다르다.
바로 본론으로 넘어가서 == 이 비교 연산자는 비교하려는 두 값의 자료형 상관없이 비교를 한다.
print(0 == false);
0은 타입을 제외하면 false와 같기 때문에 true가 출력되게 된다.
print(1 == '1');
위에 코드도 마찬가지로 true가 출력된다.
즉 == 이 비교 연산자는 엄격하지 않게 두 값을 비교한다고 볼 수 있다.
===
print(0 === false);
여기서는 int와 bool을 비교하기 때문에 위 코드의 값은 false가 출력된다.
이와 마찬가지로
print(1 === '1');
이 코드 또한 int와 String을 비교하는 것이기 때문에 false가 출력된다.
print('1' === '1');
print(1 === 1);
print(false === false);
이렇게 코드를 적게 된다면 출력은 3가지 경우 다 true가 출력되게 된다.
즉 정리하자면 '==' 연산자는 서로 다른 유형의 두 변수의 [값] 비교하는 것이고 '==='는 엄격한 비교를 하는 것으로 알려져 있다 ([값 & 자료형] 비교).
'Coding' 카테고리의 다른 글
[Coding] 프로그램 명명 규칙 (0) | 2023.10.23 |
---|---|
[Coding] 프로토타입(Prototype) (0) | 2023.08.22 |
댓글