728x90
동일한 정규식에 동일한 값을 넘겼음에도
반복해서 true, false를 번갈아 반환했다.
대체 왜!!!
이유
정규식에 g 옵션이 있으면, test() 메소드는 정규 표현식의 lastIndex를 업데이트하게 된다.
test() 메소드와 exec() 메소드는 내부적으로 lastIndex부터 문자열을 검사하게 되는데,
test() 메소드는 true를 반환했던 lastIndex부터 계속해서 검사하게 된다.
그리고 lastIndex는 false를 반환하기 전 까지 초기화가 안되는 특징이 있다.
따라서, 체크때마다 true / false를 반복해서 반환하는 이슈가 발생
728x90
반응형