eval()
eval()은 문자로 표현된 JavaScript 코드를 실행하는 함수이다.
MDN 사이트를 확인해보면 해당 문제로 사용을 권장하지 않는다. 절대 사용하지 말라는 문구까지 사용 할 정도이다.
그럼 eval()의 대체를 알아보자
new Function()
새 함수 객체를 만든다.
이 생성자를 직접 호출하여 동적으로 함수를 생성할 수도 있으나, 보안 문제 및 eval과 유사한(그러나 훨씬 덜 심각한) 성능 문제가 발생할 수 있다.
하지만 eval과 달리, Function 생성자는 전역 범위로 한정된 함수만 생성하기에 대체로 사용한다.
const icon1 = 'hi1'
const icon2 = 'hi2'
const icon3 = 'hi3'
const icon4 = 'hi4'
for(let i = 1 ; i <= 4 ; i++){
let a = (new Function("return " + `icon`+i))();
//console.log(eval("icon"+i));
console.log(a);
}
3. 출력값
728x90
'STUDY > JavaScript' 카테고리의 다른 글
[JavaScript] 서버사이드 렌더링 개념정리 (0) | 2022.11.28 |
---|---|
[JavaScript] Array(배열) JS 함수 정리(2) (0) | 2022.11.28 |
[JavaScript] ID , Class 제어 Element.id Element.className (0) | 2022.11.27 |
[JavaScript] 속성값 제어 Element.setAttribute() (0) | 2022.11.27 |
[JavaScript] 클래스 제어 classList() (0) | 2022.11.27 |
댓글