Notice
Recent Posts
Recent Comments
Link
«   2025/08   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31
Tags
more
Archives
Today
Total
관리 메뉴

코드로보시죠

[JavaScript-12] 형 변환 함수를 쓰지 않았는데 지 혼자 형변환 해버리네 본문

[JavaScript] 코드잇과 함께!

[JavaScript-12] 형 변환 함수를 쓰지 않았는데 지 혼자 형변환 해버리네

코드로 보시죠 2023. 9. 24. 03:17

자바스크립트의 빡침 포인트 중 하나랄까요!

Number, String, Boolean 함수를 써서 형 변환을 해주지 않아도,

일부 경우에 있어서 자바스크립트가 자기 마음대로 일정 규칙에 따라 형변환을 해서

겉보기엔 오류인 명령어들도 실행시켜버리는데요,

 

코드로 보시죠.

console.log('1' + 2)
//12

지금 보시면, 문자열과 숫자를 더하고 있죠?

파이썬이나 기타 언어에선 상상도 할 수 없는 일입니다. 무조건 에러죠 저건. 

저렇게 프로그래밍 해두면 진짜 뺨따구를 엄청 맞는데요.

 

놀랍게도 자바스크립트는 12라는 결과를 내뱉습니다.

+연산을 숫자와 문자끼리 할 경우, 둘 다 문자열로 자동으로 형 변환을 해버리고, 연산을 수행해버립니다.

이 부분 꼭 기억해두기. 

 

그 외에도, 숫자로 변환이 가능한 모든 것들에 대해서는 숫자로 결과를 내뱉어요.

코드로 보시죠

console.log(1 - true) // 0

제가 true는 1의 값을 갖는다 말씀드렸죠,

그래서, 자바스크립트는 true를 1로 지 맘대로 바꿔버립니다.

그래서 위의 코드는 에러가 나지 않는다는거!

 

참고로, Number(true)를 한다고 1이 되는건 아닙니다!

숫자와 불린을 연산하는 경우에만, 불린이 자동적으로 숫자로 바뀐다는 점!