자바스크립트 '\\$&' 의미

조회수 694회

안녕하세요? 자바스크립트의 정규식을 공부하고 있었는데, 이해가 안되는 부분이 생겨 질문을 올립니다.

제가 잘 모르겠는 코드는 다음과 같습니다.

function test(s){
   return s.replace(/[\\^$.*+?()[\]{}|=!<>:-]/g, '\\$&');
}

정규식의 특수문자를 역슬래쉬로 이스케이프한 문자열을 반환하는 함수라고 하는데, 두 번째 문자열이 무엇인지 궁금합니다. 리플레이스멘트에 정규식이 들어간다면 역참조를 이용할 수 있을 것 같지만, '\\$&'는 그냥 문자열입니다. '\\$&'가 무슨 뜻인가요?

수정: 그냥 문자열이 아닙니다. 콘솔에서 실행한 결과에서도 앞 정규식에 일치하는 문자열을 이스케이프한 것으로 나옵니다.

코드 출처: 자바스크립트를 말하다

  • "\" 문자와 "$' 문자와 "&" 문자의 합. "\$&" 입니다. dbwodlf3 2020.12.5 18:35

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)