JavaScript: 전역 변수와 지역 변수 명칭이 같을 경우의 위험성
JavaScript에서 전역 변수와 지역 변수의 명칭이 동일할 경우 예기치 못한 지점에서 undefined로 취급되는 문제가 발생할 수 있다. 간단한 소스 코드로 예를 들어 본다. 첫 번째 console.log(test)를 실행해 보면 콘솔에 당연히 'a'가 뜬다. func() 함수 안에서 console.log(test)를 찍어도 마찬가지로 test가 이미 선언된 전역 변수로 인식되어 마찬가지로 콘솔에 'a'가 뜬다. 하지만...
Java에서 JavaScript의 콜백 함수 구현하기
JavaScript에서는 콜백 함수(callback function: 잘 설명된 글 참조)가 빈번하게 쓰인다. JavaScript의 콜백 함수는 보통 다른 함수를 파라미터로 넘겨 받고, 특정 이벤트 이후에 파라미터로 넘겨 받은 다른 함수를 실행하는 식으로 작성한다. Java에서는 한 함수의 파라미터로 다른 함수를 넘길 수가 없다. 하지만 조금 복잡하긴 해도 콜백 함수를 구현하는 방법이 몇 가지...
Java에는 JavaScript의 eval() 함수 비슷한 게 없나?
결론부터 말하자면 없다. JavaScript(JS)의 eval() 함수는 파라미터로 넘긴 문자열(string)을 JS 소스 코드처럼 해석하여 그대로 실행하는 것이다. 그 특성상 보안 문제가 있으니 가급적 쓰지 말고 다른 방법으로 기능을 구현하는 것이 좋지만, 드물게 eval()이 아니면 써야 할 때가 있을 수 있다. Java에서는 JS의 eval()과 비슷하게 문자열(String)을 Java 소스 코드처럼 해석하여 그대로...