타입 변환(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 |
댓글