>  기사  >  웹 프론트엔드  >  문자열 길이를 확인할 때 JavaScript 코드가 오작동하는 이유는 무엇입니까?

문자열 길이를 확인할 때 JavaScript 코드가 오작동하는 이유는 무엇입니까?

Patricia Arquette
Patricia Arquette원래의
2024-11-01 09:25:02850검색

Why Does My JavaScript Code Misbehave When Checking String Length?

JavaScript의 동등 비교 이해

JavaScript에서 문자열을 사용할 때 동등 비교의 작동 방식을 이해하는 것이 중요합니다. 다음 코드 조각은 주어진 문자열이 비어 있는지, 9자리 이하인지, 최대 10자리인지 확인하는 것을 목표로 합니다. 그러나 코드 조각의 조건문은 예상치 못한 결과를 낳습니다.

if (str = '') {
    console.log("The string cannot be blank");
} else if (str.length <= 9) {
    console.log("The string must be at least 9 characters long");
} else if (str.length <= 10) {
    console.log("The string is long enough.");
}

입력 문자열에 관계없이 프로그램은 "문자열은 최소 9자 이상이어야 합니다"를 일관되게 인쇄합니다. 이 동작은 같음 비교를 위해 등호 기호(=)를 잘못 사용했기 때문에 발생합니다.

오류: 할당 및 같음 혼합

JavaScript에서 등호 기호(= )은 주로 동등 비교가 아닌 할당에 사용됩니다. 동등 비교는 이중 동등(==) 또는 삼중 동등(===) 연산자를 사용하여 수행해야 합니다.

균등 비교를 위한 올바른 코드:

올바른 버전 코드 조각 중 다음과 같이 적절한 항등 연산자를 활용해야 합니다.

if (str === '') {
    console.log("The string cannot be blank");
} else if (str.length <= 9) {
    console.log("The string must be at least 9 characters long");
} else if (str.length <= 10) {
    console.log("The string is long enough.");
}

수정된 코드는 올바른 연산자를 사용하여 문자열 길이를 확인하여 문자열 내용에 따라 다른 메시지를 출력하는 예상 동작을 제공합니다.

위 내용은 문자열 길이를 확인할 때 JavaScript 코드가 오작동하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.