TIL

TIL - 20220818

Lee Jaeyoon2 2022. 8. 18. 12:05

 오늘은 모던 JavaScript 튜토리얼에서 Eval: 문자열 코드 실행하기에 대해 공부했다. 작성한 질문은 다음과 같다.

 

 eval은 문자열 형태의 코드를 실행하는 JavaScript 내장 함수이다.

let code = 'alert("Hello")';
eval(code); // Hello

 

 모던 프로그래밍에서 eval을 사용하지 않는 이유는 과거 JavaScript에 쓸 수 있는 기능이 많지 않아서 eval을 사용해야만 처리할 수 있는 것들이 많았다. 하지만 지금은 eval을 사용하지 않아도 처리할 수 있기 때문에 eval을 쓸 이유가 없다. 또한, eval은 외부 변수 접근 시 부작용이 발생할 수 있다.

 

 오늘은 전설로만 듣던 eval에 대해 공부했다. eval은 외부 변수 접근 시 부작용이 발생할 수 있다는 점과 과거에는 기능이 부족해서 eval을 사용해야만 처리할 수 있는 기능이 있었다는 점을 통해 과거엔 eval을 왜 썼고 지금은 eval을 왜 안 쓰는지에 대한 답을 얻어서 좋았다.