반응형
let regex = /00000000000(\d+)/
위와 같은 코드를 사용하는데
정규식으로 특정 문자열을 변환하는 도중
String.prototype.replaceAll called with a non-global RegExp argument
이런 에러가 발생했습니다.
글로벌하지 않다는건 알겠는데 해당 변수는 블록스코프를 지키면서 선언되었기 때문에 뭐가 문제지? 하면서 공식문서를 참고했는데 전역변수로 설정을 따로 해줘야한다는걸 알았습니다.
매번 필요할 때 찾아보고 썼는데 이전에 작성된 코드에서 바로 문제점을 찾지 못해서 찾는데 시간이 다소 소요된 문제였습니다.
gpt도 정말 명확한 답변을 해줍니다.
let regex = /00000000000(\d+)/g;
전역 플래그를 붙여주면서 문제를 해결했습니다.
반응형