IE에서 const,let 사용오류 관련 질문입니다.
본문
$(function(){
const app = (() => {
let body;
let menu;
let menuItems;
const init = () => {
body = document.querySelector('body');
menu = document.querySelector('.menu-icon');
menuItems = document.querySelectorAll('.nav__list-item');
applyListeners();
};
const applyListeners = () => {
menu.addEventListener('click', () => toggleClass(body, 'nav-active'));
};
const toggleClass = (element, stringClass) => {
if (element.classList.contains(stringClass))
element.classList.remove(stringClass);else
element.classList.add(stringClass);
};
init();
})();
});
안녕하세요.
크롬에서는 잘 작동되는 네비인데 익스플로러에서는 작동이 안되어서 콘솔에 보니 const 부분에 구문오류가 있다고 나오더라구요. 검색해보니 IE6미만은 const,let 지원이 안된다고 하는것 같은데.. var로 바꾸어봐도 작동이 안되어서 질문글 올려봅니다.,.
익스플로러에서도 작동하게 하려면 어떻게 수정해야될까요...?
조언부탁드립니다.
!-->답변 3
화살표 함수의 문제입니다.
IE 에서는 화살표 함수를 지원하지 않습니다.
화살표 함수를 일반 함수로 바꾸어 쓰세요.
const, let이 아닌 var를 사용
참고 자료
https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Statements/const
바벨js을 사용하는것도 하나의 방법?
답변을 작성하시기 전에 로그인 해주세요.