✅ 자바스크립트에서는 다양한 자료형을 다룰 수 있다. 그리고 이 자료형들은 서로 형변환이 가능하다.
[2]-1. 암시적 형 변환(implicit coercion)
암시적 형 변환은 자바스크립트에서 자동으로 수행되는 형 변환이며, 일반적으로 연산자를 사용할 때 발생한다.
[2]-1-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"
위의 예제에서는 문자열과 다른 자료형이 연산자로 결합되어 있다. 이 경우에는 자바스크립트는 다른 자료형을 문자열로 변환한 후 연산을 수행한다.
[2]-1-2. 숫자 변환
console.log(1 - "2"); // -1
console.log("2" * "3"); // 6
console.log(4 + +"5"); // 9
위의 예제에서는 연산자를 사용할 때, 문자열을 숫자로 변환한다. 이때, 빈 문자열("")이나 공백 문자열(" ")은 0으로 변환된다.
[2]-1-3. 불리언 변환
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
위의 예제에서는 Boolean() 함수를 사용하여 불리언 값으로 변환한다. 이때, 0, 빈 문자열(""), null, undefined, NaN은 false로 변환된다. 그 외의 값은 true로 변환된다.
[2]-2. 명시적 형 변환(explicit coercion)
명시적 형 변환은 개발자가 직접 자료형을 변환하는 것을 말한다.
[2]-2-1. 문자열 변환
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]"
위의 예제에서는 String() 함수를 사용하여 다른 자료형을 문자열로 변환한다.
[2]-2-2. 숫자 변환
console.log(Number("123")); // 123
console.log(Number("")); // 0
console.log(Number(" ")); // 0
console.log(Number(true)); // 1
console.log(Number(false)); // 0
'Javascript' 카테고리의 다른 글
할당 연산자(assignment operators) (0) | 2023.07.24 |
---|---|
산술 연산자(arithmetic operators) (0) | 2023.07.24 |
JS 문법 : 데이터 타입_불리언(Boolean)타입 7가지 (0) | 2023.07.24 |
JS 문법 : 데이터 타입_문자열(String)타입 6가지 (0) | 2023.07.24 |
JS 문법 : 데이터 타입_숫자타입 6가지 (0) | 2023.07.24 |