티스토리 뷰

global.a = 0;

{
 const a = 1;
 
 const test = new Function('return a');
 
 console.log(test());

}

{
  const a = 2;
 
  const test = function() {
 	return a;
  };
 
  console.log(test());
 }

new Function을 통해서 함수를 만들게 되면 코드블럭 안에 있는 const a =1의 값을 return 하는 것이 아니라

전역적으로 선언 되어있는 global.a를 return을 하게 된다.

반면에 그냥 function으로 만든 함수를 실행하게 되면 코드블럭 안에서 만들어준 const a = 2의 값을 리턴을 해줍니다.

필요에 따라서 사용을 하면 되겠지만 내 생각에는 new Function을 사용하는 것보다는 그냥 function을 사용하는 것이

안정성과 다른 사람들이 내 코드를 보고 이해하기에는 편할 것 같다.

'온라인강의정리하기 > JS' 카테고리의 다른 글

비구조화 할당  (0) 2021.08.18
선언적 함수와 익명 함수의 차이점 + arrow함수  (0) 2019.10.29
JavaScript 객체  (0) 2019.08.29
JavaScript의 조건문  (0) 2019.08.29
JavaScript 연산자 기초  (0) 2019.08.29
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/09   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
글 보관함