자바스크립트의 타입 변환
자바스크립트의 변수는 타입이 고정되어 있지 않으며, 같은 변수에 다른 타입의 값을 대입할 수 있습니다.
a = 10; // 숫자형
a = "10"; // 문자열형
👉🏻 a의 값이 숫자형에서 문자열형으로 바뀌어버린다.
1. 묵시적 타입 변환
자바스크립트에서는 특정 타입의 값을 기대하는 곳에 다른 타입의 값이 오면, 자동으로 타입을 변환해서 사용한다.
const a = "10";
const b = "20";
const result = a + b;
console.log(result); // 1020
result = a - b;
console.log(result); // -10
result = a * b;
console.log(result); // 200
const c = "문자";
result = c - a; // NaN
* NaN(Not a Number)
정의되지 않은 값이나 표현할 수 없는 값이라는 의미이다. 예를 들어 0을 0으로 나누거나, 숫자로 변환할 수 없는 연산을 시도하는 경우 반환된다.
2.명시적 타입변환
자바스크립트는 자동으로 타입 변환을 사용하지만, 종종 명시적으로 타입을 변환할 필요가 있다.
const a = "10";
const b = "5";
const result = a + b; // 숫자 계산을 원함
예를 들면 서버에서 값을 받아오면 String으로 가져온다. 그렇다면 꼭 Number로 바꿔줘야 하는 필요성이 생긴다.
- Number( ) : 문자를 숫자로 변환한다.
- String( ) : 숫자나, 불린 등을 문자형으로 변환한다.
- Boolean( ) : 문자나 숫자 등을 불린형으로 변환한다. // 값이 0 이면 true, 1 이면 false
- Object( ) : 모든 자료형을 객체형으로 변환한다 // 하위에 값을 줄 수 있게 된다.
- parseInt( ) : 문자를 int형으로 변환한다. (정수) // 소수점 아래 숫자를 자른다.
- parseFloat( ) : 문자를 float형으로 변환한다. (소수) // 소수점 아래 숫자까지 살려준다.
const num1 = "10";
const num2 = "5";
console.log(`현재 num1의 타입은 : ${typeof num1}`);
console.log(`num1 + num2 : ${num1 + num2}`);
console.log(`Number(num1) + Number(num2) : ${Number(num1) + Number(num2)}`);
'Front-End > JavaScript' 카테고리의 다른 글
[JavaScript] 자바스크립트 연산자 모든 것 (0) | 2020.12.18 |
---|---|
[JavaScript] 자바스크립트 대화상자 (prompt, alert, confirm) (2) | 2020.12.18 |
[JavaScript] 자바스크립트 데이터 타입 (0) | 2020.12.13 |
[JavaScript] 변수 let, 상수 const, var 차이 (0) | 2020.12.11 |
[JavaScript]자바스크립트(JavaScript) 시작, 특징, 출력, 주석 (0) | 2020.12.10 |
댓글