자바니 js니 워낙 문란한 시대에 태어난 언어라서 러스트처럼 많은 고민이 끝에 정밀한 설계를 한게 아니라 좀 주먹구구식으로 된게 많단 말이지. 또 이 얘기하면 러스트 배울 지능이 안되는 범부들이 막 발광하기도 하는데 어차피 논리적인 반박이 아니라 감정적 반응이니까 딱히 설명은 안할거고

그래서 ===이게 왜 중요하냐면 js처음 만들 땐 숫자 123이랑 문자열 "123"이나 똑같은거라고 생각하고 둘을 == 비교하면 true로 나오는거야. 이거 말고도 사람 헷갈리게 만드는 여러가지 있는데 궁금하면 찾아보시고
그래서 이거 때문에 여기저기서 욕지거리 나오니까 js도 미안하다 내가 잘못생각했다. 앞으로 타입까지 제대로 비교하겠다 해서 나온게 === !==란 말이지.

왜 ==를 제대로 비교하도록 못고쳤냐면 이미 이전에 문란한 비교규칙에 근간해서 작성한 코드가 다 망가지니까 호환성을 위해 기존 연산자는 문란한대로 남겨둔거지.
여기서 또 러스트의 위대한 점이 나오는데 러스트는 애초에 설계를 공들여서 해서 느낌같은 느낌의 문란한 규칙은 이미 최대한 배제하는데다가 에디션이라는게 있어서 새로운 에디션엔 새로운 스펙으로 만들수가 있어 과거의 실수를 끝까지 껴안고 가지 않도록 했지. 레거시는 레거시 에디션을 계속 쓰면 되고.

그래서 이거 모르면 왜 물경력이냐? 하는걸 따지기 전에 잠시 물경력이란 무엇인가에 대해 정하고 가자면 대충 이정도 년차에는 이정도 한다라는 통계적인 기대치라는게 있잖아. 그걸 미달하면 물경력이라고 할 수 있고 그래서 js를 제대로  써봤다면 한 1년 내에는 이걸 문제가 터져봤거나 평소에 개인공부라도 했으면 들어는 봤을거고 또 이게 그냥 웃고 넘어갈 사소한 건 아니기 때문에 기억에 남았을거다 라는 판단을 하는거지. 그래서 1년 이상 했는데 js 의 ===를 모른다고 하면 물경력이 아닌가 싶다.

js로 시작했지만 러스트를 잠시 얘기를 해보자면 js야 웹브라우저 단에서 돌아가는 거의 유일한 언어라고 볼 수 있고 대안이 없으니 좀 문란한게 있어도 그냥 참고 쓰는거지만 자바는 러스트 같은 대안이 있단 말이지. 자바도 js처럼 함정이 몇개 있고 특히 스프링에 좀 거지같은게 많은데 이 저능한 업계의 특징이랄까? 지뢰를 제거할 생각은 못하고 니 경력이 몇년인데 아직도 지뢰 위치를 못외웠냐 이지랄하고 자빠져있다는거지.
물론 러스트가 패러다임이 크게 진보한 언어라서 지능이 특출나지 않은 이상 대단히 어렵게 느껴져서 계속 자바를 물고 빠는거 외에 대안이 없을수도 있지.

- dc official App