자바스크립트에서 replaceAll 사용하는 방법

남양주개발자

·

2020. 11. 5. 15:20

728x90
반응형

자바스크립트(Javascript)에서 replaceAll 사용하는 방법

예전에는 자바스크립트(Javascript)에서 특정 문자를 모두 바꾸기(치환) 위해서 자바스크립트 문자열 객체의 replace 메서드정규표현식 조합으로 사용하곤 했습니다. 

구현 예시

replace + 정규표현식

replace + 정규표현식 조합으로 구현하는 예는 아래와 같습니다.

정규표현식에서 gi는 g(모든 값에 대한 검사), i(대/소문자 구분 안함)을 뜻합니다.

const str = 'dog dog test dog hello hi';

str.replace(/dog/gi, 'monkey');
// "monkey monkey test monkey hello hi"

 

하지만 최근에 ecma262 공식문서를 보면 자바스크립트(Javascript)에서 공식적으로 replaceAll 메서드를 제공해주는 것을 확인할 수 있습니다.

 

String.prototype.replaceAll()

The replaceAll() method returns a new string with all matches of a pattern replaced by a replacement.

developer.mozilla.org

 

ECMAScript® 2021 Language Specification

 

tc39.es

String.prototype.replaceall

replaceall

replaceall 메서드를 사용하는 방법은 아래와 같습니다.

const str = 'dog dog test dog hello hi';

str.replaceAll('dog', 'monkey')
// "monkey monkey test monkey hello hi"

마무리

비교적 이전보다 단순하게 그리고 명료하게 사용할 수 있습니다. 하지만 자바스크립트 replaceAll 메서드는 비교적 최신 스펙이므로 현재 프로젝트가 하위 브라우저를 지원해야되는 상황이라면 폴리필(polyfill)을 사용하거나 replace + 정규표현식 조합으로 구현하는 것이 정신건강에 좋을 것 같습니다.

replaceAll 메서드 브라우저 서포트 현황

728x90
반응형
그리드형

이 포스팅은 쿠팡파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다.

💖 저자에게 암호화폐로 후원하기 💖

아이콘을 클릭하면 지갑 주소가자동으로 복사됩니다