Javascript String Replace에 대한 다른 사용법과 의의한 결과

Javascript String Replace에 대한 다른 사용법과 의의한 결과

"Google Chrome vs. Safari & Internet Explorer 11에서 서로 다른 성능을 보여서 기록에 남긴다."


내가 이렇게 단정짓는 이유는 다양한 bluetooth 제품(receiver, receiver-transceiver)을 사용해본 봐다.
그렇다고 절대적인 의견은 아니다. 단지 이렇게 사용한다면 굳이 이렇게 비싼 가격의 별 성능이 없는 제품이 필요없다는 말이다.

String을 모두 치환하고 싶다면 보통 아래와 같이 할 수 있다.

var str = 'abcdef';

방법 1)

str.replace(/abc/g, 'xyz');

방법 2)

str.split('abc').join('xyz');

난, 사실 방법 1만 사용해왔다. 그런데 2번도 나름대로 괜찮은 방식이란 생각이 든다.

그런데, 각 browser마다 다른 성능을 보인다는 것이 놀랍다. (http://jsperf.com/replace-all-vs-split-join)

Microsoft IE 11



Apple Safari 8


Google Chrome (Mac OS X 10.10)


Google Chrome (MS Windows 7)


SRWare Iron

- Google Chrome과 유사

재미있게도 IE와 Safari는 비슷하게 나왔는데, Chrome은 반대로 나왔다는 것이다.

그럼, IE와 Safari를 사용할 때는 replace보다는 split-join을 사용하고, Chrome을 사용할 때는 replace를 사용하도록 코딩하는 것도 좋을 듯하다.

댓글

이 블로그의 인기 게시물

Next.js에서 자연스러운 Page Transition 방법

[flutter] Android - Package간 sdk version 등이 맞지 않아 오류가 발생하는 경우

[Windows] Chocolatey upgrade