본문 바로가기
Language/JavaScript

[JavaScript] 타입 변환

by jsh5408 2021. 10. 19.

타입 변환(type conversion)

- 자바스크립트는 타입 검사가 매우 유연

=> 변수의 타입이 정해져 있지 않으며, 다른 타입의 값을 다시 대입할 수 있음

const num = 20; // Number 타입의 20
num = "이십"; // String 타입의 "이십"

const num;
// 한 변수에 여러 번 대입할 수는 있지만, 변수의 재선언은 X. 재선언문은 무시.
// var 도 마찬가지

 

 

묵시적 타입 변환(implicit type conversion)

- 특정 타입의 값을 기대하는 곳에 다른 타입의 값이 오면, 자동으로 타입 변환

10 + "문자열"; // 문자열 연결을 위해 숫자 10이 문자열로 변환됨.
"3" * "5";     // 곱셈 연산을 위해 두 문자열이 모두 숫자로 변환됨.
1 - "문자열";  // NaN

- 자동 변환이 불가능할 경우, NaN

NaN (Not a Number)
: 정의되지 않은 값, 표현할 수 없는 값

예시) 0 으로 나누기, 숫자로 변환할 수 없는 문자열, ...

 

 

명시적 타입 변환(explicit type conversion)

- 전역 함수를 이용해 변환

 

1. Number()

2. String()

3. Boolean()

4. Object()

5. parseInt()

6. parseFloat()

Number("10"); // 숫자 10
String(true); // 문자열 "true"
Boolean(0);   // 불리언 false
Object(3);    // new Number(3)와 동일한 결과로 숫자 3

 


 

숫자를 문자열로 변환

- String() 함수 사용

- toString() 메소드 사용 => null, undefined 는 사용 불가

 

- Number 객체의 메소드

메소드 설명
toExponential() 정수 부분은 1자리, 소수 부분은 입력받은 수만큼 e 표기법으로 변환
toFixed() 소수 부분을 입력받은 수만큼 고정 소수점 표기법으로 변환 (소수점의 자리수 제한)
toPrecision() 입력받은 수만큼 유효 자릿수 제한 (수의 길이 제한)

 

 

불리언 값을 문자열로 변환

- String() 함수 사용 => String(true);

- toString() 메소드 사용 => false.toString();

 

 

날짜를 문자열이나 숫자로 변환

- String() 함수 사용

- toString() 메소드 사용

 

- 날짜(Date) 객체는 문자열과 숫자로 모두 변환할 수 있는 유일한 타입

- Date 객체의 메소드

메소드 설명
getDate() 일자를 숫자로 반환 (1 ~ 31)
getDay() 요일을 숫자로 반환 (일요일: 0 ~ 토요일: 6)
getFullYear() 연도를 4자리 숫자로 반환 (yyyy년)
getMonth() 월을 숫자로 반환 (1월: 0 ~ 12월: 11)
getTime() 1970년 1월 1일부터 현재까지의 시간을 밀리초(millisecond) 단위의 숫자로 반환
getHours() 시를 숫자로 반환 (0 ~ 59)
getMinutes() 분을 숫자로 반환 (0 ~ 59)
getSeconds() 초를 숫자로 반환 (0 ~ 59)
getMilliseconds() 초를 밀리초(millisecond) 단위의 숫자로 반환 (0 ~ 999)

 

 

문자열을 숫자로 변환

- Number() 함수 사용

- Number 객체의 parseInt() / parseFloat() 메소드 사용

parseInt() : 특정 진법의 정수 반환
parseFloat() : 부동 소수점 수 반환

 

 

불리언 값을 숫자로 변환

- Number() 함수 사용

- true : 1, false : 0

 

 

 

 

 

http://tcpschool.com/javascript/js_datatype_typeConversion

 

코딩교육 티씨피스쿨

4차산업혁명, 코딩교육, 소프트웨어교육, 코딩기초, SW코딩, 기초코딩부터 자바 파이썬 등

tcpschool.com

 

'Language > JavaScript' 카테고리의 다른 글

[JavaScript] 연산자  (0) 2021.10.21
[JavaScript] 변수 (var, let, const)  (0) 2021.10.20
[JavaScript] 기본 타입  (0) 2021.10.19
[JavaScript] 자바스크립트 적용  (0) 2021.10.18
[JavaScript] 자바스크립트 출력  (0) 2021.10.18

댓글