속성 접근자 사용
var obj = { a: 20, b: 30 };
var propname = getPropName(); // "a" 또는 "b"를 반환
var result = obj[ propname ]; // obj[ "a" ]는 obj.a와 동일함
eval()을 사용하면 안되는 이유
eval()은 인자로 받은 코드를 caller의 권한으로 수행하는 위험한 함수다.
악의적인 영향을 받았을 수 있는 문자열을 eval()로 실행한다면, 당신의 웹페이지나 확장 프로그램의 권한으로 사용자의 기기에서 악의적인 코드를 수행하는 결과를 초래할 수 있다.
또한, 제3자 코드가 eval()이 호출된 위치의 스코프를 볼 수 있으며, 이를 이용해 비슷한 함수인 Function으로는 실현할 수 없는 공격이 가능하다.
참고 사이트
https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/eval
https://koonsland.tistory.com/146
'Study > JavaScript' 카테고리의 다른 글
[JavaScript, JQuery] 파일 업로드 커스텀 버튼 사용하기 (0) | 2023.08.24 |
---|---|
[JavaScript] 자식창에서 부모창 제어 (0) | 2023.08.23 |
[JavaScript] Array.fill 과 Array.from 차이? (0) | 2022.08.30 |
[JavaScript] 정규 표현식, 정규식 (0) | 2022.06.16 |
[JavaScript] 논리 연산자로 변수에 값 할당하기 (0) | 2021.10.22 |