less than 1 minute read

  • eval(code) 호출 시 문자열 형태의 code 가 실행됨

  • 마지막 구문의 결과가 반환

  • 모던 JS 에선 eval 대체할 수 있는 문법 (new Function)이 많기 때문에, 모던 JS에선 잘 사용 안 함

  • eval 이용해 만든 코드는 외부 지역 변수에 접근 가능. 지양

  • use strict 적용 시 eval 은 자체 렉시컬 환경 가지므로 외부에서 eval에 접근 불가능

  • eval 이용해 외부 변수 접근 시 코드 압축기가 해당 변수 이름 변경하지 않으므로 코드 압축률에 부정적인 영향 끼치므로 지양

  • 전역 스코프에서 eval 사용하지 말고 window.eval(code) 지향 (eval 코드 전역 스코프에서 실행)

  • 외부 스코프에 데이터 필요할 시 new Function 의 인수에 코드 전달해 사용

Categories: ,

Updated: