응답하지 않는 바꾸기 메서드 처리
교체 메서드가 예상대로 수행되지 않는 상황에서는 문자열의 불변성을 이해하는 것이 중요합니다. 자바스크립트. 다른 많은 언어와 달리 JavaScript의 문자열은 변경할 수 없습니다. 즉, "대체" 방법은 원래 문자열을 수정하지 않고 대신 새 문자열을 생성합니다.
코드 수정
스마트 및 등록 기호 따옴표를 효과적으로 바꾸려면 다음 코드를 사용하세요.
str = str.replace(/[“”]/g, '"'); str = str.replace(/[‘’]/g, "'");
또는 단일 문으로 모든 교체를 수행할 수 있습니다:
str = str.replace(/[“”]/g, '"').replace(/[‘’]/g, "'");
문자열 불변성 이해
교체 상태에 대한 MDN(Mozilla Developer Network) 문서:
"대체로 대체된 패턴과 일치하는 일부 또는 전부를 포함하는 새 문자열을 반환합니다. ... 이 메서드는 호출된 String 개체를 변경하지 않습니다. on. 단순히 새 문자열을 반환합니다."
이는 바꾸기 메서드가 원래 문자열을 유지하고 대체 내용이 적용된 새 문자열을 제공한다는 것을 나타냅니다. 혼동을 피하고 정확한 문자열 조작을 보장하려면 JavaScript에서 문자열 작업을 할 때 이 점을 명심하십시오.
위 내용은 내 JavaScript `replace()` 메서드가 예상대로 작동하지 않는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!