eval( ) 함수를 사용하지 말자
eval 함수는 문자(string)안의 문법을 그대로 실행하게 해주는 함수다. 가령 `` eval( "console.log('실행')" );`` 구문을 실행한다면, 결과창에 '실행'이라는 글자가 그대로 찍혀 나온다. 웬만해선 eval()함수 사용을 자제하자.
그 이유는 다음과 같다.
1) 속도가 느려진다.
2) 제3자가 멋대로 스크립트를 실행하는 행위를 막을 수 없다. (보안상)
만일, eval( )함수를 사용해야 한다면, 반드시 JSON.parse( )를
사용하자.
[예제]
var data = JSON.parse( ' { "name" :
"대한민국" , "GDP" :
32000 } ' );
console.log( data.name );
JSON.parse( ) 함수는 ' ' 안의 String(문자열)을 자바스크립트 문법체계로 읽어들인다.
따라서 console.log( ) 안에 문자열인 data 객체를 넣으면, '대한민국'이란 값이 나온다.
여기서 주의할 점은 따옴표다. JSON.parse( )함수에서 문자열은 반드시 ' '를 사용하고, 객체의 프로퍼티는 " "를 사용한다는 점을 주의하자.
'코드 스터디' 카테고리의 다른 글
자바스크립트 문법(7) 함수의 반환값 (0) | 2019.05.06 |
---|---|
자바스크립트 문법 (6) 화살표 함수 (0) | 2019.05.03 |
three.js 12편 재질, 3D 코딩하기 (0) | 2019.05.02 |
Three.js 11편 웹에서 3D Text작성하기 (0) | 2019.05.01 |
자바스크립트 문법 (4) Map / Set (0) | 2019.05.01 |
댓글