JavaScript eval 함수







- 인수로 문자열을 받으며 문자열을 자바스크립트 코드로서 해석한 후 동작한다.


		var mul = 5;
		
		eval("mul *= 10; var temp = 10");
		document.write(mul, " ", temp);	// 50 10


- 3~4라인을 보면 eval 함수 내에 선언한 변수 temp를 밖에서도 사용할 수 있다.


- 이렇게 함수로 코드를 실행 가능한 이유는 자바 스크립트가 스크립트 언어로서 컴파일러를 사용하지 않는 인터프리터 방식으로 한줄 한줄 해석하므로 코드를 해석하는 도중 코드를 해석할 수 있다.


- 문자열로 코드를 실행하므로 외부로부터 코드를 입력받아 그것을 실행 시킬 수 도 있다.


- 단, 코드를 읽는도중 또 코드를 읽는 이중 작업으로서 실행 속도가 더욱 느려지며, 보안상 문제가 발생하기 쉬워서 사용은 권장되지 않는다.





'JavaScript > 기초' 카테고리의 다른 글

JavaScript Date(날짜, 시간) 구하기  (0) 2020.04.30
JavaScript var, let, const 차이  (0) 2020.04.30
JavaScript 함수  (0) 2020.03.14
JavaScript 예외 처리  (0) 2020.03.13
JavaScript 제어문  (0) 2020.03.13

+ Recent posts