0
사용자 입력 문자열 match
을 미세 조정하면 match
플래그가 설정된 g
플래그가 설정되어 있고 정규식이 일치하지 않아이 문자열이 일치하지 않아서 null
을 반환 할 수 없으므로 오류가 발생합니다. 이는 정의 할 수 없습니다.이 둘은 동일하거나 다른 것보다 더 좋고/더 안전합니까?
그래서 두 가지 옵션이 남았습니다. 말할 수있는 한, 그들은 동일합니다. 그러나 나는 그것을 올바르게 이해하고 있는지 확인하고 싶습니다.
var tldMatcher = /[^.]+\.?$/g
, tld = str.match(tldMatcher) ? str.match(tldMatcher)[0] : null;
... 그리고 ...
var tldMatcher = /[^.]+\.?$/g
, tld = str.match(tldMatcher) && str.match(tldMatcher)[0];
어떤 생각이?
* 더 나은 * 주관적입니다. 개인적으로, 나는'var tld = null, matches = str.match (tldMatcher);와 같은 것을 좋아하지 않는다. if (matches) tld = matches [0]'이 더 좋을 것입니다. –
'match'를 두 번 호출하지 마십시오. 한 번 호출하고 결과를 저장하고 null이 아닌 경우 관심이있는 요소를 추출하십시오. – Lee