-
[Javascript] test() 사용시 정규표현식에 g 플래그 포함할 경우언어, 프레임워크/Javascript & Typescript 2023. 3. 13. 15:36
틀린 내용이 있을 수 있습니다.
발견하시면 말씀 부탁드립니다! 🙇
정규표현식과 test() 메소드를 통해 문자열에 숫자가 포함되어있는지 체크하는 코드를 작성하다가, 글로벌(g) 플래그 여부에 따라 결과가 다른 것을 알게되었다.
let checkNum = /[0-9]/; let checkNumGlobal = /[0-9]/g;
mdn test method 문서를 확인해보니, 정규표현식에 g플래그를 붙이고 test() 메소드를 실행할 때 결과가 true일 때마다 정규표현식 객체의 lastIndex 프로퍼티를 업데이트한다고 되어있다. lastIndex는 다음 메소드 실행시 시작할 인덱스이다. 만약 test() 메소드 결과가 false이면 lastIndex가 0으로 업데이트 된다.
참고 자료
- https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp/test
- https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp/lastIndex
'언어, 프레임워크 > Javascript & Typescript' 카테고리의 다른 글
[Javascript] Set에 대한 얄팍한 정리 (0) 2023.05.28 [Javascript] 병렬 처리와 함께 작업 순서가 유지되어야 하는 경우 (0) 2022.04.06 [Javascript] 함수형 프로그래밍 (+제너레이터/이터러블/이터레이터) (0) 2021.10.19 [Typescript] 기본적인 타입스크립트 문법과 키워드 정리 (0) 2021.10.06 [Javascript] Scope / Closure / Hoisting (스코프와 클로저 그리고 호이스팅) (0) 2020.07.17