Basic/Javascript

[자바스크립트] 문자 ↔ 숫자 타입 변환 방법 / 성능 분석

에반황 2017. 6. 27. 10:55


이 글은 PC 버전 TISTORY에 최적화 되어있습니다.


서론

 자바스크립트에서 문자열 -> 숫자(string to integer, float), 숫자 -> 문자열(int, float to string)로 타입 변환하는 방법을 알아봅니다.

1. 숫자 -> 문자
2. 문자 -> 숫자





숫자 -> 문자


1. 숫자 뒤에 "" 붙이는 방법 (추천)

var num = 1000, string = [];

for (var i = 0; i < 10000; i++) {

string[i] = 1000 + "";

}




2. String 함수 사용


var num = 1000, string = [];

for (var i = 0; i < 10000; i++) {

string[i] = String(1000);

}




3. toString 함수 사용


var num = 1000, string = [];

for (var i = 0; i < 10000; i++) {

string[i] = num.toString();

}



위에서 1번 방법을 추천한다고 한 이유는 성능이 제일 좋기 때문입니다. 성능 분석 사이트 jsMatch에서 다음과 같은 결과를 보여줍니다.









문자 -> 숫자

1. 비트 연산 사용하기


var string = "1000", array = [];
for (var i = 0; i < 100000; i++) {
array[i] = string >> 0;
}



2. parseInt 함수 사용하기


var string = "1000", array = [];

for (var i = 0; i < 100000; i++) {

array[i] = parseInt(string);

}



3. Number 함수 사용하기 (추천)


var string = "1000", array = [];

for (var i = 0; i < 100000; i++) {

array[i] = Number(string);

}



4. 연산자 더하기


var string = "1000", array = [];

for (var i = 0; i < 100000; i++) {

array[i] = +string;

}



성능 분석은 다음과 같습니다. 비트연산, 연산자 더하기가 가장 빠른 결과가 나왔습니다만, Number 함수와 큰 차이가 나지 않으므로 명시적으로 문자 -> 숫자 타입 변환을 의미하는 Number 함수를 사용하는 것을 추천드립니다. parseInt, parseFloat 함수는 비용이 매우 크므로 사용하지 않습니다.







반응형