[자바스크립트 개발자라면 알아야 할 33가지 개념] #4 암묵적 타입 변환 (번역)

이윤우·2022년 11월 7일
0

JavaScript

목록 보기
17/34

자바스크립트의 암묵적 타입 변환

자바스크립트의 암묵적인 타입 변환은 간단하게 말하자면 예상치 못한 타입을 받았을 때 예상 가능한 타입으로 바꿔준다고 생각하면 됩니다. 그로 인해 사용자는 숫자 값을 넘겨야 하는 곳에 문자열을 넣을 수도 있고 문자열을 넣어야 하는 곳에 객체를 넘길 수도 있습니다. 이러한 일이 발생했을 때 자바스크립트 엔진은 사용자가 잘못 넣은 타입을 올바른 타입으로 변환하려고 시도합니다. 이것은 자바스크립트의 주요한 기능 중 하나이며 가장 피해야 할 기능입니다.

3 * "3" // 9
1 + "2" + 1 // 121

true + true // 2
10 - true // 9

const foo = {
	valueOf: () => 2  
}
3 + foo // 5
4 * foo // 8

const bar = {
	toString: () => " promise is a boy :)"  
}

1 + bar // "1 promise is a boy :)"


4 * [] // 0
4 * [2] // 8
4 + [2] // "42"
4 + [1, 2] // "41, 2"
4 * [1, 2] // NaN

"string" ? 4 : 1 // 4
undefined ? 4 : 1 // 1

0개의 댓글