형변환

hanyoko·2023년 6월 19일
0

JAVASCRIPT

목록 보기
7/32
post-thumbnail

자바스크립트의 형변환

프로그래밍을 하다보면 여러가지 경우에 데이터의 타입을 변화시켜야할 경우가 생긴다.
자바스크립트에서 문자열을 숫자로, 숫자를 문자열로 바꾸는 등의 형을 변화시키는 방법은 크게 두가지가 있다.

연산의 결과에 의해 암시적으로 형이 변화하는 암시적 형변환과 개발자가 직접 형을 변화시켜주는 명시적 형변환 방법이 있다.


암시적 형변화

1) String 타입

  • 연산자 사용 시 피연산자 중 문자열이 하나라도만 있으면 String 타입으로 변환된다.
    undefinednull도 문자열로 변환된다.

  • 연산자 중 +Number 타입과 Number 타입의 결합이 아닐 경우 (문자와 문자의 결합으로 봄)

  • prompt 및 input에 입력한 값


2) Number 타입

  • 연산자를 제외한 산술 연산자(-, /, *, >, < 등) 사용시 number 타입으로 변환된다.

  • 숫자 이외의 글자가 들어있는 문자열, 배열 및 ndefined 는 숫자 타입으로 변환되지 않고 NaN(Not a Number)을 반환한다.

  • + 연산자를 이용해 문자열을 숫자로 변경할 수 있습니다.

`let n` = "42";
`+n` => 42

3) Boolean 타입

  • 제어문의 조건식일 경우

명시적 형변환

문자열로 형변환하기

Number 객체의 메서드를 이용해 숫자를 문자열로 변환할 수 있습니다.

숫자를 문자열로 형변환

let n = 15;

숫자를 문자열로 변환한다.

n.toString(); //-> "15"

인수로 기수를 전달해 진법을 결정할 수 있다.

n.toString(16); //-> "f"

인수로 전달한 숫자만큼의 소수점 자리수를 포함한 문자열로 변환한다.

let n = 12.345
n.toFixed(1) //-> '12.3'
n.toFixed(3) //-> '12.345'

인수로 전달한 유효숫자만큼 표시한다.

n.toPrecision(1) //-> '1e+1'
n.toPrecision(3) //-> '12.3'

String함수를 이용해 함수의 인수를 문자열로 변환합니다.

String(15); //-> '15'
String(true); //-> 'true'


숫자로 형변환하기

parseIntparseFloat 함수를 사용해 문자열을 숫자로 변환
parseInt 함수는 문자열을 정수로 변환하고, parseFloat 함수는 문자열을 부동소수점으로 변환

parseInt

parseInt("1010"); //-> 1010

parseInt의 두번째 인자로 진수를 지정할 수 있습니다.

parseInt("16 volts", 10); // 16

문자열을 16진수로 해석해서 10진수로 변경

parseInt("3a", 16); //=> 58


parseFloat

parseFloat("10.10"); //-> 10.1


Number 함수를 이용해 함수의 인수를 숫자로 변환합니다.

Number("10.10"); //-> 10.1
Number(false); //-> 0


Date 객체를 숫자로 변경할 수 있습니다.

let d = new Date();
d.valueOf(); //-> UTC 1970/1/1 기준 밀리초


Boolean 형변환

let n = 0;
!!n; //-> false
Boolean(n) //-> false

0개의 댓글