반응형

@notepad_jj2

츄르사려고 코딩하는집사입니다.


자바스크립트(JavaScript)에서는 명시적인 타입 정의를 사용하지 않습니다. 예를 들어, 아래 코드처럼 var를 사용하여 변수를 정의하고 있습니다.

 

var a = 1;
var b = "2";

위처럼, 변수의 타입이 정의가 되어 있지 않기 때문에 웹개발을 하는데에 있어 변수의 타입 때문에 방금 삽질을 했다. 웹개발은 끝이 없다. 이놈의 변수 타입 때문에 값이 큰데도 조건문을 타는 경우가 있었다.

 

이 원인이 바로, 5와 20을 if문을 통해 비교를 했는데, String으로 비교를 할 경우에는 20이 더 우선순위가 있어 원하지도 않은 결과가 나왔다.

 

그래서, 자바스크립트(JavaScript)의 Int형 변환은 아래와 같이 하면 된다.

 

 

1. String형인 숫자에 1을 곱하여 형변환하기

var a = "1"
a *= 1;

//number
alert(typeof a);

위의 방법은 가장 간단한 형변환을 하는 방법입니다. 이 경우에는, 너무 많이 사용을 하게 되면 코드의 가독성이 떨어진다는 단점이 있습니다.

 

2. 타입변환을 하는 함수 사용하기

var a = "1"
a = Number(a);

//number
alert(typeof a);

위의 방법은 String형의 변수를 Number형(Int)으로 변환하는 함수입니다.

 

var a = "1"
a = parseInt(a);

//number
alert(typeof a);

위의 방법은 자바(Java)에서 형변환을 할 때, 많이 사용하는 방법이라 익숙합니다.

 

alert(parseInt("1")); // 1
alert(parseInt("-1")); // -1
alert(parseInt("1.4")); // 1
alert(parseInt(1)); // 1
alert(parseInt("1a")); // 1
alert(parseInt("10a")); // 10
alert(parseInt("10aaa1")); // 10
alert(parseInt("1")); // 1
alert(parseInt("a1")); // Nan
alert(parseInt("")); // NaN

parseInt형으로 사용할 때, 위의 코드처럼 사용할 수 있습니다.

 

alert(parseInt("1a")); // 1

위에서 String형 1a를 Int형으로 변환할 경우에는 문자열 a를 제외한 1이 출력됩니다.

 

alert(parseInt("10aaa1")); // 10
alert(parseInt("a1")); // Nan

그리고, String형 10aaa1을 Int형으로 변환할 경우에는 문자열에서 앞 글자가 숫자이면 숫자를 가져오고, 문자열에서 앞글자가 문자열이면 NaN을 출력합니다.

 

이처럼, 자바스크립트(JavaScript)에서 Int형으로 형변환을 할 수 있습니다.

반응형
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기