>웹 프론트엔드 >JS 튜토리얼 >내 JavaScript 코드가 숫자를 추가하는 대신 연결되는 이유는 무엇입니까?

내 JavaScript 코드가 숫자를 추가하는 대신 연결되는 이유는 무엇입니까?

Mary-Kate Olsen
Mary-Kate Olsen원래의
2024-12-13 08:26:09822검색

Why Does My JavaScript Code Concatenate Instead of Adding Numbers?

JavaScript의 문자열 연결 수학 함정 극복

JavaScript에서 변수를 조작하면 때때로 의도하지 않은 결과가 발생할 수 있습니다. 일반적인 함정은 수학 연산을 수행하는 대신 문자열을 연결하는 것입니다. 이는 숫자 변수가 문자열로 처리되어 숫자가 아닌 문자열이 추가되는 경우에 발생할 수 있습니다.

시나리오: 예기치 않은 문자열 결과가 포함된 정수 추가

의 경우 예를 들어, 다음 코드를 고려해보세요.

var dots = document.getElementById("txt").value; // 5
function increase() {
    dots = dots + 5;
}

이 코드는 점의 값을 5만큼 증가시킬 것으로 예상됩니다. 그러나 출력은 10이 아닌 "55"입니다. 이는 도트 변수가 문자열로 처리되고 JavaScript가 수학 연산을 수행하는 대신 문자열을 연결하기 때문입니다.

해결책: 강제 수학 연산

이 문제를 해결하려면 JavaScript에서 점을 정수로 처리하고 수학 연산을 수행하도록 강제해야 합니다. 다음과 같이 parseInt() 함수를 사용하여 이 작업을 수행할 수 있습니다.

dots = parseInt(document.getElementById("txt").value, 10);
  • parseInt() 함수는 문자열 점을 정수로 변환합니다.
  • 두 번째 매개 변수인 10은 다음을 지정합니다. 10진수 체계입니다.

점을 정수로 변환함으로써 JavaScript는 점을 정수로 변환하여 수학 연산을 올바르게 수행합니다. 이를 통해 원하는 출력은 10이 됩니다.

JavaScript에서 숫자 변수를 처리할 때 수학 연산 대신 문자열 연결이 발생할 수 있는 잠재적인 유형 변환 문제에 주의하세요. ParseInt()와 같은 기술을 사용하면 JavaScript가 의도한 계산을 수행하도록 할 수 있습니다.

위 내용은 내 JavaScript 코드가 숫자를 추가하는 대신 연결되는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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