ECMAScript5는 문자열에 대한 기본 트림 방법을 정의했습니다. 이 방법은 아마도 이 문서의 어떤 버전보다 빠를 것입니다. 지원되는 브라우저에서 기본 기능을 사용하는 것이 좋습니다. 다음은 Custom Trim() 함수에서 발생하는 문제점과 개선 과정을 설명합니다. 쿵푸는 끊임없는 단련을 통해서만 완성될 수 있습니다.
JavaScript에는 문자열에서 앞뒤 공백을 제거하기 위한 기본 트리밍 방법이 없습니다. 가장 일반적인 사용자 정의 Trim() 함수 구현은 다음과 같습니다.
text.replace(/^s |s $/g, '');
}
이 구현에서는 정규식을 사용하여 문자열의 시작과 끝에서 하나 이상의 공백 문자를 일치시킵니다. replacement() 메서드는 일치하는 모든 부분을 빈 문자열로 바꿉니다.
그러나 이 구현에는 정규식을 기반으로 한 성능 문제가 있습니다. 이러한 영향은 두 가지 일치 패턴으로 파이프라인 연산자를 지정하는 한편, g를 지정하여 다음과 같은 두 가지 측면에서 발생합니다. 패턴을 전체적으로 표시합니다.
이를 염두에 두고 정규식을 둘로 나누고 g 태그를 제거하여 함수를 다시 작성하면 속도가 약간 빨라집니다.
return text.replace(/^s /, '').replace(/s $/, '');
}
또 다른 개선된 버전입니다. 정규식을 최대한 단순하게 유지하세요.
//문자열 앞 공백 삭제
text = text.replace(/^s /, '');
//후행 공백을 지우는 루프
for(var i=text.length; i--; ) {
if(/S/.test(text.charAt(i))) { // 공백이 아닌 S 문자
텍스트 = text.substring(0, i 1);
휴식;
}
}
텍스트 반환;
}
사용 제안: 소규모로 짧은 문자열을 처리할 때 두 번째 Trim() 함수의 성능은 여전히 좋습니다. 세 번째 다듬기 기능은 긴 문자열을 처리할 때 훨씬 더 빠릅니다.
주제 외: 문자열의 앞뒤 공백 문자를 잘라내는 간단한 함수로 인해 정규 표현식의 성능 문제를 고려하고 성능 문제를 방지하기 위한 메서드 구현이 이루어졌습니다. 기술은 완벽함을 추구하며 실제로만 발전할 수 있습니다.