암묵적 형 변환에 대하여

Dorogono·2022년 6월 13일
0

JS 알아보기

목록 보기
16/19
post-thumbnail

암묵적 형 변환이란.

let a = 5;
let b = '5';

a == b // true
a === b // false

강제로 형을 변환시켜 비교를 한다.
이는 다른 언어에선 나타나지 않는 자바스크립트 특성이다.
이를 해결하기 위해 타입스크립트가 나오지 않았나 싶다.

일단 위 코드와 같이 ==(동등 부호)에선 형이 달라도 값만 같으면 같다고 해석한다.

true == 1 // true
false == 0 // true
false == 'false' // false

그렇지만 형 변환이 되지 않는 경우도 존재한다.
이 모든 경우의 수를 다 외우지 못하기 때문에 뜻밖의 상황을 맞이하지 않기 위해선 되도록 쓰지 않는 편이 좋다.

위와 같은 상황을 해결하기 위해 ===(일치 부호)를 사용하는 것이다.
이는 값 뿐만 아니라, 타입까지 확인해서 비교를 해주기 때문에 더 안전하다.

let a = 5;
let b = '3';

a + b = '53';

게다가 스트링과 숫자를 더해도 값이 나온다.
이 때문에 더 쉽다고도 할 수 있겠지만,
깊이 들어갈수록 생각할 변수가 더 많다는 의미도 되기 때문에 정말 어려운 것 같다.

최근에 TS 공부를 시작했는데, 그게 더 깔끔하다고 느껴진다.
JS와 완전히 다른 언어느낌이다.
마치 C#을 다루는 느낌이 든다.

profile
3D를 좋아하는 FE 개발자입니다.

1개의 댓글

comment-user-thumbnail
2022년 6월 13일

문자열과 숫자가 더해진다는 것은 처음 알았네요...! JavaScript가 동적 언어라서 편한 점도 있지만 그만큼 불편한 점도 많은 것 같습니다...🤯 TS는 C#을 보는 것 같다니 매우 기대가 되네요...ㅎㅎ 저도 얼른 JS 과제를 끝내고 TS 공부를 하러 가고 싶네요!

답글 달기