JS 기본 상식 1. ==,===의 차이점

어니언·2023년 1월 10일
0
post-thumbnail

일반적으로 '='은 같다를 표기하는 기호이다. 하지만, 코딩에서의 '='은 의미가 다르다. 같다가 아닌 할당을 의미한다. 할당연산자는 변수선언시 값을 대입하는데 사용이된다. 그래서 코딩에서는 같다를 == 또는 === 두가지 방식으로 표현을 한다.

==과 ===는 뭐가 다를까?

==은 느슨한 비교연산자로 읽고 ===은 엄격한비교연산자로 읽으며 각각 다른역할을 갖는다.

느슨한 비교연산자는 암묵적 타입변환을 통해 비교대상의 타입을 일치시킨 후, 같은 값인지를 비교한다.
즉, 숫자 1과 문자열 "1"은 타입은 다르지만 값이 같기때문에 아래와같이 참값이 나오게된다.

1=="1" // true

이런이유로 인해 ==을 사용하여 비교연산을 수행하면 개발자가 의도하지 않은 참거짓값을 가져올 수 있기때문에 가급적으로 사용하지 않는 것이 좋다.

하지만

엄격한 비교연산자는 타입과 값 모두같아야 true 값을 반환해주기 때문에 아래와같이 거짓값이 나오게된다.
1=="1" // false
이처럼 암묵적 타입변환 없이 타입과 값을 비교해주기 때문에, 개발자가 작성한대로 연산결과 오차를 줄일 수 있다.

profile
안녕하세요.

0개의 댓글