javascript로 코드를 만들거나, 알고리즘 문제를 풀다보면 '==='를 자주 볼 수 있다.
헷갈리는 사람들을 위해 내가 이해한 방법으로 설명을 하려 한다.
내가 A에게 1만원을 주면서 편의점에서 '빵'을 사오라고 심부름을 시켰다.
그러면 A가 심부름을 끝내고 가져온 결과는 다음과 같을 것이다.
심부름 간 A는 편의점에서 빵을 있는데로 1만원치 사왔다.
그 중에는 내가 원한 '빵'이 있을 경우도 있겠지만, 없을 경우도 있을것이다.
이를 프로그래밍에 대입해보자
내가 짠 코드가 클라이언트에서 서버로 'A'데이터를 가져오게 시켰을때, 내가 원한 'A'가 아닌 B,C,D... 를 가져올 수도 있고, 가져오지 않을 수도 있다.
이처럼 '=='은 값은 비슷하지만, 데이터 자료형이 다른 데이터를 가져오게 하는 연산자다.
'==='는 이와 반대로 A에게 뭘 사와야 하는지 '확실하게' 지정해주는 것이다.
A에게 심부름을 시키면서 '포켓몬 빵' 사오라고 심부름을 시키면, A는 포켓몬빵 1만원치를 사올것이다.
이름 프로그래밍에 대입하면,
코드가 클라이언트에서 서버로 'A'데이터를 가져오게 시켰을때, 데이터는 값 뿐만 아니라, 데이터 자료형까지 'A'와 같은 데이터를 가져온다
결론 : '=='를 사용하면 데이터 오류가 생길수가 있으니 '==='를 쓰자!
그게 속편하다