타입 변환 (type conversion)
- 자바스크립트는 타입 검사가 매우 유연한 언어다
- 자바스크립트의 변수는 타입이 정해져 있지 않고, 같은 변수에 다른 타입의 값을 다시 대입할 수 있다
> 묵시적 타입 변환 (implicit type conversion)
- 특정 타입의 값을 기대하는 곳에 다른 타입의 값이 오면, 자동으로 타입을 변환하여 사용한다
10 + "문자열"; // 문자열 연결을 위해 숫자 10이 문자열로 변환됨.
"3" * "5"; // 곱셈 연산을 위해 두 문자열이 모두 숫자로 변환됨.
1 - "문자열"; // NaN
- 세 번째 예제에서 문자열은 의미에 맞게 숫자로 자동 타입 변환이 불가능하므로, NaN 값을 반환한다
▶ NaN (Not a Number)
정의되지 않은 값이나 표현할 수 없는 값이라는 의미를 가진다. 0을 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() 함수를 사용
- null과 undefined를 제외한 모든 타입이 가진 toString() 메소드 사용 가능
- 숫자(Number) 객체는 다음과 같은 메소드를 별도 제공한다
메소드 | 설명 |
toExponential() | 정수 부분은 1자리, 소수 부분은 e 표기법을 사용하여 숫자를 문자열로 변환 |
toFixed() | 소수 부분을 입력받은 수만큼 사용하여 숫자를 문자열로 변환 |
toPrecision() | 입력받은 수만큼 유효 자릿수를 사용하여 숫자를 문자열로 변환 |
▶ 메소드 (method) : 객체의 프로퍼티 값으로 함수를 갖는 프로퍼티
> 불리언 값을 문자로 변환
- String() 함수와 toString() 메소드를 사용하는 방법이 있다
String(true); // 문자열 "true"
false.toString(); // 문자열 "false"
> 날짜를 문자열이나 숫자로 변환
- 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~23) |
getMinutes() | 분을 숫자로 반환 (0~59) |
getSeconds() | 초를 숫자로 반환 (0~59) |
getMilliseconds() | 초를 밀리초(millisecond) 단위 숫자로 반환 (0~999) |
String(Date()); // Mon May 16 2016 19:35:25 GMT+0900
Date().toString(); // Mon May 16 2016 19:35:25 GMT+0900
var date = new Date(); // Date 객체 생성
date.getFullYear(); // 2016
date.getTime(); // 1463394925632 -> 1970년 1월 1일부터 현재까지의 시간을 밀리초 단위의 숫자로 반환함.
> 문자열을 숫자로 변환
- Number() 함수를 사용한다
- 문자열을 숫자로 변환하는 두 개의 전역 함수
함수 | 설명 |
parseInt() | 문자열을 파싱하여 특정 진법의 정수 반환 |
parseFloat() | 문자열을 파싱하여 부동 소수점 수를 반환 |
> 불리언 값을 숫자로 변환
- Number() 함수를 사용
Number(true); // 숫자 1
Number(false); // 숫자 0
[참고자료] http://tcpschool.com/javascript/intro
'Web > JavaScript' 카테고리의 다른 글
[JavaScript] 자바스크립트 배열(array) : 생성 및 활용 (1) | 2021.08.03 |
---|---|
[JavaScript] 자바스크립트 제어문 : 조건문, 반복문, 루프 제어(label, continue, break) (0) | 2021.07.16 |
[JavaScript] 자바스크립트 연산자 : 산술, 연산자 우선순위, 대입, 증감, 비교, 논리, 비트 연산자 (0) | 2021.07.16 |
[JavaScript] 자바스크립트 타입 : 기본 타입, 변수 (0) | 2021.07.13 |
[JavaScript] 자바스크립트 기본 : 개요, 문법, 출력, 적용 (0) | 2021.07.11 |