반응형
자바스크립트는 동적 타입 언어이기 때문에, 변수의 데이터 타입이 실행 중에 변경될 수 있습니다. 이러한 변환을 타입 변환이라고 합니다. 자바스크립트는 암시적 형 변환과 명시적 형 변환 두 가지 방식을 지원합니다.
1. 암시적 형 변환 (Implicit Type Conversion)
자바스크립트 엔진이 개발자가 의도하지 않더라도 자동으로 데이터 타입을 변환하는 것을 말합니다. 주로 연산 시에 발생하며, 예상치 못한 결과를 초래할 수 있으므로 주의해야 합니다.
- 문자열 연결: 숫자와 문자열을 더하면 숫자가 문자열로 변환되어 연결됩니다.
let result = 10 + "20"; // "1020"
- 비교 연산: 다른 타입의 값을 비교할 때, 자바스크립트는 값을 비슷한 타입으로 변환하여 비교합니다.
console.log(10 == "10"); // true (숫자 10이 문자열 "10"으로 변환되어 비교)
- 불리언 변환: 조건문이나 논리 연산에서 값을 불리언 값으로 변환합니다.
/* 다음과 같은 값들은 불리언으로 변환하면 true가 됩니다. - 모든 숫자 (0 제외) - 모든 문자열 (빈 문자열 "" 제외) - 모든 객체 (null과 undefined 제외) 다음과 같은 값들은 불리언으로 변환하면 false가 됩니다. - false - 0 - -0 - null - undefined - NaN - 빈 문자열 ("") */ if (1) { // true console.log("1은 true입니다."); }
2. 명시적 형 변환 (Explicit Type Conversion)
개발자가 의도적으로 데이터 타입을 변환하는 것을 말합니다.
- Number() 함수: 다른 타입의 값을 숫자로 변환합니다.
let str = "10"; let num = Number(str); // num은 10
- String() 함수: 다른 타입의 값을 문자열로 변환합니다.
let num = 10; let str = String(num); // str은 "10"
- Boolean() 함수: 다른 타입의 값을 불리언 값으로 변환합니다.
let isTrue = Boolean(1); // true
- parseInt() 함수: 문자열을 정수로 변환합니다.
- parseFloat() 함수: 문자열을 부동소수점 숫자로 변환합니다.
주의해야 할 점
- 암시적 형 변환은 예상치 못한 결과를 초래할 수 있습니다. 명시적으로 타입을 변환하여 코드의 가독성을 높이고 오류를 방지하는 것이 좋습니다.
- 타입 변환 시 데이터 손실이 발생할 수 있습니다. 예를 들어, 실수를 정수로 변환할 때 소수점 이하 자리가 버려질 수 있습니다.
반응형
'JS > JavaScript' 카테고리의 다른 글
#7 자바스크립트 함수 : 코드의 재사용과 효율성을 위한 핵심 (0) | 2024.08.28 |
---|---|
#6 자바스크립트 조건문/반복문 (0) | 2024.08.28 |
#5 자바스크립트 연산자 (0) | 2024.08.27 |
#4 자바스크립트 호이스팅(Hoisting) (0) | 2024.08.27 |
#2 자바스크립트 데이터 타입 완벽 정복 (0) | 2024.08.27 |
#1 자바스크립트 변수 선언 : var, let, const 차이점 완벽 정리 (0) | 2024.08.27 |
동적 HTML 이벤트 바인딩 (0) | 2018.06.01 |
동적 HTML 이벤트 바인딩 (0) | 2018.05.24 |