Eval: 문자열 코드 실행하기
-
eval(code) 호출 시 문자열 형태의 code 가 실행됨
-
마지막 구문의 결과가 반환
-
모던 JS 에선 eval 대체할 수 있는 문법 (new Function)이 많기 때문에, 모던 JS에선 잘 사용 안 함
-
eval 이용해 만든 코드는 외부 지역 변수에 접근 가능. 지양
-
use strict 적용 시 eval 은 자체 렉시컬 환경 가지므로 외부에서 eval에 접근 불가능
-
eval 이용해 외부 변수 접근 시 코드 압축기가 해당 변수 이름 변경하지 않으므로 코드 압축률에 부정적인 영향 끼치므로 지양
-
전역 스코프에서 eval 사용하지 말고 window.eval(code) 지향 (eval 코드 전역 스코프에서 실행)
-
외부 스코프에 데이터 필요할 시 new Function 의 인수에 코드 전달해 사용