JavaScript
JavaScript 형 변환
nminy
2023. 4. 8. 14:51
다양한 자료형을 다룰 수 있다. 이 자료형들은 서로 형변환이 가능(형태 > 바꾼다)
1. 암시적 형 변환(implicit coercion)
: 자바스크립트에서 자동으로 수행되는 형 변환이며, 일반적으로 연산자를 사용할 때 발생
1-1. 문자열 변환
: 문자열과 다른 데이터 타입이 더하기 연산자로 만나면 문자열이 우선 시 된다
{ }, null, nuderfined + '1' => 문자열
console.log(1 + "2") // "12"
console.log("1" + true) // "1true" // 더하기 연산자, 두가지 타입을 결합함
console.log("1" + {}) // "1[object Object]"
console.log("1" + null) // "1null"
console.log("1" + undefined) // "1undefined"
1-2. 숫자 변환
: 다른 연산자(-, / ,,,)가 나왔을 때는 항상 숫자가 우선 시 된다
: 문자열을 숫자로 변환. 이때, 빈 문자열("")이나 공백 문자열(" ")은 0으로 변환
console.log(1 - "2") // -1
console.log("2" * "3") // 6
console.log(4 + +"5") // 9
2. 명시적 형 변환(explicit coercion)
: 개발자가 직접 자료형을 변환
2-1. 불리언 변환
: Boolean() 함수를 사용하여 불리언 값으로 변환
0, 빈 문자열(""), null, undefined, NaN은 false로 변환. 그 외의 값은 true로 변환
console.log(Boolean(0)) // false
console.log(Boolean("")) // false
console.log(Boolean(null)) // false
console.log(Boolean(undefined)); // false
console.log(Boolean(NaN)) // false
console.log(Boolean("false")) // true
console.log(Boolean({})) // true // 객체는 값이 비어있더라도 true
2-2. 문자열 변환
: String() 함수를 사용하여 다른 자료형을 문자열로 변환
console.log(String(123)) // "123"
console.log(String(true)) // "true"
console.log(String(false)) // "false"
console.log(String(null)) // "null"
console.log(String(undefined)) // "undefined"
console.log(String({})) // "[object Object]"
2-3. 숫자 변환
console.log(Number("123")) // 123
console.log(Number("")) // 0
console.log(Number(" ")) // 0
console.log(Number(true)) // 1
console.log(Number(false)) // 0