예전에는 자바스크립트(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
replaceall
replaceall 메서드를 사용하는 방법은 아래와 같습니다.
const str = 'dog dog test dog hello hi';
str.replaceAll('dog', 'monkey')
// "monkey monkey test monkey hello hi"
마무리
비교적 이전보다 단순하게 그리고 명료하게 사용할 수 있습니다. 하지만 자바스크립트 replaceAll 메서드는 비교적 최신 스펙이므로 현재 프로젝트가 하위 브라우저를 지원해야되는 상황이라면 폴리필(polyfill)을 사용하거나 replace + 정규표현식 조합으로 구현하는 것이 정신건강에 좋을 것 같습니다.
'개발 > Javascript' 카테고리의 다른 글
이 포스팅은 쿠팡파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다.