IT 강좌 JavaScript 기초 039_타입 변환
타입 변환은 한 데이터 타입을 다른 데이터 타입으로 변환하는 과정입니다. 타입 변환은 암시적(JavaScript 엔진에 의해 자동으로 수행) 또는 명시적(코딩을 통해 수동으로 변환)일 수 있습니다.
암시적 타입 변환(타입 강제 변환)
일부 연산에서 JavaScript는 연산이나 비교를 수행하기 위해 자동으로 타입 변환을 수행합니다.
예제:
let num = 5 + "5";console.log(num); // "55" 출력, 숫자와 문자열을 더하면 숫자가 문자열로 변환됨명시적 타입 변환
문자열 변환
String() 함수: 다른 타입을 문자열로 변환합니다.
예제:
let num = 123;let str1 = String(num); // String() 함수, `null` 또는 `undefined` 처리 가능let str2 = num.toString(); // toString() 메서드, `null` 또는 `undefined` 처리 불가let str3 = num + ""; // 빈 문자열과 더하여 암시적 타입 변환으로 문자열 획득console.log(str1); // "123" 출력console.log(str2); // "123" 출력console.log(str3); // "123" 출력숫자 변환
Number() 함수: 다른 타입을 숫자로 변환합니다.
예제:
let str1 = "123";let str2 = "";let str3 = "aaa";let num1 = Number(str1);let num2 = Number(str2);let num3 = Number(str3);let num4 = +str1;console.log(num1); // 123 출력console.log(num2); // 0 출력console.log(num3); // NaN 출력console.log(num3); // 123 출력, - 기호를 사용하면 -123 출력주의: 문자열을 유효한 숫자로 파싱할 수 없으면 결과는 NaN(Not a Number)이 됩니다.
parseInt() 및 parseFloat() 함수: 문자열을 정수 또는 부동 소수점 숫자로 변환합니다.
예제:
let str = "42";let num = parseInt(str);console.log(num); // 42 출력
let str = "3.14";let num = parseFloat(str);console.log(num); // 3.14 출력불린 변환
Boolean() 함수: 다른 타입을 불린 값으로 변환합니다.
예제:
let value = "Hello";let bool1 = Boolean(value);let bool2 = !value;console.log(bool1); // true 출력, 비어있지 않은 문자열은 true로 변환됨console.log(bool2); // true 출력, 논리 NOT을 사용하여 불린이 아닌 값에 암시적 변환 수행(!값은 false이고, !!를 사용하면 양수로 변환)주의: 0, NaN, null, undefined, 빈 문자열 등(비어있고, 없고, 잘못된 것)은 false로 변환되고, 다른 값과 객체는 true로 변환됩니다.