자바스크립트 eval() 함수 javascript evil 일까?


자바스크립트 eval() 함수 javascript evil 일까?

온라인 게임에서 캐릭터 간 밸런스 문제는 언제나 뜨거운 감자입니다. 자바스크립트 중에서는 말도 안 되는 function이 몇 가지가 있는데요. 이중 eval()이란 함수에 대해 알아보겠습니다. 문법 eval("문자열"); 사용법은 간단해요. 매개변수 문자열을 실행할 수 있는 내장함수로 좀 독특한 기능을 지녔어요. 예제 var val = eval("2+3"); alert(val); //5 문자열 "2+3"을 숫자와 덧셈으로 인식해 계산을 해줍니다. 뭐지?라고 생각도 들 겁니다. var val = eval("var a = 2; var b = 3; a+b"); alert(val); //5 이렇게 변수 선언 후 변수끼리 수식도 만들 수도 있고요. 심지어 함수 선언도 가능해요. var a = "No"; eval("var a = 'Yes';"); alert(a); //Yes 전역변수 a에 저장된 문자열 "No"가 eval("var a = 'Yes';"); 스크립트에 의해 "Yse"로 변경되었네...


#eval #function #javascript #자바스크립트 #자바스크립트함수

원문링크 : 자바스크립트 eval() 함수 javascript evil 일까?