javascript Function() 생성자

  • Function()생성자를 사용하면 실행시점에 자바스크립트 코드를 동적으로 생성하고 컴파일할 수 있다. 이러한 점에서 Function() 생성자는 전역 함수인 eval() 함수와 유사하다.
  • Function()생성자는 호출될 때마다 함수 몸체를 파싱하고 새로운 함수 객체를 생성한다. 따라서 만약 생성자 호출이 루프안이나 자주 호출되는 함수 안에서 이루어진다면, 이러한 작업은 비효율적일 수 있다. 반면에 루프와 함수안의 함수 리터럴이나 중첩된 함수는 그것이 나타날 때마다 매번 다시 컴파일되지 않는다. 또한 함수 리터럴이 나타날 때마다 생성되는 함수는 서로 다른 함수 객체가 생성된 것이 아니다.
  • 끝으로 Function()생성자의 가장 중요한 점은 생성된 함수가 어휘적 유효범위를 사용하지 않는다는 것이다. 대신 Function()생성자에 의해 생성된 함수는 다음 코드에서 확인할 수 있듯이 마치 최상위 레벨의 함수인 것처럼 컴파일된다.

댓글

이 블로그의 인기 게시물

javascript ===, ==, >=, <=연산자

SQL oracle 내장함수[문자열 처리]

javascript 데이터 타입과 값