>웹 프론트엔드 >JS 튜토리얼 >eval()을 사용하지 않고 JavaScript에서 문자열 수식을 평가하는 방법은 무엇입니까?

eval()을 사용하지 않고 JavaScript에서 문자열 수식을 평가하는 방법은 무엇입니까?

Patricia Arquette
Patricia Arquette원래의
2024-11-14 22:31:02993검색

How to Evaluate String Formulas in JavaScript Without Using eval()?

eval() 없이 JavaScript에서 문자열 값 계산

수식이 포함된 문자열을 평가하는 것은 프로그래밍에서 일반적인 작업입니다. JavaScript는 이러한 목적으로 eval() 함수를 제공하지만 보안 위험이 있으므로 일반적으로 사용하지 않는 것이 좋습니다. 다음은 eval()을 사용하지 않고 문자열 값을 계산하는 대체 접근 방식입니다.

Function() 생성자 사용

Function() 생성자는 문자열에서 익명 함수를 만들 수 있습니다. 이는 문자열 표현식을 평가하는 데 활용될 수 있습니다. 예를 들어 다음 코드를 생각해 보세요.

Function() 생성자에 의해 평가된 새 함수를 반환하여 문자열에 저장된 수학 연산을 실행할 수 있습니다. 이 예에서 문자열 "12/5*9 9.4*2"는 40.4로 평가됩니다.

이 접근 방식의 장점

eval()과 비교하여 Function() 생성자는 다음을 허용합니다. :

  • 보안 강화: 평가 중 Function() 생성자가 있는 문자열은 임의의 코드를 실행할 수 있는 eval()과 관련된 잠재적인 보안 취약점을 방지합니다.
  • 유형 안전성: Function() 생성자는 문자열 인수의 구문을 확인합니다. 실행하기 전에 유형 안전성을 강화합니다.

Function() 생성자는 eval()보다 더 안전하고 안정적인 대안을 제공하지만 여전히 코드를 동적으로 평가하므로 악의적인 입력을 피하기 위해 예방 조치를 취해야 한다는 점에 유의해야 합니다.

위 내용은 eval()을 사용하지 않고 JavaScript에서 문자열 수식을 평가하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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