JS Variable Error) 인터넷 익스플로러에서의 const와 let

반응형

 

서론

회사의 업무 절차는 현재 개발된 프로그램에 의해 IE로 작업을 진행한다.

때문에 우리 회사는 디버깅을 할 때 IE의 호환성의 여부를 가장 중요시 여긴다.

어느 순간, 내가 새로 추가한 코드로 인해 익스플로러에서 작동을 하지 않는다는 접수가 들어왔다.

문제가 무엇일까...?


IE에서의 const와 let

결론부터 말하면, 인터넷 익스플로러에서는 const와 let 타입의 변수 명시는 허용하지 않는다.

정확히 말하면 인터넷 익스플로러 10 이하에서 지원하지 않는다.

때문에 자바스크립트의 코드가 작동하지 않으며 오류가 발생하는 것이다.

인터넷 익스플로러까지 고려한 코드 설계를 하려면 IE 핵을 사용하거나,

아니면 마음편하게 var 로 변수를 명시하는 것이 마음 편하다.

 

  • IE Hack 포스팅 자세히 보러 가기

[Web Programming/html & css & xml] - CSS - Hack (브라우저 핵, IE용 CSS 핵, IE에서만 CSS 코드 실행하기)


테스트

  • 테스트 샘플 코드
    • 버튼을 누르면 헬로 월드가 출력되는 페이지
<!DOCTYPE html>
<html lang="ko">
<head>
    <meta charset="UTF-8">
    <script>
        function ieTest() {
          const txt = "Hello World!";
          alert(txt);
        }
    </script>
</head>
<body>
    <input type="button" value="테스트" onclick=ieTest()></input>
</body>
</html>

정상 작동

  • 크롬

 

  • 엣지

 

  • 인터넷 익스플로러 11
    • IE Chooser를 이용하여 IE 버전을 11로 설정


작동 안함

  • 인터넷 익스 플로러 5, 7, 8, 9, 10
    • IE Chooser를 이용하여 IE 버전을 각각의 버전으로 설정
    • 10 이하 버전은 모두 같이 작동하지 않으므로 이하 생략

 

  • 버튼을 눌러도 작동하지 않고 오류 출력

 

  • 구문 오류

 

  • const 부분에서 오류 발생. 즉, 지원하지 않음

반응형