본문 바로가기

자바스크립트 문법 (5) eval( )함수

by Recstasy 2019. 5. 2.

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( )함수에서 문자열은 반드시 ' '를 사용하고, 객체의 프로퍼티는 " "를 사용한다는 점을 주의하자. 



댓글

최신글 전체

이미지
제목
글쓴이
등록일