[JavaScript] 자바스크립트 타입 : 타입 변환

2021. 7. 14. 01:14·JavaScript
728x90

 

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

 

728x90
저작자표시 비영리 (새창열림)

'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
'JavaScript' 카테고리의 다른 글
  • [JavaScript] 자바스크립트 제어문 : 조건문, 반복문, 루프 제어(label, continue, break)
  • [JavaScript] 자바스크립트 연산자 : 산술, 연산자 우선순위, 대입, 증감, 비교, 논리, 비트 연산자
  • [JavaScript] 자바스크립트 타입 : 기본 타입, 변수
  • [JavaScript] 자바스크립트 기본 : 개요, 문법, 출력, 적용
s_ih_yun
s_ih_yun
  • s_ih_yun
    CODESYUN
    s_ih_yun
  • 전체
    오늘
    어제
    • 분류 전체보기 (339) N
      • Web (8)
      • Java (7)
      • Spring (19) N
      • Git (16)
      • MyBatis (1)
      • HTML & CSS (14)
      • JavaScript (11)
      • DevOps (4)
      • Cloud (8)
      • Lanuage (13)
        • C++ (3)
        • Python (10)
      • DB (1)
        • MySQL (1)
        • Oracle (2)
      • Computer Science (26)
        • Concept (3)
        • Algorithm (23)
      • Baekjoon (104)
        • 단계별로 풀어보기 (78)
      • CodeUp (98)
        • Python 기초 100제 (98)
      • Programmers (2)
      • Books (3)
      • etc (1)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

    • Syun's Pages
  • 인기 글

  • 태그

    CodeUp 기초 100제
    SourceTree
    BOJ
    C
    단계별로 풀어보기
    HTML
    github
    Python
    CSS
    codeup
    web
    java
    clean code
    MySQL
    VS Code
    웹
    JavaScript
    Programmers
    c++
    myBatis
    Tistory
    알고리즘
    Cloud
    aws
    git
    spring
    자료구조
    oracle
    db
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
s_ih_yun
[JavaScript] 자바스크립트 타입 : 타입 변환
상단으로

티스토리툴바